diff --git a/doc/SQL/zj/V1202_1告警概览优化临时告警表sql.txt b/doc/SQL/zj/V1202_1告警概览优化临时告警表sql.txt new file mode 100644 index 0000000..6e8c5ee --- /dev/null +++ b/doc/SQL/zj/V1202_1告警概览优化临时告警表sql.txt @@ -0,0 +1,8 @@ +-- 添加告警临时表的唯一索引 列有资源id、时间 +ALTER TABLE `b_alarm_trend_temporary` ADD CONSTRAINT unique_resId_and_createTime UNIQUE(resId,createTime); + +-- 删除告警临时表重复数据的 +delete from b_alarm_trend_temporary where id not in (select id from (select count(1) as number,id,createTime,resId from b_alarm_trend_temporary group by createTime,resId having number=1) as c); + +--查询告警临时表又没重复数据 +select count(1) as number,id,createTime,resId from b_alarm_trend_temporary group by createTime,resId having number>1; \ No newline at end of file diff --git a/hg-monitor-web-base/src/main/resources/static/src/controller/ali_cloud_plat.js b/hg-monitor-web-base/src/main/resources/static/src/controller/ali_cloud_plat.js new file mode 100644 index 0000000..eb6e050 --- /dev/null +++ b/hg-monitor-web-base/src/main/resources/static/src/controller/ali_cloud_plat.js @@ -0,0 +1,57 @@ +/** + * @desc 阿里云平台 + * @author joke + * @date 2020/4/16 22:11 + **/ +layui.define(['commonDetail','common'], function (exports) { + var commonDetail = layui.commonDetail; + var common = layui.common; + //对外暴露的接口 + exports('ali_cloud_plat', function (data) { + var resId = ''; + var showFlag = common.getUrlParam("show"); + if(showFlag && showFlag == '0'){ + resId = common.getUrlParam("resId"); + }else{ + resId = data.resId; + } + commonDetail.bindTips(); + //基本信息 + var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI72E7FB4B"; + //性能信息 + var xnxxKpi = "KPI9E5E1B3E,KPIBFA3F5CD,KPI1584BE1C,KPIC40A80AC,KPI5B7998C9,KPI46BAA9BE"; + + reload() + + //渲染页面 + function reload() { + //资源状态 + commonDetail.renderResHealth("ali_cloud_plat_state",resId); + //基本信息 + commonDetail.renderText("ali_cloud_plat_baseinfo",resId,jbxxKpi); + //性能信息 + commonDetail.renderTextCols("ali_cloud_plat_xnxxinfo",resId,xnxxKpi,1); + // CPU分配率 + commonDetail.renderGauge("ali_cloud_plat_cpu_rate",resId,"KPIBFA3F5CD"); + // 内存分配率 + commonDetail.renderGauge("ali_cloud_plat_mem_rate",resId,"KPIC40A80AC"); + // 存储分配率 + commonDetail.renderGauge("ali_cloud_plat_storage_rate",resId,"KPI46BAA9BE"); + // CPU分配率走势(12小时) + commonDetail.renderLineCharat("ali_cloud_plat_cpuset_linechart",resId,"KPIBFA3F5CD","CPU分配率","cpu"); + // 内存分配率走势(12小时) + commonDetail.renderLineCharat("ali_cloud_plat_memeryset_linechart",resId,"KPIC40A80AC","内存分配率","mem"); + // 存储分配率走势(12小时) + commonDetail.renderLineCharat("ali_cloud_plat_storageset_linechart",resId,"KPI46BAA9BE","存储分配率","storage", null, 'KPI6EB26394'); + //活动告警 + commonDetail.renderActiveAlarms("ali_cloud_plat_alarms",resId); + } + + //定时任务 + var timer = setInterval(function () { + reload() + },commonDetail.timerTime); + commonDetail.detailTimer.push(timer); + + }); +}); \ No newline at end of file diff --git a/hg-monitor-web-base/src/main/resources/static/src/controller/commonCols.js b/hg-monitor-web-base/src/main/resources/static/src/controller/commonCols.js index 9d76ec8..5f381c0 100644 --- a/hg-monitor-web-base/src/main/resources/static/src/controller/commonCols.js +++ b/hg-monitor-web-base/src/main/resources/static/src/controller/commonCols.js @@ -459,7 +459,7 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true}, {field: 'memorySize', title: '内存大小', align: 'center', minWidth: x_120, sort: true, templet: '<div>{{d.memorySize}} GB</div>'}, {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true}, - {field: 'ptName', title: '所属平台', minWidth: x_130, align: 'center', sort: true}, + // {field: 'ptName', title: '所属平台', minWidth: x_130, align: 'center', sort: true}, {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'}, {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true}, {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true}, diff --git a/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js b/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js index 59cbb04..281a3b3 100644 --- a/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js +++ b/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js @@ -153,8 +153,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele } var $html = addIconByValue(valueStr); var resStyle = obj.alarmEleMatchStyle(ar.flag, ar.id); - span += ' <span>' + ar.name + '</span>' + - '<span title="' + titleStr + '" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' + resStyle + '">' + span += ' <span style="text-align:left;width:40%">' + ar.name + '</span>' + + '<span title="' + titleStr + '" style="width:60%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' + resStyle + '">' + $html + valueStr +'</span>'; //补充空白区域 if (v.length < cols) { diff --git a/hg-monitor-web-base/src/main/resources/static/src/views/template/detail/ali_cloud_plat.html b/hg-monitor-web-base/src/main/resources/static/src/views/template/detail/ali_cloud_plat.html new file mode 100644 index 0000000..6cbe5f7 --- /dev/null +++ b/hg-monitor-web-base/src/main/resources/static/src/views/template/detail/ali_cloud_plat.html @@ -0,0 +1,92 @@ +<!--阿里云集群--> +<article class="page-container template"> + <div class="page-panel"> + <div class="main"> + <div class="layui-card template_detail_content"> + <div class="layui-card-body"> + <div class="lay-row"> + <div class="lay-row-item lay-row-item--auto-width"> + <h5 class="lay-row-title">资源状态</h5> + <div class="res-state" id="ali_cloud_plat_state"></div> + </div> + <div class="lay-row-item lay-row-item--auto-width"> + <h5 class="lay-row-title">基本信息<i data-id="ali_cloud_plat_baseinfo" class="iconfont detail_base_info"></i></h5> + <ul class="info-table" id="ali_cloud_plat_baseinfo"></ul> + </div> + <div class="lay-row-item lay-row-item--auto-width"> + <h5 class="lay-row-title">资源使用概况</h5> + <ul class="info-table" id="ali_cloud_plat_xnxxinfo"></ul> + </div> + </div> + <div class="lay-row"> + <div class="lay-row-item"> + <h5 class="lay-row-title">CPU分配率</h5> + <ul id="ali_cloud_plat_cpu_rate" class="pie-wrap dasboard"> + <li data-degree="0" class="pie-half pie-half-border-color-3"> + <div class="pie-half-text"> + <b>0%</b> + <span></span> + </div> + </li> + </ul> + </div> + <div class="lay-row-item"> + <h5 class="lay-row-title">内存分配率</h5> + <ul id="ali_cloud_plat_mem_rate" class="pie-wrap dasboard"> + <li data-degree="0" class="pie-half pie-half-border-color-3"> + <div class="pie-half-text"> + <b>0%</b> + <span></span> + </div> + </li> + </ul> + </div> + <div class="lay-row-item"> + <h5 class="lay-row-title">存储分配率</h5> + <ul id="ali_cloud_plat_storage_rate" class="pie-wrap dasboard"> + <li data-degree="0" class="pie-half pie-half-border-color-3"> + <div class="pie-half-text"> + <b>0%</b> + <span></span> + </div> + </li> + </ul> + </div> + </div> + <div class="lay-row"> + <div class="lay-row-item"> + <h5 class="lay-row-title">CPU分配率走势(12小时)</h5> + <div id="ali_cloud_plat_cpuset_linechart" class="detail_line_chart"></div> + </div> + <div class="lay-row-item"> + <h5 class="lay-row-title">内存分配率走势(12小时)</h5> + <div id="ali_cloud_plat_memeryset_linechart" class="detail_line_chart"></div> + </div> + <div class="lay-row-item"> + <h5 class="lay-row-title">存储分配率走势(12小时)</h5> + <div id="ali_cloud_plat_storageset_linechart" class="detail_line_chart"></div> + </div> + </div> + <div class="lay-row"> + <div class="lay-row-item"> + <h5 class="lay-row-title">实时告警动态</h5> + <div id="ali_cloud_plat_alarms"></div> + </div> + </div> + </div> + </div> + </div> + </div> +</article> +<textarea id="ali_cloud_plat_param_id" style="display: none;">{{d}}</textarea> +<script> + layui.use('ali_cloud_plat', function (fn) { + var $ = layui.$; + var parm = $("#ali_cloud_plat_param_id").val(); + if(parm.indexOf('{{d') != -1){ + fn(); + }else{ + fn(JSON.parse(parm)); + } + }); +</script> \ No newline at end of file diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/dialog/index.js b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/dialog/index.js index 4a93c31..68989d9 100644 --- a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/dialog/index.js +++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/dialog/index.js @@ -63,7 +63,7 @@ export default { let hideElDialog = () =>{ - emit('hidedialog'); + emit('hidedialog',false); } let okFunc = () =>{ diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.html b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.html index 364ab0e..1e6156c 100644 --- a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.html +++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.html @@ -17,13 +17,13 @@ {{node.label }} </div> <div v-if="isAdmin()" :style="{'width':isAdmin()?'60px':'0px'}"> - <a @click="editType(data)" style="margin-right: 10px;"> + <a @click="editType(data)" v-if="!data.root" style="margin-right: 10px;"> <i class="el-icon-edit"></i> </a> <a @click="showFolder(true,false,node) " style="margin-right: 10px;"> <i class="el-icon-plus"></i> </a> - <a @click="deleteDocument(data.id,'folder')"> + <a @click="deleteDocument(data.id,'folder')" v-if="!data.root"> <i class="el-icon-delete"></i> </a> </div> @@ -164,7 +164,7 @@ </el-col> </el-row> - <cm-dialog :title="addDialogTitle" width="500px" :showDialogVisible="addDialogVisible" :showFooter="false"> + <cm-dialog :title="addDialogTitle" width="500px" :showDialogVisible="addDialogVisible" @hidedialog="showFolder" :showFooter="false"> <template v-slot> <el-form label-width="120px" diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js index 6146096..c8cea38 100644 --- a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js +++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js @@ -246,11 +246,16 @@ export default { // // 加载第一个节点数据 // getPage(first.id); + let root = { id: '0', name: '文档管理', + root:'root', children: res.data } + if(props.isRecycle){ + root.name = '文档回收站'; + } defaultExpandedKeys.value = [root.id]; addHistoryNode(root); @@ -481,12 +486,12 @@ export default { sort: 100 }); let showFolder = (flg, isUser,node) => { + addDialogVisible.value = flg; let title=""; if(node){ currentNodeData.value = node.data; title =`修改树节点“${currentNodeData.value.name}“子文件夹`; } - docForm.value = { id:'', name: '', @@ -494,10 +499,11 @@ export default { type: '', sort: 100 }; - isUserFolder.value = isUser; - addDialogVisible.value = flg; + if(isUser != undefined){ + isUserFolder.value = isUser; + } - if (addDialogVisible.value) { + if (addDialogVisible.value != undefined) { title = `新建自定义文件夹`; } addDialogTitle.value = title diff --git a/hg-monitor-web-zj/src/main/resources/static/src/views/layout.html b/hg-monitor-web-zj/src/main/resources/static/src/views/layout.html index 2d91b81..f98d798 100644 --- a/hg-monitor-web-zj/src/main/resources/static/src/views/layout.html +++ b/hg-monitor-web-zj/src/main/resources/static/src/views/layout.html @@ -90,7 +90,7 @@ <dl class="layui-nav-child"> <!--调整到刷新旁边,此处去掉 lu 屏蔽 20211130--> <!-- <dd layadmin-event="toBigScreen" style="text-align: left;"><a><img src="/src/style/img/icon-daping.png" style="width: 16px;height: 16px"> 大屏</a></dd>--> - <dd layadmin-event="toDZSWJScreen" style="text-align: left;"><a><img src="/src/style/img/icon-dianzishuiwuju.png" style="width: 16px;height: 16px"> 电子税务大屏</a></dd> + <dd layadmin-event="toDZSWJScreen" style="text-align: left;"><a><img src="/src/style/img/icon-dianzishuiwuju.png" style="width: 16px;height: 16px"> 电子税务局大屏</a></dd> <!--调整到首页旁边,此处去掉 joke 屏蔽 20211129--> <!-- <dd layadmin-event="toYTHViewScreen" style="text-align: left;"><a><img src="/src/style/img/icon-yitihuadaping.png" style="width: 16px;height: 16px"> 一体化视图</a></dd>--> <dd layadmin-event="toBiZhEalZhSYS" style="text-align: left;"><a><img src="/src/style/img/icon-YWJKD.png" style="width: 16px;height: 16px"> 业务健康度</a></dd> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine-1.png b/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine-1.png new file mode 100644 index 0000000..6f07d1f Binary files /dev/null and b/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine-1.png differ diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine.png b/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine.png index 6f07d1f..9899dc2 100644 Binary files a/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine.png and b/hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/machineRoom/img-no-machine.png differ diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomComponents/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomComponents/index.html index 1ec77e5..bf7d488 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomComponents/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomComponents/index.html @@ -1,11 +1,13 @@ <div> <span class="el-dropdown-link" @click="showMachineRoomDialog(true)" > - {{textString}} + {{textString}}1111 </span> - <cm-dialog title="收藏" width="500px" :showDialogVisible="dialogFlg" @hidedialog="showMachineRoomDialog"> + <cm-dialog title="机房布局" :showFooter="false" :showDialogVisible="dialogFlg" @hidedialog="showMachineRoomDialog"> <template v-slot> - <GetMachineRoom v-if="commandNameData" :commandNameData="commandNameData"></GetMachineRoom> + <div style="overflow: auto"> + <GetMachineRoom v-if="commandNameData" :commandNameData="commandNameData"></GetMachineRoom> + </div> </template> </cm-dialog> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.html index 1ec77e5..112e1c6 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.html @@ -1,11 +1,11 @@ <div> <span class="el-dropdown-link" @click="showMachineRoomDialog(true)" > - {{textString}} + {{textString}}2222 </span> - <cm-dialog title="收藏" width="500px" :showDialogVisible="dialogFlg" @hidedialog="showMachineRoomDialog"> + <cm-dialog title="机柜" :showFooter="false" :showDialogVisible="dialogFlg" @hidedialog="showMachineRoomDialog"> <template v-slot> - <GetMachineRoom v-if="commandNameData" :commandNameData="commandNameData"></GetMachineRoom> + <machineRoomDetail v-if="isDetailShow" :detailData="detailData" :machineData="machineData"></machineRoomDetail> </template> </cm-dialog> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.js b/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.js index 7a492c0..f9f2b00 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.js +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/res/machineRoomDetailComponents/index.js @@ -2,8 +2,8 @@ export default { name: 'machineRoomDetailComponents', template: '', components: { - 'GetMachineRoom': Vue.defineAsyncComponent( - () => myImport('views/commonComponents/getMachineRoom/index') + 'machineRoomDetail': Vue.defineAsyncComponent( + () => myImport('views/commonComponents/machineRoomDetail/index') ), }, props: { diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.html index 3a9ea66..e81c07a 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.html @@ -1,27 +1,14 @@ <div class="machine-room"> <div class="room-top"> <el-tabs type="card" @tab-click="handleCommand" v-model="commandVal"> - <el-tab-pane v-for="item in commandNameData" :label="item.name" :name="item.val"></el-tab-pane> + <el-tab-pane v-for="item in commandNameData" :label="item.machineRoomName" :name="item.machineRoomCode"></el-tab-pane> </el-tabs> - <!--<el-dropdown @command="handleCommand" class="elSelf" :popper-append-to-body="false"> - <span class="el-dropdown-link"> - {{commandName}} - <i class="icon-arrow"></i> - </span> - <template #dropdown> - <el-dropdown-menu class="cpuDropdown"> - <el-dropdown-item v-for="item in commandNameData" :command="item.val">{{item.name}}</el-dropdown-item> - - - </el-dropdown-menu> - </template> - </el-dropdown>--> </div> <div class="room-html"> <el-row> <el-col class="video-item" :span="24" > - <MachineRoom v-if="src" :src="src" ref="machineRoom" ></MachineRoom> + <MachineRoom v-if="src" :src="src" :commandNameDataItem="commandNameDataItem" ref="machineRoom" ></MachineRoom> </el-col> </el-row> </div> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.js b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.js index 569761e..2890a21 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.js +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/getMachineRoom/index.js @@ -22,7 +22,7 @@ export default { return { domainName:sessionStorage.getItem('domainName'), accessToken:localStorage.getItem('access_token'), - commandName:'',//下拉选择默认显示名称 + // commandName:'',//下拉选择默认显示名称 htmlName:'',//机房组件名称-html名称 commandVal:'',//下拉选择选中值 src:'',//机房布局html地址 @@ -34,30 +34,34 @@ export default { const {proxy} = Vue.getCurrentInstance(); proxy.htmlName=Vue.ref(); proxy.commandVal=Vue.ref() - proxy.commandName=Vue.ref(); + // proxy.commandName=Vue.ref(); proxy.src=Vue.ref(); + const commandNameDataItem=Vue.ref(); + const allComponents=Vue.ref(); // 获取状态 const { changeIndex} = indirectManage() // 挂载完 Vue.onMounted(() => { - proxy.commandVal='one'; + proxy.commandVal=props.commandNameData[0].machineRoomCode; proxy.getMachine(proxy.commandVal); }) //初始获取默认机房选择信息 const getMachine=(command)=>{ //commandNameData机房机柜数据 + let allComponent=[]; props.commandNameData.map((item,index)=>{ - if(command==item.val){ - proxy.htmlName=item.htmlName; - proxy.commandName=item.name; - proxy.commandVal=item.val; + if(command==item.machineRoomCode){ + // proxy.htmlName=item.htmlName; + // proxy.commandName=item.name; + proxy.commandVal=item.machineRoomCode; + proxy.commandNameDataItem=item; } }) // proxy.src='/h5/machineroom/'+proxy.htmlName+'.html?access_token='+proxy.accessToken+'&changeIndex='+proxy.changeIndex //根据htmlName确定引入的机房 - proxy.src=proxy.htmlName + proxy.src=proxy.commandVal } const handleCommand=(command,event)=>{ @@ -70,7 +74,9 @@ export default { return{ getMachine, - handleCommand + handleCommand, + commandNameDataItem, + allComponents } } } \ No newline at end of file diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.html index 4980f25..3c349ef 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.html @@ -1,7 +1 @@ -<!--<iframe v-if="src" style="width:90%;height:720px;" :src="src" frameborder="0" ref="machineIframe" ></iframe>--> -<HuzhouOne v-if="showNum==1" :src="machineData"></HuzhouOne> -<HuzhouTwo v-if="showNum==2" :src="machineData"></HuzhouTwo> -<HuzhouThree v-if="showNum==3" :src="machineData"></HuzhouThree> -<Xiaoshansecond v-if="showNum==4" :src="machineData"></Xiaoshansecond> -<Xiaoshanthird v-if="showNum==5" :src="machineData"></Xiaoshanthird> -<Xiaoshanseven v-if="showNum==6" :src="machineData"></Xiaoshanseven> +<component :is="srcName" :src="machineData" /> \ No newline at end of file diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.js b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.js index 52b5f41..05eb01e 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.js +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoom/index.js @@ -19,23 +19,16 @@ export default { ), 'Xiaoshanseven': Vue.defineAsyncComponent( () => myImport('views/commonComponents/xiaoshanseven/index') - ), + ) }, - props:['src'], + props:['src','commandNameDataItem'], data(){ return { domainName:sessionStorage.getItem('domainName'), accessToken:localStorage.getItem('access_token'), isDetailShow:false,//详情页 // changeIndexNav:this.changeIndex,//nav是否点击变化 - htmmlNameData:[ - {name:'huzhouzaibeione',val:'湖州灾备机房一'}, - {name:'huzhouzaibeitwo',val:'湖州灾备机房二'}, - {name:'huzhouzaibeithree',val:'湖州灾备机房三'}, - {name:'xiaoshansecond',val:'萧山IDC二号机房'}, - {name:'xiaoshanthird',val:'萧山IDC三号机房'}, - {name:'xiaoshanseven',val:'萧山IDC七号机房'}, - ], + srcName:this.src, machineData:'',//机房信息数据 // src:'/h5/machineroom/huzhouzaibeione.html?access_token='+this.accessToken @@ -54,27 +47,24 @@ export default { setup(props, {attrs, slots, emit}) { const {proxy} = Vue.getCurrentInstance(); const showNum=Vue.ref() + const componentName=Vue.ref(); // 挂载完 Vue.onMounted(() => { - proxy.getName(); }) const getName=()=>{ - proxy.htmmlNameData.map((item,index)=>{ - if(proxy.srcName==item.name){ - proxy.showNum=index+1; - proxy.machineData=item; - } - }) - console.log("src",proxy.src,proxy.showNum) + console.log("accept",proxy.srcName, props.commandNameDataItem) + + proxy.machineData= props.commandNameDataItem; } return{ // src:'/h5/machineroom/'+props.htmlName+'.html?access_token='+proxy.accessToken getName, - showNum + showNum, + componentName } } diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.html index 786e25f..4b20e7f 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.html @@ -12,7 +12,7 @@ <div class='img-serve' > <img src="/vue3/src/assets/images/machineRoom/icon-state.png" alt="" class='state'> - <div class='img-serve-text'>{{item.provider}}</div> + <div class='img-serve-text'>{{item.resName}}</div> <div class='lamp'> <img src="/vue3/src/assets/images/machineRoom/icon-weblogical.png" alt="" class='img-weblog'> <div class='img-lamp'> @@ -35,7 +35,7 @@ <div class='info-contain'> <div class='info-text'>机柜信息</div> <div class='info-text-bot'> - <p>机 房:{{machineData.val}}</p> + <p>机 房:{{machineData.machineRoomName}}</p> <p>机柜编号:{{detailData.name}}</p> <p>机柜容量:{{infoData.cabinetCapacity}}</p> <p>设备数量:{{infoData.deviceNum}}台</p> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.js b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.js index 417cb3d..1410c0b 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.js +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/commonComponents/machineRoomDetail/index.js @@ -14,7 +14,8 @@ export default { isCenter:false,//是否居中--true代表湖州机房,false代表萧山机房 serviceData:[],//机柜的服务器数据 deviceDataInfo:'',//设备详细信息 - deviceDatas: [ + deviceDatas:[], + /* deviceDatas: [ { name:'E12',//机柜名称 @@ -158,7 +159,7 @@ export default { deviceNum:'1', cabinetCapacity :'42U', }, - ],//服务器设备信息 + ],//服务器设备信息*/ infoData:'',//设备详细信息 // isShowDevice:false,//是否显示设备信息 @@ -173,26 +174,17 @@ export default { // 挂载完 Vue.onMounted(() => { - if(props.machineData.name.indexOf('huzhou')!=-1){ - proxy.isCenter=true; - proxy.theirRoom='湖州灾备'; - }else{ - proxy.isCenter=false; - proxy.theirRoom='兴议机房'; + console.log('&&&',proxy.machineData) - } proxy.getData(); - // proxy.getDeviceInfo(); }) const getData=()=>{ let parmas={ - theirRoom:proxy.theirRoom, + theirRoomId:props.machineData.machineRoomId, theirCabinet:CabinetNum } $.get(proxy.domainName+'/api-web/v32/res/cabinet?access_token='+proxy.accessToken,parmas,function (res){ - - console.log("res1",res) if(res){ let resData=res.data; let deviceDatas=[]; @@ -204,7 +196,6 @@ export default { deviceData:resData }) proxy.deviceDatas=deviceDatas; - console.log("devdats",proxy.deviceDatas) proxy.getDeviceInfo() } @@ -232,7 +223,7 @@ export default { itemD.serviceClass='img-serve-'+serveNum;//设备的css的class itemD.uClass=''; if(leftStr>1){ - let bottom=(leftStr-1)*17; + let bottom=(leftStr-1)*16; itemD.uClass='bottom:'+bottom+'px'; } diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardDown/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardDown/index.html index 8dbef03..5d9c819 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardDown/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardDown/index.html @@ -50,8 +50,8 @@ <div class="grid-content bg-purple-light com-box"> <span> <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png"> - <span class="com-box-value" :style="combitnumberStyle" style="left: 31%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span> - <span class="com-box-value" :style="combitnumberStyle" style="left: 31%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span> + <span class="com-box-value" :style="combitnumberStyle" style="left: 32%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span> + <span class="com-box-value" :style="combitnumberStyle" style="left: 32%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span> </span> </div> </el-col> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardTop/index.html b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardTop/index.html index a38a0a8..f4c9e6a 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardTop/index.html +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardTop/index.html @@ -50,8 +50,8 @@ <div class="grid-content bg-purple-light com-box"> <span> <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png"> - <span class="com-box-value" :style="combitnumberStyle" style="left: 31%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span> - <span class="com-box-value" :style="combitnumberStyle" style="left: 31%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span> + <span class="com-box-value" :style="combitnumberStyle" style="left: 32%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span> + <span class="com-box-value" :style="combitnumberStyle" style="left: 32%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span> </span> </div> </el-col> diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/monitoring/index.js b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/monitoring/index.js index ce9efce..da1bb37 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/monitoring/index.js +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/monitoring/index.js @@ -43,7 +43,7 @@ export default { {value:v.value,date:v.date} ) legendData.push( - {value:i+1,date:v.date} + {value:v.number,date:v.date} ) }) proxy.legendData=legendData @@ -82,7 +82,7 @@ export default { }, xAxis: { type: 'category', - data: proxy.legendData, + data: proxy.legendData.reverse(), axisLine:{ show:true,//是否显示坐标线 lineStyle: { diff --git a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/zjdaping/components/dataCenter/index.js b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/zjdaping/components/dataCenter/index.js index 6e387d0..5a58bd8 100644 --- a/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/zjdaping/components/dataCenter/index.js +++ b/hg-monitor-web-zj/src/main/resources/static/vue3/src/views/zjdaping/components/dataCenter/index.js @@ -14,46 +14,6 @@ export default { jfdata:'', dialogMachineName:'', commandNameData:'', - commandNameDataH:[ - { - name:'湖州灾备机房一', - htmlName:'huzhouzaibeione', - val:'one' - }, - { - name:'湖州灾备机房二', - htmlName:'huzhouzaibeitwo', - val:'two' - }, - { - name:'湖州灾备机房三', - htmlName:'huzhouzaibeithree', - val:'three' - } - ],//机房布局html数据 - commandNameDataX:[ - { - name:'萧山IDC二号机房', - htmlName:'xiaoshansecond', - val:'one' - }, - { - name:'萧山IDC三号机房', - htmlName:'xiaoshanthird', - val:'two' - }, - { - name:'萧山IDC七号机房', - htmlName:'xiaoshanseven', - val:'three' - } - // { - // name:'兴议二号机房', - // htmlName:'xiaoshansecond', - // val:'one' - // } - ], - commandName:'',//下拉选择默认显示名称 htmlName:'',//机房组件名称-html名称 commandVal:'',//下拉选择选中值 src:'',//机房布局html地址 @@ -63,7 +23,6 @@ export default { const {proxy} = Vue.getCurrentInstance(); proxy.htmlName=Vue.ref(); proxy.commandVal=Vue.ref() - proxy.commandName=Vue.ref(); proxy.src=Vue.ref(); // 挂载完 @@ -71,22 +30,7 @@ export default { $.get(proxy.domainName +proxy.apiUrl+'?access_token='+localStorage.getItem('access_token'),function (res) { if(res.data){ proxy.jfdata=res.data; - /* const html = $("#sjzx_machineroom_id_Tmpl").render(res.data); - $("#sjzx_machineroom_id").html(html); - //机房点击事件 - $(".sjzx_machineroom").on("click",function () { - const name = $(this).attr("name"); - layer.open({ - type:2 - , shade: 0.6 //遮罩透明度 - , maxmin: false //允许全屏最小化 - , anim: 1 //0-6的动画形式,-1不开启 - , content:['http://127.0.0.1:8081/video.html?type='+name+'','no'] - , area:["1100px",'720px'] - // , title: true //不显示标题栏 - // , title: name - }) - });*/ + } }) @@ -98,12 +42,7 @@ export default { const isShowOuter=(item)=>{ proxy.dialogMachineName=item.machineRoomName; proxy.outerVisible = true; - if(item.layout == 0){ - proxy.commandNameData=proxy.commandNameDataH;//湖州机房布局数据 - }else{ - proxy.commandNameData=proxy.commandNameDataX;//兴议机房布局数据 - - } + proxy.getData(item); } //关闭弹框时清空数据 const closeDialog=()=>{ @@ -111,13 +50,38 @@ export default { } + /*获取机房数据 + * */ + let roomSecondData=Vue.ref([]);//兴议或者湖州下层机房数据 + const getData=(roomRow)=>{ + proxy.$http.get('/api-web/machineroom/list',{},function (res){ + if(res && res.data){ + let roomSecondDataArr=res.data; + let roomSecondData=[]; + + roomSecondDataArr.map((item,index)=>{ + if(item.parentId!='0' && roomRow.machineRoomId==item.parentId){ + roomSecondData.push(item) + } + }) + proxy.roomSecondData=roomSecondData; + + proxy.commandNameData=proxy.roomSecondData;//机房布局数据 + + console.log("下层机房数据",proxy.roomSecondData) + } + }) + } + return{ centerDialogVisible: Vue.ref(false), outerVisible: Vue.ref(false), innerVisible: Vue.ref(false), isShowOuter, isShow, - closeDialog + closeDialog, + roomSecondData, + getData } } }