Authored by wangtao

获取诊断项的正常/异常列表

1 -import {get,post} from './BaseApi.js' 1 +import {get, post} from './BaseApi.js'
2 2
3 3
4 /** 4 /**
@@ -33,7 +33,7 @@ let saveOrUpdateRuleAdvanced = (params) => { @@ -33,7 +33,7 @@ let saveOrUpdateRuleAdvanced = (params) => {
33 * @returns {Promise<*>} 33 * @returns {Promise<*>}
34 */ 34 */
35 let delRuleAdvanced = (idList) => { 35 let delRuleAdvanced = (idList) => {
36 - return get('/api-web/fault/conf/rule/delRuleAdvanced', {idList:idList}); 36 + return get('/api-web/fault/conf/rule/delRuleAdvanced', {idList: idList});
37 } 37 }
38 38
39 39
@@ -56,11 +56,27 @@ let getFaultKpiList = (params) => { @@ -56,11 +56,27 @@ let getFaultKpiList = (params) => {
56 return get('/api-web/fault/result/kpiList', params); 56 return get('/api-web/fault/result/kpiList', params);
57 } 57 }
58 58
  59 +
  60 +/**
  61 + * 获取诊断项的正常/异常列表
  62 + * @param params {
  63 + * isAbnormal 是否异常0否1是
  64 + * resClass 基础资源传参
  65 + * targetType
  66 + * faultNo
  67 + * }
  68 + * @returns {Promise<*>}
  69 + */
  70 +let getFaultDiagnosticItemList = (params) => {
  71 + return get('/api-web/fault/result/normal', params);
  72 +}
  73 +
59 export default { 74 export default {
60 getRuleAdvanced, 75 getRuleAdvanced,
61 getFaultList, 76 getFaultList,
62 saveOrUpdateRuleAdvanced, 77 saveOrUpdateRuleAdvanced,
63 delRuleAdvanced, 78 delRuleAdvanced,
64 getFaultBusinessList, 79 getFaultBusinessList,
65 - getFaultKpiList 80 + getFaultKpiList,
  81 + getFaultDiagnosticItemList
66 } 82 }
@@ -29,6 +29,9 @@ export default { @@ -29,6 +29,9 @@ export default {
29 getFaultKpiList(context, params){ 29 getFaultKpiList(context, params){
30 return faultDiagnosisApi.getFaultKpiList(params); 30 return faultDiagnosisApi.getFaultKpiList(params);
31 }, 31 },
  32 + getFaultDiagnosticItemList(context, params){
  33 + return faultDiagnosisApi.getFaultDiagnosticItemList(params);
  34 + },
32 35
33 } 36 }
34 }; 37 };
@@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
64 64
65 65
66 <!-- 资源明细 --> 66 <!-- 资源明细 -->
67 -<cm-dialog top="3vh" title="更多" width="80%" :showDialogVisible="moreDialog" 67 +<cm-dialog top="3vh" :title="moreDialogTitle" width="80%" :showDialogVisible="moreDialog"
68 @hidedialog="showMoreDialog" :showFooter="false"> 68 @hidedialog="showMoreDialog" :showFooter="false">
69 <template v-slot> 69 <template v-slot>
70 <div> 70 <div>
@@ -92,10 +92,12 @@ export default { @@ -92,10 +92,12 @@ export default {
92 92
93 93
94 let moreDialog = Vue.ref(false); 94 let moreDialog = Vue.ref(false);
  95 + let moreDialogTitle = Vue.ref('更多');
95 let moreObj = Vue.ref({ 96 let moreObj = Vue.ref({
96 columns: [], 97 columns: [],
97 data: [] 98 data: []
98 }); 99 });
  100 +
99 const showMoreDialog = (flg, obj) => { 101 const showMoreDialog = (flg, obj) => {
100 moreDialog.value = flg; 102 moreDialog.value = flg;
101 103
@@ -152,6 +154,7 @@ export default { @@ -152,6 +154,7 @@ export default {
152 service.openLine(proxy, faultNo, targetType, resId, kpiId, flag); 154 service.openLine(proxy, faultNo, targetType, resId, kpiId, flag);
153 } else if (type === 'more') { 155 } else if (type === 'more') {
154 // 展示更多 156 // 展示更多
  157 + moreDialogTitle.value = obj.title;
155 showMoreDialog(true, obj); 158 showMoreDialog(true, obj);
156 } 159 }
157 } 160 }
@@ -168,6 +171,7 @@ export default { @@ -168,6 +171,7 @@ export default {
168 moreObj, 171 moreObj,
169 moreDialog, 172 moreDialog,
170 showMoreDialog, 173 showMoreDialog,
  174 + moreDialogTitle,
171 ...service 175 ...service
172 } 176 }
173 } 177 }
@@ -281,13 +281,18 @@ const faultEvent = () => { @@ -281,13 +281,18 @@ const faultEvent = () => {
281 * @param global 281 * @param global
282 * @param arr [[{指标对象},{指标对象},....].[{指标对象},{指标对象},....]] 282 * @param arr [[{指标对象},{指标对象},....].[{指标对象},{指标对象},....]]
283 */ 283 */
284 - const sendEventMoreDialog = (emit, global, arr, option) => { 284 + const sendEventMoreDialog = (emit, global, arr, title) => {
285 if (!arr || arr.length == 0) { 285 if (!arr || arr.length == 0) {
286 global.showMsg("暂无数据!", "warning"); 286 global.showMsg("暂无数据!", "warning");
287 return; 287 return;
288 } 288 }
289 289
  290 + if (!title) {
  291 + title = '更多';
  292 + }
  293 +
290 var obj = { 294 var obj = {
  295 + title: title,
291 columns: [{ 296 columns: [{
292 prop: 'taskName', 297 prop: 'taskName',
293 width: 220, 298 width: 220,
@@ -295,8 +300,10 @@ const faultEvent = () => { @@ -295,8 +300,10 @@ const faultEvent = () => {
295 }], 300 }],
296 data: [] 301 data: []
297 } 302 }
  303 + if (arr.length == undefined) {
  304 + arr = [];
  305 + }
298 306
299 - // TODO 数据需要适配  
300 arr.forEach(function (list) { 307 arr.forEach(function (list) {
301 var dataItem = {}; 308 var dataItem = {};
302 list.forEach(function (listItem) { 309 list.forEach(function (listItem) {
@@ -326,6 +333,80 @@ const faultEvent = () => { @@ -326,6 +333,80 @@ const faultEvent = () => {
326 emit('openDialog', 'more', {}, obj); 333 emit('openDialog', 'more', {}, obj);
327 } 334 }
328 335
  336 + /**
  337 + * 打开正常/异常诊断项
  338 + * @param emit
  339 + * @param global
  340 + * @param arr [[{指标对象},{指标对象},....].[{指标对象},{指标对象},....]]
  341 + */
  342 + const sendEventNormalDialog = (emit, global, faultNo, targetType, resClass, type) => {
  343 + // if (!arr || arr.length == 0) {
  344 + // global.showMsg("暂无数据!", "warning");
  345 + // return;
  346 + // }
  347 +
  348 + var title = type == 'normal' ? '诊断项(正常)' : '诊断项(异常)';
  349 + if (!title) {
  350 + title = '更多';
  351 + }
  352 +
  353 + var obj = {
  354 + title: title,
  355 + columns: [{
  356 + prop: 'taskName',
  357 + width: 120,
  358 + label: '名称',
  359 + }, {
  360 + prop: 'kpiName',
  361 + width: 120,
  362 + label: '指标名称',
  363 + }, {
  364 + prop: 'diagnosisResult',
  365 + width: 80,
  366 + label: '诊断值',
  367 + }, {
  368 + prop: 'isAbnormal',
  369 + width: 80,
  370 + label: '诊断结果',
  371 + render: function (row) {
  372 + if (row) {
  373 + if (row.isAbnormal === 1) {
  374 + return `<span style="color: red;">异常</span>`
  375 + } else {
  376 + return `<span style="color: blue;">正常</span>`
  377 + }
  378 + }
  379 + return '';
  380 + }
  381 +
  382 + }],
  383 + data: []
  384 + }
  385 +
  386 + var isAbnormal = '';
  387 + // 正常
  388 + if (type == 'normal') {
  389 + isAbnormal = 0;
  390 + } else {
  391 + isAbnormal = 1;
  392 + }
  393 +
  394 + store.dispatch('getFaultDiagnosticItemList', {
  395 + isAbnormal: isAbnormal,
  396 + resClass: resClass,
  397 + targetType: targetType,
  398 + faultNo: faultNo
  399 + }).then((res) => {
  400 + if (res && res.success) {
  401 + obj.data = res.data;
  402 + emit('openDialog', 'more', {}, obj);
  403 + } else {
  404 + global.showMsg(res.msg, "warning");
  405 + }
  406 + });
  407 +
  408 + emit('openDialog', 'more', {}, obj);
  409 + }
329 410
330 /** 411 /**
331 * 诊断业务场景 412 * 诊断业务场景
@@ -406,7 +487,8 @@ const faultEvent = () => { @@ -406,7 +487,8 @@ const faultEvent = () => {
406 sendEventLineDialog, 487 sendEventLineDialog,
407 sendEventMoreDialog, 488 sendEventMoreDialog,
408 sendEventDiagnoseBusinessScenarios, 489 sendEventDiagnoseBusinessScenarios,
409 - sendEventDiagnoseKpiList 490 + sendEventDiagnoseKpiList,
  491 + sendEventNormalDialog
410 492
411 } 493 }
412 494