| | |
| | | { |
| | | 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(); |
| | | |
| | | // 删除数据库表里面对应的公司信息,并且再次刷新下拉框和树状图 |
| | | |
| | |
| | | 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(); |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | 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()); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | void ConverInfo2::createTreeNode(){ |
| | | // 先清除当前树上的所有节点 |
| | | ui->treeWidget->clear(); |
| | | |
| | | qDebug()<<"构建树形列表"<<m_treeNodes.size(); |
| | | for(auto iter=m_treeNodes.begin();iter != m_treeNodes.end();iter++) |
| | | { |
| | |
| | | // 存名字到单位树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; |
| | | |