Authored by wangtao

故障公共函数

@@ -37,9 +37,30 @@ let delRuleAdvanced = (idList) => { @@ -37,9 +37,30 @@ let delRuleAdvanced = (idList) => {
37 } 37 }
38 38
39 39
  40 +/**
  41 + * 诊断业务场景列表
  42 + * @param params
  43 + * @returns {Promise<*>}
  44 + */
  45 +let getFaultBusinessList = (params) => {
  46 + return get('/api-web/fault/result/businessList', params);
  47 +}
  48 +
  49 +
  50 +/**
  51 + * 诊断指标列表
  52 + * @param idList
  53 + * @returns {Promise<*>}
  54 + */
  55 +let getFaultKpiList = (params) => {
  56 + return get('/api-web/fault/result/kpiList', params);
  57 +}
  58 +
40 export default { 59 export default {
41 getRuleAdvanced, 60 getRuleAdvanced,
42 getFaultList, 61 getFaultList,
43 saveOrUpdateRuleAdvanced, 62 saveOrUpdateRuleAdvanced,
44 - delRuleAdvanced 63 + delRuleAdvanced,
  64 + getFaultBusinessList,
  65 + getFaultKpiList
45 } 66 }
@@ -23,6 +23,12 @@ export default { @@ -23,6 +23,12 @@ export default {
23 delRuleAdvanced(context, ids) { 23 delRuleAdvanced(context, ids) {
24 return faultDiagnosisApi.delRuleAdvanced(ids); 24 return faultDiagnosisApi.delRuleAdvanced(ids);
25 }, 25 },
  26 + getFaultBusinessList(context, params){
  27 + return faultDiagnosisApi.getFaultBusinessList(params);
  28 + },
  29 + getFaultKpiList(context, params){
  30 + return faultDiagnosisApi.getFaultKpiList(params);
  31 + },
26 32
27 } 33 }
28 }; 34 };
@@ -79,21 +79,15 @@ @@ -79,21 +79,15 @@
79 <img src="../src/style/img/fault/base/CPU-green.png"><br/> 79 <img src="../src/style/img/fault/base/CPU-green.png"><br/>
80 {{item.cpu}} 80 {{item.cpu}}
81 </el-col> 81 </el-col>
82 - <el-col :span="1" style="line-height: 36px;color: gainsboro;">  
83 - </el-col>  
84 - <el-col :span="4" class="align-center"> 82 + <el-col :span="5" class="align-center">
85 <img src="../src/style/img/fault/base/men.png"><br/> 83 <img src="../src/style/img/fault/base/men.png"><br/>
86 {{item.men}}% 84 {{item.men}}%
87 </el-col> 85 </el-col>
88 - <el-col :span="1" style="line-height: 36px;color: gainsboro;">  
89 - </el-col>  
90 - <el-col :span="4" class="align-center"> 86 + <el-col :span="5" class="align-center">
91 <img src="../src/style/img/fault/base/alarm.png"><br/> 87 <img src="../src/style/img/fault/base/alarm.png"><br/>
92 {{item.alarm}} 88 {{item.alarm}}
93 </el-col> 89 </el-col>
94 - <el-col :span="1" style="line-height: 36px;color: gainsboro;">  
95 - </el-col>  
96 - <el-col :span="4" class="align-center"> 90 + <el-col :span="5" class="align-center">
97 <img src="../src/style/img/fault/base/time-green.png"><br/> 91 <img src="../src/style/img/fault/base/time-green.png"><br/>
98 {{item.collTime}} 92 {{item.collTime}}
99 </el-col> 93 </el-col>
  1 +import store from '/vue3/src/store/index.js';
  2 +
1 /** 3 /**
2 * 折线图 4 * 折线图
3 * <p> 5 * <p>
@@ -246,14 +248,29 @@ const faultEvent = () => { @@ -246,14 +248,29 @@ const faultEvent = () => {
246 }, params); 248 }, params);
247 } 249 }
248 250
  251 + /**
  252 + * 展示告警弹框
  253 + * @param emit
  254 + * @param params
  255 + */
249 const sendEventAlarmDialog = (emit, params) => { 256 const sendEventAlarmDialog = (emit, params) => {
250 emit('openDialog', 'alarm', getParams(params)); 257 emit('openDialog', 'alarm', getParams(params));
251 } 258 }
252 259
  260 + /**
  261 + * 展示资源列表弹框
  262 + * @param emit
  263 + * @param params
  264 + */
253 const sendEventResListDialog = (emit, params) => { 265 const sendEventResListDialog = (emit, params) => {
254 emit('openDialog', 'resList', getParams(params)); 266 emit('openDialog', 'resList', getParams(params));
255 } 267 }
256 268
  269 + /**
  270 + * 展示性能曲线图
  271 + * @param emit
  272 + * @param params
  273 + */
257 const sendEventLineDialog = (emit, params) => { 274 const sendEventLineDialog = (emit, params) => {
258 emit('openDialog', 'line', getParams(params)); 275 emit('openDialog', 'line', getParams(params));
259 } 276 }
@@ -272,13 +289,14 @@ const faultEvent = () => { @@ -272,13 +289,14 @@ const faultEvent = () => {
272 289
273 var obj = { 290 var obj = {
274 columns: [{ 291 columns: [{
275 - prop: 'shortName', 292 + prop: 'taskName',
276 width: 220, 293 width: 220,
277 label: '名称', 294 label: '名称',
278 }], 295 }],
279 data: [] 296 data: []
280 } 297 }
281 298
  299 + // TODO 数据需要适配
282 arr.forEach(function (list) { 300 arr.forEach(function (list) {
283 var dataItem = {}; 301 var dataItem = {};
284 list.forEach(function (listItem) { 302 list.forEach(function (listItem) {
@@ -286,8 +304,8 @@ const faultEvent = () => { @@ -286,8 +304,8 @@ const faultEvent = () => {
286 var kpiName = listItem.kpiName; 304 var kpiName = listItem.kpiName;
287 var val = listItem.diagnosisResult; 305 var val = listItem.diagnosisResult;
288 306
289 - var colArr = obj.columns.filter((e) =>{  
290 - if(e.prop == kpiId){ 307 + var colArr = obj.columns.filter((e) => {
  308 + if (e.prop == kpiId) {
291 return e; 309 return e;
292 } 310 }
293 }) 311 })
@@ -299,7 +317,7 @@ const faultEvent = () => { @@ -299,7 +317,7 @@ const faultEvent = () => {
299 } 317 }
300 318
301 dataItem[kpiId] = val; 319 dataItem[kpiId] = val;
302 - dataItem['shortName'] = listItem.shortName; 320 + dataItem['taskName'] = listItem.shortName;
303 321
304 }); 322 });
305 obj.data.push(dataItem); 323 obj.data.push(dataItem);
@@ -308,11 +326,80 @@ const faultEvent = () => { @@ -308,11 +326,80 @@ const faultEvent = () => {
308 emit('openDialog', 'more', {}, obj); 326 emit('openDialog', 'more', {}, obj);
309 } 327 }
310 328
  329 +
  330 + /**
  331 + * 诊断业务场景
  332 + * @param emit
  333 + * @param faultNo 故障编号
  334 + * @param targetType 诊断类型
  335 + * @param columns 数组,表格列对象
  336 + */
  337 + const sendEventDiagnoseBusinessScenarios = (emit, faultNo, targetType, columns) => {
  338 +
  339 + var obj = {
  340 + columns: columns,
  341 + data: []
  342 + }
  343 +
  344 + store.dispatch('getFaultBusinessList', {faultNo: faultNo, targetType: targetType}).then((res) => {
  345 + if (res && res.success) {
  346 + obj.data = res.data;
  347 + emit('openDialog', 'more', obj);
  348 + }
  349 + });
  350 + }
  351 +
  352 +
  353 + /**
  354 + * 诊断指标
  355 + * @param emit
  356 + * @param faultNo 故障编号
  357 + * @param targetType 诊断类型
  358 + * @param columns 数组,表格列对象
  359 + */
  360 + const sendEventDiagnoseKpiList = (emit, faultNo, targetType) => {
  361 +
  362 + var obj = {
  363 + columns: columns,
  364 + data: [{
  365 + prop: 'kpiId',
  366 + label: "指标ID",
  367 + },{
  368 + prop: 'kpiName',
  369 + label: "指标名称",
  370 + },{
  371 + prop: 'kpiIdent',
  372 + label: "指标分类",
  373 + render:function (row) {
  374 + if (row.kpiIdent == 3) {
  375 + return '告警指标';
  376 + } else if (row.kpiIdent == 2) {
  377 + return '状态指标';
  378 + } else if (row.kpiIdent == 1) {
  379 + return '性能指标';
  380 + } else {
  381 + return '基本指标';
  382 + }
  383 + }
  384 + }]
  385 + }
  386 +
  387 + store.dispatch('getFaultKpiList', {faultNo: faultNo, targetType: targetType}).then((res) => {
  388 + if (res && res.success) {
  389 + obj.data = res.data;
  390 + emit('openDialog', 'more', obj);
  391 + }
  392 + });
  393 +
  394 + }
  395 +
311 return { 396 return {
312 sendEventAlarmDialog, 397 sendEventAlarmDialog,
313 sendEventResListDialog, 398 sendEventResListDialog,
314 sendEventLineDialog, 399 sendEventLineDialog,
315 - sendEventMoreDialog 400 + sendEventMoreDialog,
  401 + sendEventDiagnoseBusinessScenarios,
  402 + sendEventDiagnoseKpiList
316 403
317 } 404 }
318 405
@@ -324,7 +411,7 @@ const getFaultItemValue = (obj, key, defaultVal) => { @@ -324,7 +411,7 @@ const getFaultItemValue = (obj, key, defaultVal) => {
324 defaultVal = 0; 411 defaultVal = 0;
325 } 412 }
326 413
327 - if(!obj){ 414 + if (!obj) {
328 return defaultVal; 415 return defaultVal;
329 } 416 }
330 417