Authored by 鲁尚清

详细表格组件修改

@@ -201,10 +201,12 @@ export const monitorDetailTable = { @@ -201,10 +201,12 @@ export const monitorDetailTable = {
201 required: false, 201 required: false,
202 placeholder: '', 202 placeholder: '',
203 value: [ 203 value: [
204 - {name: '日期', key: 'date', width: '50%'},  
205 - {name: '姓名', key: 'name', width: '50%'},  
206 - {name: '地址', key: 'address', width: '200%',  
207 - }] 204 + {name: '文件系统挂载', key: 'fileAddress', width: '50%',kpiIdent:0,isWarning:0},
  205 + {name: '文件系统使用率', key: 'fileUseRate', width: '50%',isWarning:1,kpiIdent:0},
  206 + {name: '文件系统总大小', key: 'fileSize', width: '50%',kpiIdent:1,isWarning:0},
  207 + {name: '文件系统已使用大小', key: 'fileSizeUsed', width: '50%',kpiIdent:1,isWarning:0},
  208 + {name: '卷名称', key: 'fileAddressName', width: '50%',kpiIdent:0,isWarning:0},
  209 + ]
208 } 210 }
209 ], 211 ],
210 data: [ 212 data: [
@@ -244,13 +246,12 @@ export const monitorDetailTable = { @@ -244,13 +246,12 @@ export const monitorDetailTable = {
244 relactiveDom: 'dataType', 246 relactiveDom: 'dataType',
245 relactiveDomValue: 'staticData', 247 relactiveDomValue: 'staticData',
246 value: [ 248 value: [
247 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0001'},  
248 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0002'},  
249 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0003'},  
250 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0004'},  
251 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0005'},  
252 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0006'},  
253 - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0007'}, 249 + {fileAddress: '/', fileUseRate: '99%', fileSize: '196.74',fileSizeUsed:'184',fileAddressName:'/dev/vda1'},
  250 + {fileAddress: '/dev', fileUseRate: '0%', fileSize: '15.74',fileSizeUsed:'0.00',fileAddressName:'devtmpfs'},
  251 + {fileAddress: '/run', fileUseRate: '1%', fileSize: '15.32',fileSizeUsed:'0.14',fileAddressName:'tmpfs'},
  252 + {fileAddress: '/run/user/0', fileUseRate: '0%', fileSize: '3.74',fileSizeUsed:'10',fileAddressName:'tmpfs'},
  253 + {fileAddress: '/run/user/0001', fileUseRate: '2', fileSize: '3.69',fileSizeUsed:'1.23',fileAddressName:'tmpfs'},
  254 +
254 ], 255 ],
255 }, 256 },
256 { 257 {
1 <template> 1 <template>
2 - <div :style="styleObj"> 2 + <div :style="styleObj" @click="closePressingDialog">
3 <superslide v-if="hackReset" :options="options" class="txtScroll-top"> 3 <superslide v-if="hackReset" :options="options" class="txtScroll-top">
4 <!--表头--> 4 <!--表头-->
5 <div class="title"> 5 <div class="title">
@@ -20,14 +20,30 @@ @@ -20,14 +20,30 @@
20 :key="idx" 20 :key="idx"
21 :style="[bodyTableStyle, bodyTable(index),tableFiledWidth(idx),tableRowHeight()]" 21 :style="[bodyTableStyle, bodyTable(index),tableFiledWidth(idx),tableRowHeight()]"
22 > 22 >
23 - {{ item[itemChild.key] }}  
24 - <div class="basic-img">  
25 - <img src="@/assets/images/healthStatus/icon_row_menu.png" alt="" @click.stop="pressingTimes">  
26 - <div class="info-ul" v-if="pressingVisible">  
27 - <div class="basic-pressing-times" @click="pressingDialog" v-for="i in 4">  
28 - <i class="el-icon-link"></i>压制次数 23 + <span :class="['listName',{'listName-link':itemChild.kpiIdent==1 || itemChild.isWarning==1}]">{{ item[itemChild.key] }}</span>
  24 + <div class="basic-img" v-if="itemChild.kpiIdent==1 || itemChild.isWarning==1">
  25 + <el-popover ref="popoverMenu" placement="right" trigger="click" :auto-close="200">
  26 + <template #reference>
  27 + <img class="info-img" src="@/assets/images/healthStatus/icon_row_menu.png" alt="" @click.stop="pressingTimes(index,idx)">
  28 + </template>
  29 + <!-- <div class="info-ul" v-if="pressingVisible==index+'-'+idx">-->
  30 + <div class="info-ul" style="width:140px;" >
  31 + <div class="basic-pressing-times" @click="pressingDialog(index,idx)" v-for="item in detailMenubox">
  32 + <i class="el-icon-link icon-div"></i>{{item.name}}
  33 + </div>
29 </div> 34 </div>
30 - </div> 35 + </el-popover>
  36 +<!-- <el-tooltip placement="top" effect="dark" >
  37 + <template #content>
  38 + <div class="info-ul" style="width:140px;" >
  39 + <div class="basic-pressing-times" @click="pressingDialog" v-for="item in detailMenubox">
  40 + <i class="el-icon-link icon-div"></i>{{item.name}}
  41 + </div>
  42 + </div>
  43 + </template>
  44 + <img class="info-img" src="@/assets/images/healthStatus/icon_row_menu.png" alt="" @click.stop="pressingTimes(index,idx)">
  45 + </el-tooltip>-->
  46 +
31 47
32 </div> 48 </div>
33 </div> 49 </div>
@@ -49,6 +65,7 @@ export default { @@ -49,6 +65,7 @@ export default {
49 }, 65 },
50 data() { 66 data() {
51 return { 67 return {
  68 + popoverVisible:false,
52 hackReset: true, 69 hackReset: true,
53 options: { 70 options: {
54 titCell: ".hd ul", 71 titCell: ".hd ul",
@@ -65,8 +82,34 @@ export default { @@ -65,8 +82,34 @@ export default {
65 optionsSetUp: {}, 82 optionsSetUp: {},
66 optionsPosition: {}, 83 optionsPosition: {},
67 optionsData: {}, 84 optionsData: {},
68 - pressingVisible:false, 85 + pressingVisible:'',
69 isHover:false, 86 isHover:false,
  87 + detailMenubox:[
  88 + {
  89 + name:'告警设置',
  90 + type:'alarm_setting'
  91 + },
  92 + {
  93 + name:'过滤单指标',
  94 + type:'filter_sheet_indicator'
  95 + },
  96 + {
  97 + name:'过滤多指标',
  98 + type:'filter_multiple_indicators'
  99 + },
  100 + {
  101 + name:'性能趋势',
  102 + type:'performance_trends'
  103 + },
  104 + {
  105 + name:'压制次数',
  106 + type:'pressing_times'
  107 + },
  108 + {
  109 + name:'纳入容量预测',
  110 + type:'include_capacity_forecast'
  111 + }
  112 + ]
70 }; 113 };
71 }, 114 },
72 computed: { 115 computed: {
@@ -213,11 +256,24 @@ export default { @@ -213,11 +256,24 @@ export default {
213 return styleJson 256 return styleJson
214 }, 257 },
215 //表格下探 258 //表格下探
216 - pressingDialog(){ 259 + pressingDialog(index,idx){
  260 + let key=this.$refs.popoverMenu;
  261 + if(key && key.length>0){
  262 + key.map(item=>{
  263 + item.showPopper=false
  264 + })
  265 + }
  266 + console.log("&&&",)
  267 + // this.$refs.popoverMenu.showPopper = false;
  268 +
217 }, 269 },
218 - pressingTimes(){  
219 - this.pressingVisible=true; 270 + pressingTimes(index,idx){
  271 + console.log("albc",index,idx)
  272 + this.pressingVisible=index+'-'+idx;
220 }, 273 },
  274 + closePressingDialog(){
  275 + this.pressingVisible=false;
  276 + }
221 } 277 }
222 }; 278 };
223 </script> 279 </script>
@@ -266,28 +322,62 @@ export default { @@ -266,28 +322,62 @@ export default {
266 display: flex; 322 display: flex;
267 align-items: center; 323 align-items: center;
268 justify-content: center; 324 justify-content: center;
  325 + &:hover{
  326 + .basic-img{
  327 + display:flex ;
  328 + }
  329 + }
269 } 330 }
270 .basic-img{ 331 .basic-img{
271 - width: 16px;  
272 - height: 16px;  
273 - display: flex; 332 + /*display: flex;*/
  333 + display: none;
274 cursor: pointer; 334 cursor: pointer;
275 - img{  
276 - width:100%; 335 + .info-img{
  336 + width: 16px;
  337 + height: 16px;
  338 +
  339 + img{
  340 + width:100%;
  341 + }
277 } 342 }
  343 +
278 } 344 }
279 .info-ul{ 345 .info-ul{
280 - position: absolute; 346 + /*position: absolute;*/
281 border:1px solid #d2d2d2; 347 border:1px solid #d2d2d2;
282 - padding: 16px 20px;  
283 - z-index: 1; 348 + /*padding: 16px 20px;*/
  349 + padding-bottom: 5px;
  350 + z-index: 999999;
284 background: #ffffff; 351 background: #ffffff;
285 color:#666666; 352 color:#666666;
286 .basic-pressing-times{ 353 .basic-pressing-times{
  354 + line-height: 35px;
  355 + height: 35px;
  356 + cursor: pointer;
  357 + border-bottom: 1px solid #d2d2d2;
  358 + padding: 5px 16px;
  359 + text-align: center;
  360 + font-size: 14px;
  361 + font-weight: 500;
  362 + display: flex;
  363 + align-items: center;
  364 + justify-content: flex-start;
  365 + &:last-child{
  366 + border-bottom: none;
  367 + }
287 &:hover{ 368 &:hover{
288 background: #0d82e9; 369 background: #0d82e9;
289 color:#f6f6f6; 370 color:#f6f6f6;
290 } 371 }
  372 + .icon-div{
  373 + width: 14px;
  374 + }
291 } 375 }
  376 +
  377 +}
  378 +.listName-link{
  379 + cursor: pointer;
  380 + color:#0d82e9;
  381 + text-decoration: underline;
292 } 382 }
293 </style> 383 </style>