Authored by 王涛

故障结果

@@ -51,7 +51,7 @@ export default { @@ -51,7 +51,7 @@ export default {
51 51
52 let sourceData = props.sourceData; 52 let sourceData = props.sourceData;
53 let arr = []; 53 let arr = [];
54 - for (let i = 0; i < sourceData[0].length; i++) { 54 + for (let i = 1; i < sourceData[0].length; i++) {
55 arr.push({type: 'line'}) 55 arr.push({type: 'line'})
56 } 56 }
57 let option = { 57 let option = {
@@ -27,11 +27,11 @@ @@ -27,11 +27,11 @@
27 27
28 <!-- 弹框区域 --> 28 <!-- 弹框区域 -->
29 <!-- 曲线图 --> 29 <!-- 曲线图 -->
30 - <cm-dialog top="3vh" title="曲线图" width="900px" :showDialogVisible="showLineDialog" 30 + <cm-dialog top="3vh" title="曲线图" width="1000px" :showDialogVisible="showLineDialog"
31 @hidedialog="closeLineDialog" :showFooter="false"> 31 @hidedialog="closeLineDialog" :showFooter="false">
32 <template v-slot> 32 <template v-slot>
33 - <div style="height: 300px">  
34 - <echarts-line height="300px" width="880px" /> 33 + <div style="height: 300px" v-if="dataSet.length > 0">
  34 + <echarts-line :sourceData="dataSet" height="300px" width="980px" />
35 </div> 35 </div>
36 </template> 36 </template>
37 </cm-dialog> 37 </cm-dialog>
@@ -4,21 +4,62 @@ @@ -4,21 +4,62 @@
4 * 作者: Wang 4 * 作者: Wang
5 * 时间:2021/12/15 19:59 5 * 时间:2021/12/15 19:59
6 */ 6 */
7 -const lineDetail = () => { 7 +const lineDetail = (props) => {
  8 + const {proxy} = Vue.getCurrentInstance();
8 let showLineDialog = Vue.ref(false); 9 let showLineDialog = Vue.ref(false);
9 - 10 + let dataSet = Vue.ref([]);
10 let closeLineDialog = (flg) => { 11 let closeLineDialog = (flg) => {
11 showLineDialog.value = flg; 12 showLineDialog.value = flg;
12 } 13 }
13 14
14 let openLine = (row) => { 15 let openLine = (row) => {
15 - debugger  
16 closeLineDialog(true); 16 closeLineDialog(true);
  17 + getLineData(row);
  18 + }
  19 +
  20 + let getLineData = (row) =>{
  21 + let params = {
  22 + faultNo: props.faultNo,
  23 + targetType: props.targetType,
  24 + resId: row.resId,
  25 + kpiId: row.kpiId,
  26 + flag: row.flag
17 } 27 }
  28 + proxy.$http.get('/api-web/fault/result/findLineData', params, function (res) {
  29 + if (res && res.success) {
  30 + if (res.data) {
  31 + let arr = [];
  32 + arr.push(['product',res.data[0].resName ]);
  33 +
  34 + res.data.forEach(function (v){
  35 + let time = v.collTime;
  36 + // if(time && time.indexOf(' ') != -1){
  37 + // let timeArr = time.split(" ")
  38 + // if(timeArr && timeArr.length > 1 && timeArr[1].indexOf(':')){
  39 + // let ttArr = timeArr[1].split(':')
  40 + // if(ttArr && ttArr.length > 1){
  41 + // delete ttArr[0];
  42 + // time = ttArr.join(':');
  43 + // }
  44 + // }
  45 + // }
  46 + let val = v.kpiValue;
  47 + arr.push([time,val ]);
  48 + })
  49 + dataSet.value = arr;
  50 + }
  51 + } else {
  52 + proxy.$global.showMsg(res.msg, "warning");
  53 + }
  54 + });
  55 + }
  56 +
  57 +
18 return { 58 return {
19 showLineDialog, 59 showLineDialog,
20 closeLineDialog, 60 closeLineDialog,
21 - openLine 61 + openLine,
  62 + dataSet
22 } 63 }
23 } 64 }
24 65
@@ -236,23 +277,20 @@ const resDetail = (props) => { @@ -236,23 +277,20 @@ const resDetail = (props) => {
236 let resListDialog = Vue.ref(false); 277 let resListDialog = Vue.ref(false);
237 let resList = Vue.ref({ 278 let resList = Vue.ref({
238 columns: [{ 279 columns: [{
  280 + prop: "resType",
  281 + label: "资源类型",
  282 + }, {
239 prop: "resName", 283 prop: "resName",
240 label: "资源名称", 284 label: "资源名称",
241 }, { 285 }, {
242 - prop: "bizName",  
243 - label: "业务名称",  
244 - }, {  
245 - prop: "kpiId",  
246 - label: "指标",  
247 - }, {  
248 prop: "kpiName", 286 prop: "kpiName",
249 label: "指标名称", 287 label: "指标名称",
250 }, { 288 }, {
251 prop: "kpiValue", 289 prop: "kpiValue",
252 label: "指标值", 290 label: "指标值",
253 }, { 291 }, {
254 - prop: "targetType",  
255 - label: "分类", 292 + prop: "collTime",
  293 + label: "采集时间",
256 }], 294 }],
257 dataList: [], 295 dataList: [],
258 total: 0 296 total: 0
@@ -263,7 +301,7 @@ const resDetail = (props) => { @@ -263,7 +301,7 @@ const resDetail = (props) => {
263 } 301 }
264 302
265 let handleClick = (row, index) => { 303 let handleClick = (row, index) => {
266 - debugger 304 +
267 showResListDialog(true); 305 showResListDialog(true);
268 getResListPage(row); 306 getResListPage(row);
269 } 307 }
@@ -271,7 +309,7 @@ const resDetail = (props) => { @@ -271,7 +309,7 @@ const resDetail = (props) => {
271 let getResListPage = (row) => { 309 let getResListPage = (row) => {
272 let params = { 310 let params = {
273 faultNo: props.faultNo, 311 faultNo: props.faultNo,
274 - targeType: props.targeType, 312 + targetType: props.targetType,
275 resId: row.resId, 313 resId: row.resId,
276 kpiId: row.kpiId, 314 kpiId: row.kpiId,
277 flag: row.flag 315 flag: row.flag
@@ -314,7 +352,7 @@ export default { @@ -314,7 +352,7 @@ export default {
314 return {} 352 return {}
315 }, 353 },
316 props: { 354 props: {
317 - targeType: { 355 + targetType: {
318 type: String, 356 type: String,
319 default: '' 357 default: ''
320 }, 358 },
@@ -354,8 +392,9 @@ export default { @@ -354,8 +392,9 @@ export default {
354 const { 392 const {
355 showLineDialog, 393 showLineDialog,
356 closeLineDialog, 394 closeLineDialog,
357 - openLine  
358 - } = lineDetail(); 395 + openLine,
  396 + dataSet
  397 + } = lineDetail(props);
359 398
360 399
361 const { 400 const {
@@ -386,7 +425,7 @@ export default { @@ -386,7 +425,7 @@ export default {
386 let getPage = () => { 425 let getPage = () => {
387 let params = { 426 let params = {
388 faultNo: props.faultNo, 427 faultNo: props.faultNo,
389 - targeType: props.targeType 428 + targetType: props.targetType
390 } 429 }
391 proxy.$http.get('/api-web/fault/result/findResult', params, function (res) { 430 proxy.$http.get('/api-web/fault/result/findResult', params, function (res) {
392 if (res && res.success) { 431 if (res && res.success) {
@@ -418,7 +457,7 @@ export default { @@ -418,7 +457,7 @@ export default {
418 let findCountInfo = () => { 457 let findCountInfo = () => {
419 let params = { 458 let params = {
420 faultNo: props.faultNo, 459 faultNo: props.faultNo,
421 - targeType: props.targeType 460 + targetType: props.targetType
422 } 461 }
423 proxy.$http.get('/api-web/fault/result/findCountInfo', params, function (res) { 462 proxy.$http.get('/api-web/fault/result/findCountInfo', params, function (res) {
424 if (res && res.success) { 463 if (res && res.success) {
@@ -451,6 +490,7 @@ export default { @@ -451,6 +490,7 @@ export default {
451 showLineDialog, 490 showLineDialog,
452 closeLineDialog, 491 closeLineDialog,
453 openLine, 492 openLine,
  493 + dataSet,
454 494
455 495
456 // 资源详情 496 // 资源详情
@@ -57,7 +57,7 @@ @@ -57,7 +57,7 @@
57 placement="top" :color="item.color" :hollow="true"> 57 placement="top" :color="item.color" :hollow="true">
58 <el-card> 58 <el-card>
59 <component v-bind:is="item.components" 59 <component v-bind:is="item.components"
60 - :targeType="item.faultType" 60 + :targetType="item.faultType"
61 :faultNo="faultDetailDetailInfo.faultNo" 61 :faultNo="faultDetailDetailInfo.faultNo"
62 :colType="item.colType" 62 :colType="item.colType"
63 :itemName="item.itemName" 63 :itemName="item.itemName"