Authored by 鲁尚清

#872 ping详情数据联调 #1

@@ -3187,6 +3187,12 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -3187,6 +3187,12 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
3187 } 3187 }
3188 }); 3188 });
3189 var uuid = generateUUID(); 3189 var uuid = generateUUID();
  3190 + console.log("**************",res)
  3191 + //start lsq 资源名称、资源类型名称、责任人字段值传递 2022-04-25
  3192 + var resName=res.resName;
  3193 + var resTypeName=res.resTypeName;
  3194 + var adminName=res.adminName;
  3195 + //end lsq 2022-04-25
3190 3196
3191 if (li != '') { 3197 if (li != '') {
3192 html = `<ul class="info-table hide" id="${uuid}">` + li + `</ul>` 3198 html = `<ul class="info-table hide" id="${uuid}">` + li + `</ul>`
@@ -3204,7 +3210,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -3204,7 +3210,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
3204 } 3210 }
3205 title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`; 3211 title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`;
3206 title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`; 3212 title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`;
3207 - title += `<a class="layui-icon res-view-ping" data-id=${resId} data-resName=${name} data-ip=${ip} data-resTypeName=${res.resTypeName} data-adminName=${res.adminName} lay-tips="查看资源ping详情" style="margin-left: 10px"> <img width="20" src="/src/style/img/ping.png" ></a>`; 3213 + //lsq 2022-04-25 增加ping详情提交按钮
  3214 + title += `<a class="layui-icon res-view-ping" data-id=${resId} data-resname=${resName} data-ip=${ip} data-restypename=${resTypeName} data-adminname=${adminName} lay-tips="原始数据" style="margin-left: 10px;position:relative;top:-3px;"> <img width="20" src="/src/style/img/ping.png" ></a>`;
3208 if (resCategory === 'share' && hardwareFlag.endsWith("Y")) { 3215 if (resCategory === 'share' && hardwareFlag.endsWith("Y")) {
3209 /* 3216 /*
3210 title += `<a class="layui-icon res-view-assets-details" data-ip=${ip} data-name=${name} data-restype=${resType} data-id=${resId} lay-tips="资产配置信息"><i class="iconfont">&#XE517;</i></a>`; 3217 title += `<a class="layui-icon res-view-assets-details" data-ip=${ip} data-name=${name} data-restype=${resType} data-id=${resId} lay-tips="资产配置信息"><i class="iconfont">&#XE517;</i></a>`;
@@ -3228,6 +3235,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -3228,6 +3235,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
3228 title += `<a class="layui-icon layui-icon-rate" data-id=${resId} lay-tips="加入收藏夹"></a>`; 3235 title += `<a class="layui-icon layui-icon-rate" data-id=${resId} lay-tips="加入收藏夹"></a>`;
3229 title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`; 3236 title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`;
3230 title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`; 3237 title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`;
  3238 + //lsq 2022-04-25 增加ping详情提交按钮
  3239 + title += `<a class="layui-icon res-view-ping" data-id=${resId} data-resname=${res.resName} data-ip=${ip} data-restypename=${res.resTypeName} data-adminname=${res.adminName} lay-tips="查看资源ping详情" style="margin-left: 10px;position:relative;top:-3px;"> <img width="20" src="/src/style/img/ping.png" ></a>`;
3231 if (resCategory === 'share' && hardwareFlag.endsWith("Y")) { 3240 if (resCategory === 'share' && hardwareFlag.endsWith("Y")) {
3232 /* 3241 /*
3233 title += `<a class="layui-icon res-view-assets-details" data-ip=${ip} data-name=${name} data-restype=${resType} data-id=${resId} lay-tips="资产配置信息"><i class="iconfont">&#XE517;</i></a>`; 3242 title += `<a class="layui-icon res-view-assets-details" data-ip=${ip} data-name=${name} data-restype=${resType} data-id=${resId} lay-tips="资产配置信息"><i class="iconfont">&#XE517;</i></a>`;
@@ -3501,7 +3510,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -3501,7 +3510,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
3501 // layer.msg('暂无权限!', {icon: 0}); 3510 // layer.msg('暂无权限!', {icon: 0});
3502 // return; 3511 // return;
3503 // } 3512 // }
3504 - let paramStr='?resId='+$(this).data('id')+'&resName='+$(this).data('resName')+'&resTypeName='+$(this).data('resTypeName')+'&adminName='+$(this).data('adminName')+'&ip='+$(this).data('ip') 3513 + let paramStr='?resId='+$(this).data('id')+'&resName='+$(this).data('resname')+'&resTypeName='+$(this).data('restypename')+'&adminName='+$(this).data('adminname')+'&ip='+$(this).data('ip')
3505 3514
3506 layer.open({ 3515 layer.open({
3507 title: ['ping详情', 'font-size:18px;'], 3516 title: ['ping详情', 'font-size:18px;'],
1 -<div class="container" :style="{'height':height+'px','max-height':height+'px'}"> 1 +<div class="container" :style="{'height':height+'px','max-height':height+'px','padding':'10px 0 10px 10px','background':'#fff','box-sizing':'border-box'}">
2 <div class="cm-card" :style="{'min-height':height+'px','max-height':height+'px','height':'100%','padding-top':'3px'}"> 2 <div class="cm-card" :style="{'min-height':height+'px','max-height':height+'px','height':'100%','padding-top':'3px'}">
3 - <div class="ping-detail"> 3 + <div class="ping-detail" style="margin-bottom: 10px;padding:0 10px;">
4 <el-descriptions 4 <el-descriptions
5 class="" 5 class=""
6 title="" 6 title=""
@@ -51,9 +51,9 @@ @@ -51,9 +51,9 @@
51 <el-select v-model="search.kpiId" class="m-2" placeholder="指标" clearable @change="kpiChange"> 51 <el-select v-model="search.kpiId" class="m-2" placeholder="指标" clearable @change="kpiChange">
52 <el-option 52 <el-option
53 v-for="item in kpiData" 53 v-for="item in kpiData"
54 - :key="item.ddicCode"  
55 - :label="item.ddicName"  
56 - :value="item.ddicCode" 54 + :key="item.kpiId"
  55 + :label="item.kpiName"
  56 + :value="item.kpiId"
57 57
58 /> 58 />
59 </el-select> 59 </el-select>
@@ -62,9 +62,9 @@ @@ -62,9 +62,9 @@
62 <el-select v-model="search.flag" class="m-2" placeholder="flag" clearable> 62 <el-select v-model="search.flag" class="m-2" placeholder="flag" clearable>
63 <el-option 63 <el-option
64 v-for="item in flagData" 64 v-for="item in flagData"
65 - :key="item.ddicCode"  
66 - :label="item.ddicName"  
67 - :value="item.ddicCode" 65 + :key="item.flag"
  66 + :label="item.flag"
  67 + :value="item.flag"
68 /> 68 />
69 </el-select> 69 </el-select>
70 </el-form-item> 70 </el-form-item>
@@ -95,27 +95,37 @@ @@ -95,27 +95,37 @@
95 :loading="false" 95 :loading="false"
96 :pageSize="search.pageSize" 96 :pageSize="search.pageSize"
97 :showPage="true" 97 :showPage="true"
98 - :showTools="true"  
99 - :height="height - 110"> 98 + :showTools="false"
  99 + :height="height - 210">
100 <template #default="{row,prop,column}"> 100 <template #default="{row,prop,column}">
101 - <!--<div v-if="prop == 'message'" > 101 + <!-- <div v-if="prop == 'message'" style="text-align: left;" >
102 <el-tooltip > 102 <el-tooltip >
103 <template #content> 103 <template #content>
104 - <div style="max-width:400px;overflow: hidden; text-overflow: ellipsis;display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;"> 104 + <pre style="max-width:400px;overflow: hidden; text-overflow: ellipsis;display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;">
105 {{row.message}} 105 {{row.message}}
106 - </div> 106 + </pre>
107 </template> 107 </template>
108 - <div v-html="row.message" style="overflow: hidden; text-overflow: ellipsis;display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;"></div> 108 + <pre style="overflow: hidden; text-overflow: ellipsis;display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;">
  109 + {{row.message}}
  110 + </pre>
109 </el-tooltip> 111 </el-tooltip>
110 </div>--> 112 </div>-->
  113 +
  114 + <div v-if="prop == 'ext'" style="text-align: left;" >
  115 + <pre>{{row.ext}}</pre>
  116 + </div>
  117 + <div v-if="prop == 'message'" style="text-align: left;" >
  118 + <pre>{{row.message}}</pre>
  119 + </div>
  120 +
111 </template> 121 </template>
112 - <template #tools="{scope}"> 122 + <!-- <template #tools="{scope}">
113 <div class="list-handle"> 123 <div class="list-handle">
114 <span class="icon-bg"> 124 <span class="icon-bg">
115 <i class="el-icon-view" title="查看" @click="handleView(scope.row)"></i> 125 <i class="el-icon-view" title="查看" @click="handleView(scope.row)"></i>
116 </span> 126 </span>
117 </div> 127 </div>
118 - </template> 128 + </template>-->
119 </cm-table-page> 129 </cm-table-page>
120 </div> 130 </div>
121 </div> 131 </div>
@@ -18,10 +18,9 @@ export default { @@ -18,10 +18,9 @@ export default {
18 sortBy:'dbTime', 18 sortBy:'dbTime',
19 scopeBy:'dbTimeStr.keyword', 19 scopeBy:'dbTimeStr.keyword',
20 keyword: '', 20 keyword: '',
21 - type:'syslog',  
22 pageNum: 1, 21 pageNum: 1,
23 pageSize: 20, 22 pageSize: 20,
24 - dateTime:[], 23 + dateTime:'',
25 resType:'', 24 resType:'',
26 }); 25 });
27 let dialog = Vue.ref({ 26 let dialog = Vue.ref({
@@ -39,21 +38,21 @@ export default { @@ -39,21 +38,21 @@ export default {
39 label: '采集时间', 38 label: '采集时间',
40 sortable: true, 39 sortable: true,
41 align: 'center', 40 align: 'center',
42 - width: '250', 41 + width: '150',
43 }, 42 },
44 { 43 {
45 - prop: 'dbTime', 44 + prop: 'dbTimeStr',
46 label: '入库时间', 45 label: '入库时间',
47 sortable: true, 46 sortable: true,
48 align: 'center', 47 align: 'center',
49 - width: '250' 48 + width: '150'
50 }, 49 },
51 { 50 {
52 prop: 'kpiValue', 51 prop: 'kpiValue',
53 label: '采集值', 52 label: '采集值',
54 sortable: true, 53 sortable: true,
55 align: 'center', 54 align: 'center',
56 - width: '200' 55 + width: '100'
57 }, 56 },
58 { 57 {
59 prop: 'taskName', 58 prop: 'taskName',
@@ -80,7 +79,7 @@ export default { @@ -80,7 +79,7 @@ export default {
80 label: '扩展信息', 79 label: '扩展信息',
81 sortable: true, 80 sortable: true,
82 align: 'center', 81 align: 'center',
83 - width: '200', 82 + width: '260',
84 render:function (row){ 83 render:function (row){
85 return `<pre>${row.ext}</pre>` 84 return `<pre>${row.ext}</pre>`
86 } 85 }
@@ -89,9 +88,12 @@ export default { @@ -89,9 +88,12 @@ export default {
89 label: '异常信息', 88 label: '异常信息',
90 sortable: true, 89 sortable: true,
91 align: 'center', 90 align: 'center',
  91 + width:'500',
92 render:function (row){ 92 render:function (row){
93 - return `<pre>${row.message}</pre>` 93 + let str=JSON.stringify(JSON.parse(row.message))
  94 + return `<pre>${str}</pre>`
94 } 95 }
  96 +
95 } 97 }
96 ] 98 ]
97 }) 99 })
@@ -125,10 +127,13 @@ export default { @@ -125,10 +127,13 @@ export default {
125 let getDataList = () => { 127 let getDataList = () => {
126 let nowDate=getDateTime(new Date()); 128 let nowDate=getDateTime(new Date());
127 let dateStr=''; 129 let dateStr='';
  130 + let type='collector';
128 if(kpiIdent.value==1){ 131 if(kpiIdent.value==1){
129 dateStr='monitor-performance_'; 132 dateStr='monitor-performance_';
  133 + type='performance';
130 }else{ 134 }else{
131 dateStr='monitor-collector_'; 135 dateStr='monitor-collector_';
  136 + type='collector';
132 } 137 }
133 if(search.value.dateTime){ 138 if(search.value.dateTime){
134 dateStr+=search.value.dateTime; 139 dateStr+=search.value.dateTime;
@@ -137,16 +142,12 @@ export default { @@ -137,16 +142,12 @@ export default {
137 } 142 }
138 143
139 let params={ 144 let params={
140 - resId:resId.value,  
141 - kpiId:search.value.kpiId,  
142 - flag:search.value.flag,  
143 indexName:dateStr, 145 indexName:dateStr,
144 pageNum: search.value.pageNum, 146 pageNum: search.value.pageNum,
145 pageSize: search.value.pageSize, 147 pageSize: search.value.pageSize,
146 - type:search.value.type, 148 + type:type,
147 sortBy:search.value.sortBy, 149 sortBy:search.value.sortBy,
148 scopeBy:search.value.scopeBy, 150 scopeBy:search.value.scopeBy,
149 - resType:search.value.resType,  
150 param:{} 151 param:{}
151 } 152 }
152 if(search.value.keyword){ 153 if(search.value.keyword){
@@ -156,9 +157,15 @@ export default { @@ -156,9 +157,15 @@ export default {
156 'message.keyword':search.value.keyword, 157 'message.keyword':search.value.keyword,
157 } 158 }
158 } 159 }
  160 + if(resId.value){
  161 + params['param']['resId.keyword']=resId.value;
  162 + }
159 if(search.value.kpiId){ 163 if(search.value.kpiId){
160 params['param']['kpiId.keyword']=search.value.kpiId; 164 params['param']['kpiId.keyword']=search.value.kpiId;
161 } 165 }
  166 + if(search.value.flag){
  167 + params['param']['flag.keyword']=search.value.flag;
  168 + }
162 proxy.$http.post(`/api-web/esData/list`, params, function (res) { 169 proxy.$http.post(`/api-web/esData/list`, params, function (res) {
163 if (res && res.object) { 170 if (res && res.object) {
164 let dataList=res.object.content; 171 let dataList=res.object.content;
@@ -172,6 +179,9 @@ export default { @@ -172,6 +179,9 @@ export default {
172 tableData.value.dataList = []; 179 tableData.value.dataList = [];
173 tableData.value.count = 0; 180 tableData.value.count = 0;
174 } 181 }
  182 + /* tableData.value.dataList=[{
  183 + message:dataJSON('{"resId":"4044b7e0f1344aefb80c89018b2a52a5","kpiId":"","indexName":"monitor-collector_2022-04-19","pageNum":1,"pageSize":20,"type":"syslog","sortBy":"dbTime","scopeBy":"dbTimeStr.keyword","resType":"","param":{"resId":"4044b7e0f1344aefb80c89018b2a52a5","kpiId":""}}')
  184 + }]*/
175 }); 185 });
176 } 186 }
177 187
@@ -203,7 +213,10 @@ export default { @@ -203,7 +213,10 @@ export default {
203 //指标数据 213 //指标数据
204 let kpiData=Vue.ref([]); 214 let kpiData=Vue.ref([]);
205 let getKpiData=()=>{ 215 let getKpiData=()=>{
206 - proxy.$http.post(`/api-web/manage/ddic/findSucDdics/LOG_SOURCE_TYPE`, {}, function (res) { 216 + let param={
  217 + resId:resId.value,
  218 + }
  219 + proxy.$http.get(`/api-web/ping/getKpi`, param, function (res) {
207 if (res && res.data) { 220 if (res && res.data) {
208 kpiData.value = res.data; 221 kpiData.value = res.data;
209 } 222 }
@@ -212,7 +225,11 @@ export default { @@ -212,7 +225,11 @@ export default {
212 //flag数据 225 //flag数据
213 let flagData=Vue.ref([]); 226 let flagData=Vue.ref([]);
214 let getFlagData=()=>{ 227 let getFlagData=()=>{
215 - proxy.$http.post(`/api-web/manage/ddic/findSucDdics/LOG_SOURCE_TYPE?kpiId=`+search.kpiId+'&resId='+resId.value, {}, function (res) { 228 + let param={
  229 + resId:resId.value,
  230 + kpiId:search.value.kpiId
  231 + }
  232 + proxy.$http.get(`/api-web/ping/getKpi`, param, function (res) {
216 if (res && res.data) { 233 if (res && res.data) {
217 flagData.value = res.data; 234 flagData.value = res.data;
218 } 235 }
@@ -220,6 +237,11 @@ export default { @@ -220,6 +237,11 @@ export default {
220 } 237 }
221 //指标改变事件 238 //指标改变事件
222 let kpiChange=(val)=>{ 239 let kpiChange=(val)=>{
  240 + kpiData.value.map(item=>{
  241 + if(val==item.kpiId){
  242 + kpiIdent.value=item.kpiIdent;
  243 + }
  244 + })
223 getFlagData(); 245 getFlagData();
224 } 246 }
225 let detail=Vue.ref({}) 247 let detail=Vue.ref({})
@@ -229,6 +251,11 @@ export default { @@ -229,6 +251,11 @@ export default {
229 resId.value=proxy.$route.query.resId; 251 resId.value=proxy.$route.query.resId;
230 252
231 } 253 }
  254 + //json格式化方法
  255 + let dataJSON=(val)=>{
  256 + let str=val.trim()
  257 + return JSON.parse(str);
  258 + }
232 // 挂载完 259 // 挂载完
233 Vue.onMounted(() => { 260 Vue.onMounted(() => {
234 getResId(); 261 getResId();
@@ -238,6 +265,7 @@ export default { @@ -238,6 +265,7 @@ export default {
238 265
239 266
240 return { 267 return {
  268 + dataJSON,
241 resId, 269 resId,
242 getResId, 270 getResId,
243 detail, 271 detail,