Authored by 鲁尚清

【614】【资产视图】小型机整机类型属性配置--CMDB资源类型不能对其属性修改-确定保存配置后刷新树数据,设置当前选中的节点高亮显示 #1

@@ -5,7 +5,8 @@ @@ -5,7 +5,8 @@
5 <div style="text-align: left;padding-left: 10px;padding-top: 3px;font-weight: bold"> 5 <div style="text-align: left;padding-left: 10px;padding-top: 3px;font-weight: bold">
6 <el-link type="info" :underline="false"><i class="iconfont icon-liebiao"></i> 资源类型</el-link> 6 <el-link type="info" :underline="false"><i class="iconfont icon-liebiao"></i> 资源类型</el-link>
7 </div> 7 </div>
8 - <el-tree :data="treeData" :props="props" @node-click="handleConfigNodeClick"> 8 + <el-tree ref="resTree" node-key="id" :current-node-key="checkedKeys" :highlight-current="true"
  9 + :data="treeData" :props="props" @node-click="handleConfigNodeClick">
9 <template #default="{ node, data }"> 10 <template #default="{ node, data }">
10 {{node.label }} 11 {{node.label }}
11 </template> 12 </template>
@@ -197,10 +197,21 @@ const treeNodeConfig = (currentNode) => { @@ -197,10 +197,21 @@ const treeNodeConfig = (currentNode) => {
197 /** 197 /**
198 * 保存树节点配置 198 * 保存树节点配置
199 */ 199 */
  200 + //lsq 保存配置后刷新树数据 2022-06-17
  201 + //保存树节点配置前点击树节点的数据
  202 + let saveTreeNodeData=Vue.ref();
  203 + //选中的树节点数据
  204 + let checkedKeys=Vue.ref('');
200 let saveTreeNodeConfig = () => { 205 let saveTreeNodeConfig = () => {
201 proxy.$http.get(`/api-web/v32/res/config/saveTreeConfig`, treeNodeForm.value, function (res) { 206 proxy.$http.get(`/api-web/v32/res/config/saveTreeConfig`, treeNodeForm.value, function (res) {
202 if (res && res.success) { 207 if (res && res.success) {
203 - proxy.$global.showMsg("保存成功!") 208 + proxy.$global.showMsg("保存成功!");
  209 + showTreeNodeDialog(false)
  210 + proxy.loadTree();
  211 + setTimeout(function (){
  212 + proxy.$refs.resTree.setCurrentKey(saveTreeNodeData.value);
  213 + checkedKeys.value=saveTreeNodeData.value.id;
  214 + },300)
204 } 215 }
205 }); 216 });
206 } 217 }
@@ -213,7 +224,9 @@ const treeNodeConfig = (currentNode) => { @@ -213,7 +224,9 @@ const treeNodeConfig = (currentNode) => {
213 treeNodeFormRules, 224 treeNodeFormRules,
214 cmdbResTypeList, 225 cmdbResTypeList,
215 getCmdbResTypeList, 226 getCmdbResTypeList,
216 - cmdbSystemIsOpen 227 + cmdbSystemIsOpen,
  228 + saveTreeNodeData,
  229 + checkedKeys
217 } 230 }
218 } 231 }
219 232
@@ -340,7 +353,9 @@ export default { @@ -340,7 +353,9 @@ export default {
340 treeNodeFormRules, 353 treeNodeFormRules,
341 cmdbResTypeList, 354 cmdbResTypeList,
342 getCmdbResTypeList, 355 getCmdbResTypeList,
343 - cmdbSystemIsOpen 356 + cmdbSystemIsOpen,
  357 + saveTreeNodeData,
  358 + checkedKeys
344 } = treeNodeConfig(currentNode); 359 } = treeNodeConfig(currentNode);
345 360
346 const { 361 const {
@@ -367,12 +382,39 @@ export default { @@ -367,12 +382,39 @@ export default {
367 382
368 treeData.value = arr 383 treeData.value = arr
369 //treeData.value = res.data; 384 //treeData.value = res.data;
370 - currentNode.value = res.data[0]; 385 + //lsq 是否是保存了树节点配置后 2022-06-17
  386 + if( saveTreeNodeData.value && res.data){
  387 + let arr=res.data;
  388 + arr.map(item=>{
  389 + if(item.id==saveTreeNodeData.value.id){
  390 + currentNode.value = item;
  391 + }
  392 + if(item.children && item.children.length>0){
  393 + let obj=getTreeData(item.children,saveTreeNodeData.value.id)
  394 + currentNode.value=obj;
  395 + }
  396 + })
  397 + }else{
  398 + currentNode.value = res.data[0];
  399 + }
371 400
372 getConfigData(); 401 getConfigData();
373 } 402 }
374 }); 403 });
375 } 404 }
  405 + //lsq 循环比对树数据中的id 2022-06-17
  406 + let getTreeData=(children,id)=>{
  407 + let obj='';
  408 + children.map(item=>{
  409 + if(item.children && item.children.length>0){
  410 + getTreeData(item.children,id)
  411 + }
  412 + if(item.id==id){
  413 + obj= item
  414 + }
  415 + })
  416 + return obj;
  417 + }
376 418
377 let getConfigData = () => { 419 let getConfigData = () => {
378 if (currentNode.value) { 420 if (currentNode.value) {
@@ -422,6 +464,7 @@ export default { @@ -422,6 +464,7 @@ export default {
422 return; 464 return;
423 } 465 }
424 currentNode.value = data; 466 currentNode.value = data;
  467 + saveTreeNodeData.value=data;
425 getConfigData(); 468 getConfigData();
426 getColType({}); 469 getColType({});
427 } 470 }
@@ -585,13 +628,17 @@ export default { @@ -585,13 +628,17 @@ export default {
585 cmdbResTypeList, 628 cmdbResTypeList,
586 getCmdbResTypeList, 629 getCmdbResTypeList,
587 cmdbSystemIsOpen, 630 cmdbSystemIsOpen,
  631 + saveTreeNodeData,
  632 + checkedKeys,
588 633
589 // 机房配置 634 // 机房配置
590 machineRoomInfo, 635 machineRoomInfo,
591 getConfigList, 636 getConfigList,
592 machineRoomDialog, 637 machineRoomDialog,
593 showMachineRoomDialog, 638 showMachineRoomDialog,
594 - saveMachineRoomConfig 639 + saveMachineRoomConfig,
  640 +
  641 + loadTree
595 } 642 }
596 } 643 }
597 } 644 }