Authored by XuHaoJie

Merge branch 'master' of http://113.200.75.45:82/monitor_v3/hg-monitor-web into master-V32-XuHaoJie

@@ -637,7 +637,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', @@ -637,7 +637,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common',
637 field: 'alarmNo', title: '告警编号', align: 'center', width: 140, sort: true, 637 field: 'alarmNo', title: '告警编号', align: 'center', width: 140, sort: true,
638 } 638 }
639 , { 639 , {
640 - field: 'resName', title: '资源名称', width: 250, sort: true, 640 + field: 'resName', title: '资源名称', width: 230, sort: true,
641 templet:` 641 templet:`
642 <div> 642 <div>
643 <div style="display: flex;align-items: center;"> 643 <div style="display: flex;align-items: center;">
@@ -1718,9 +1718,24 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' @@ -1718,9 +1718,24 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', '
1718 $('table tr').hover(function (obj) { 1718 $('table tr').hover(function (obj) {
1719 $(obj.currentTarget).find('.reslist-view-topo').removeClass('hide'); 1719 $(obj.currentTarget).find('.reslist-view-topo').removeClass('hide');
1720 $(obj.currentTarget).find('.reslist-assets-details').removeClass('hide'); 1720 $(obj.currentTarget).find('.reslist-assets-details').removeClass('hide');
  1721 + // Start 资源视图中的资源名称在表格中溢出时给最大宽度限制-更改单元格溢出时的tip跑到左上角 LSQ 2022/1/6
  1722 + var w=$(obj.currentTarget).find('#res-div span').innerWidth();
  1723 + var spanMaxW=parseInt($(obj.currentTarget).find('#res-div span').css('max-width'));
  1724 + //-20是一个图标的宽度,若要增加图标,这里的20需要增加
  1725 + var maxW=(w-20)+'px';
  1726 + if(w+15>=spanMaxW){
  1727 + $(obj.currentTarget).find('#res-div span').css('max-width',maxW)
  1728 + }
1721 }, function (obj) { 1729 }, function (obj) {
1722 $(obj.currentTarget).find('.reslist-view-topo').addClass('hide'); 1730 $(obj.currentTarget).find('.reslist-view-topo').addClass('hide');
1723 $(obj.currentTarget).find('.reslist-assets-details').addClass('hide'); 1731 $(obj.currentTarget).find('.reslist-assets-details').addClass('hide');
  1732 + var w=$(obj.currentTarget).find('#res-div span').innerWidth();
  1733 + var spanMaxW=parseInt($(obj.currentTarget).find('#res-div span').css('max-width'));
  1734 + var maxW=(w+20)+'px';
  1735 + if(w+15>=spanMaxW){
  1736 + $(obj.currentTarget).find('#res-div span').css('max-width',maxW)
  1737 + }
  1738 + //End LSQ 2022/1/6
1724 }) 1739 })
1725 1740
1726 // 加入/移出收藏夹 1741 // 加入/移出收藏夹
@@ -595,8 +595,13 @@ @@ -595,8 +595,13 @@
595 595
596 <!--资源名称--> 596 <!--资源名称-->
597 <script type="text/html" id="resindex_resName"> 597 <script type="text/html" id="resindex_resName">
598 - <div>  
599 - <span lay-tips="{{ d.resName }}" style="float: left;width: 180px;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;display: inline-block;" data-zymc="{{ d.resId }}" data-restype="{{d.resType}}" data-name="{{d.resName}}" data-childrennum="{{d.childrenNum}}" data-ip="{{ d.ip }}" data-resTypeName="{{ d.resTypeName }}" data-admin="{{ d.admin }}" data-adminname="{{ d.adminName }}" data-pingenable="{{d.pingEnable}}" data-manageIp="{{d.manageIp}}" data-collProtocol="{{d.collProtocol}}" data-provider="{{d.provider}}" data-state="{{d.state}}" class="layui-table-link">{{ d.resName }}</span> 598 + <!-- 更改单元格溢出时的tip跑到左上角 LSQ 2022/1/6-->
  599 + <div id="res-div">
  600 + {{# var w=$("[lay-id='resListTable'] table thead th[data-field='resName']").data('minwidth');
  601 + var maxW=(w-45)+'px';
  602 + var styleW="float: left;max-width: "+maxW+";overflow: hidden; text-overflow: ellipsis; white-space: nowrap;display: inline-block;";
  603 + }}
  604 + <span lay-tips="{{ d.resName }}" style="{{styleW}}" data-zymc="{{ d.resId }}" data-restype="{{d.resType}}" data-name="{{d.resName}}" data-childrennum="{{d.childrenNum}}" data-ip="{{ d.ip }}" data-resTypeName="{{ d.resTypeName }}" data-admin="{{ d.admin }}" data-adminname="{{ d.adminName }}" data-pingenable="{{d.pingEnable}}" data-manageIp="{{d.manageIp}}" data-collProtocol="{{d.collProtocol}}" data-provider="{{d.provider}}" data-state="{{d.state}}" class="layui-table-link">{{ d.resName }}</span>
600 {{# if (d.favId == null) { }} 605 {{# if (d.favId == null) { }}
601 <a class="layui-icon layui-icon-rate hide" data-favid="{{d.favId}}" data-id="{{d.resId}}" lay-tips="加入收藏夹" style="font-size: 14px"></a> 606 <a class="layui-icon layui-icon-rate hide" data-favid="{{d.favId}}" data-id="{{d.resId}}" lay-tips="加入收藏夹" style="font-size: 14px"></a>
602 {{# } else { }} 607 {{# } else { }}
1 <div style="display: flex"> 1 <div style="display: flex">
2 - <div @click="openDetail" style="cursor:pointer;width: calc(100% - 25px)">{{textString}}</div> 2 + <div @click="openCmdbAssets" style="cursor:pointer;width: calc(100% - 25px)">{{textString}}</div>
3 <el-dropdown style="width: 25px"> 3 <el-dropdown style="width: 25px">
4 <span class="el-dropdown-link" style="cursor:pointer;"> 4 <span class="el-dropdown-link" style="cursor:pointer;">
5 <i class="el-icon-more" style="color: blue;font-weight: bold;" /> 5 <i class="el-icon-more" style="color: blue;font-weight: bold;" />
@@ -12,8 +12,8 @@ @@ -12,8 +12,8 @@
12 <el-dropdown-item v-if="topo" title="拓扑" @click="openTopoPage"> 12 <el-dropdown-item v-if="topo" title="拓扑" @click="openTopoPage">
13 <i class="iconfont icon-wangluotuopu" style="color: #FEB61E"/>拓扑 13 <i class="iconfont icon-wangluotuopu" style="color: #FEB61E"/>拓扑
14 </el-dropdown-item> 14 </el-dropdown-item>
15 - <el-dropdown-item v-if="assets" title="资产" @click="openCmdbAssets">  
16 - <i class="iconfont icon-assets" style="color: #FEB61E"/>资产 15 + <el-dropdown-item v-if="assets" title="资产" @click="openDetail">
  16 + <i class="iconfont icon-assets" style="color: #FEB61E"/>详情
17 </el-dropdown-item> 17 </el-dropdown-item>
18 </el-dropdown-menu> 18 </el-dropdown-menu>
19 </template> 19 </template>
@@ -179,23 +179,27 @@ @@ -179,23 +179,27 @@
179 <cm-dialog :title="`${currentNode.label}类型属性配置`" width="500px" :showDialogVisible="treeNodeDialogFlg" @hidedialog="showTreeNodeDialog" @okfunc="saveTreeNodeConfig"> 179 <cm-dialog :title="`${currentNode.label}类型属性配置`" width="500px" :showDialogVisible="treeNodeDialogFlg" @hidedialog="showTreeNodeDialog" @okfunc="saveTreeNodeConfig">
180 <template v-slot> 180 <template v-slot>
181 <el-form 181 <el-form
182 - label-width="120px"  
183 ref="ruleForm" 182 ref="ruleForm"
184 :model="treeNodeForm" 183 :model="treeNodeForm"
185 :rules="treeNodeFormRules" 184 :rules="treeNodeFormRules"
186 label-position="right" 185 label-position="right"
187 - label-width="120px"> 186 + label-width="150px">
188 187
189 <el-form-item label="配置信息" prop="name"> 188 <el-form-item label="配置信息" prop="name">
190 <el-input :size="$global.elementSize" v-model="treeNodeForm.options" clearable ></el-input> 189 <el-input :size="$global.elementSize" v-model="treeNodeForm.options" clearable ></el-input>
191 </el-form-item> 190 </el-form-item>
  191 + <el-form-item label="CMDB资源类型ID" prop="name">
  192 + <el-input :size="$global.elementSize" v-model="treeNodeForm.cmdbResTypeId" clearable ></el-input>
  193 + </el-form-item>
192 194
193 <!--<el-form-item label="详情页配置函数" prop="type"> 195 <!--<el-form-item label="详情页配置函数" prop="type">
194 <el-input :size="$global.elementSize" v-model="treeNodeForm.detailFunc" type="textarea" clearable></el-input> 196 <el-input :size="$global.elementSize" v-model="treeNodeForm.detailFunc" type="textarea" clearable></el-input>
195 </el-form-item>--> 197 </el-form-item>-->
196 198
197 - <el-form-item label="查询视图" prop="sort">  
198 - <el-input :size="$global.elementSize" v-model="treeNodeForm.veiwName" clearable readonly></el-input> 199 +
  200 +
  201 + <el-form-item label="查询视图" prop="veiwname">
  202 + <el-input :size="$global.elementSize" v-model="treeNodeForm.veiwname" clearable readonly></el-input>
199 </el-form-item> 203 </el-form-item>
200 204
201 </el-form> 205 </el-form>
@@ -40,7 +40,6 @@ let configPageEdit = (columns, currentNode) => { @@ -40,7 +40,6 @@ let configPageEdit = (columns, currentNode) => {
40 row.colTypeExtend = ''; 40 row.colTypeExtend = '';
41 return; 41 return;
42 } 42 }
43 -  
44 let params = { 43 let params = {
45 resTypeId: currentNode.value.id, 44 resTypeId: currentNode.value.id,
46 colType: row.colType, 45 colType: row.colType,
@@ -152,7 +151,8 @@ const treeNodeConfig = (currentNode) => { @@ -152,7 +151,8 @@ const treeNodeConfig = (currentNode) => {
152 let treeNodeDialogFlg = Vue.ref(false); 151 let treeNodeDialogFlg = Vue.ref(false);
153 let treeNodeForm = Vue.ref({ 152 let treeNodeForm = Vue.ref({
154 options: '', 153 options: '',
155 - veiwName: '' 154 + veiwname: '',
  155 + cmdbResTypeId:''
156 }); 156 });
157 157
158 let treeNodeFormRules = Vue.ref({}); 158 let treeNodeFormRules = Vue.ref({});
@@ -168,7 +168,8 @@ const treeNodeConfig = (currentNode) => { @@ -168,7 +168,8 @@ const treeNodeConfig = (currentNode) => {
168 treeNodeForm.value = { 168 treeNodeForm.value = {
169 id: currentNode.value.id, 169 id: currentNode.value.id,
170 options: currentNode.value.map.options, 170 options: currentNode.value.map.options,
171 - veiwName: currentNode.value.map.veiwName 171 + veiwname: currentNode.value.map.veiwName,
  172 + cmdbResTypeId: currentNode.value.map.cmdbResTypeId,
172 } 173 }
173 } 174 }
174 treeNodeDialogFlg.value = flg; 175 treeNodeDialogFlg.value = flg;
@@ -335,6 +336,7 @@ export default { @@ -335,6 +336,7 @@ export default {
335 } 336 }
336 currentNode.value = data; 337 currentNode.value = data;
337 getConfigData(); 338 getConfigData();
  339 + getColType({});
338 } 340 }
339 } 341 }
340 342
@@ -320,6 +320,7 @@ export default { @@ -320,6 +320,7 @@ export default {
320 let getPageInfo = ({page, limit}) => { 320 let getPageInfo = ({page, limit}) => {
321 searchForm.value.page = page; 321 searchForm.value.page = page;
322 searchForm.value.pageSize = limit; 322 searchForm.value.pageSize = limit;
  323 +debugger
323 // 下一页搜索 324 // 下一页搜索
324 getPage(); 325 getPage();
325 } 326 }
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 <el-form :inline="true" :model="searchForm" class="demo-form-inline"> 15 <el-form :inline="true" :model="searchForm" class="demo-form-inline">
16 <el-form-item v-for="searchInfo in obj.searchList" :label="searchInfo.name"> 16 <el-form-item v-for="searchInfo in obj.searchList" :label="searchInfo.name">
17 <el-input v-if="searchInfo.type == 'INPUT'" v-model="searchForm[searchInfo.key]" :placeholder="'请输入' + searchInfo.name"></el-input> 17 <el-input v-if="searchInfo.type == 'INPUT'" v-model="searchForm[searchInfo.key]" :placeholder="'请输入' + searchInfo.name"></el-input>
18 - <el-select v-else v-model="searchForm[searchInfo.key]" :placeholder="'请选择' + searchInfo.name" clearable > 18 + <el-select v-else v-model="searchForm[searchInfo.key]" :placeholder="'请选择' + searchInfo.name" clearable filterable >
19 <el-option 19 <el-option
20 v-for="item in searchItem[searchInfo.key]" 20 v-for="item in searchItem[searchInfo.key]"
21 :key="item.val" 21 :key="item.val"