Merge branch 'master-500-dev' of http://192.168.1.136:82/monitor_v3/hg-monitor-w…
…eb into master-500-dev
Showing
19 changed files
with
355 additions
and
84 deletions
@@ -851,9 +851,24 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'soulTable', 'sessions', 'comm | @@ -851,9 +851,24 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'soulTable', 'sessions', 'comm | ||
851 | $('table tr').hover(function (obj) { | 851 | $('table tr').hover(function (obj) { |
852 | $(obj.currentTarget).find('.reslist-view-topo').removeClass('hide'); | 852 | $(obj.currentTarget).find('.reslist-view-topo').removeClass('hide'); |
853 | $(obj.currentTarget).find('.reslist-assets-details').removeClass('hide'); | 853 | $(obj.currentTarget).find('.reslist-assets-details').removeClass('hide'); |
854 | + // Start 资源视图中的资源名称在表格中溢出时给最大宽度限制-更改单元格溢出时的tip跑到左上角 LSQ 2022/1/6 | ||
855 | + var w=$(obj.currentTarget).find('#res-div span').innerWidth(); | ||
856 | + var spanMaxW=parseInt($(obj.currentTarget).find('#res-div span').css('max-width')); | ||
857 | + //-20是一个图标的宽度,若要增加图标,这里的20需要增加 | ||
858 | + var maxW=(w-20)+'px'; | ||
859 | + if(w+15>=spanMaxW){ | ||
860 | + $(obj.currentTarget).find('#res-div span').css('max-width',maxW) | ||
861 | + } | ||
854 | }, function (obj) { | 862 | }, function (obj) { |
855 | $(obj.currentTarget).find('.reslist-view-topo').addClass('hide'); | 863 | $(obj.currentTarget).find('.reslist-view-topo').addClass('hide'); |
856 | $(obj.currentTarget).find('.reslist-assets-details').addClass('hide'); | 864 | $(obj.currentTarget).find('.reslist-assets-details').addClass('hide'); |
865 | + var w=$(obj.currentTarget).find('#res-div span').innerWidth(); | ||
866 | + var spanMaxW=parseInt($(obj.currentTarget).find('#res-div span').css('max-width')); | ||
867 | + var maxW=(w+20)+'px'; | ||
868 | + if(w+15>=spanMaxW){ | ||
869 | + $(obj.currentTarget).find('#res-div span').css('max-width',maxW) | ||
870 | + } | ||
871 | + //End LSQ 2022/1/6 | ||
857 | }) | 872 | }) |
858 | 873 | ||
859 | // 加入/移出收藏夹 | 874 | // 加入/移出收藏夹 |
@@ -645,6 +645,7 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin', 'upload',' | @@ -645,6 +645,7 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin', 'upload',' | ||
645 | } else { | 645 | } else { |
646 | clearInterval(timeTask); | 646 | clearInterval(timeTask); |
647 | layer.confirm(response.msg, {icon: 1, offset: '100px'}); | 647 | layer.confirm(response.msg, {icon: 1, offset: '100px'}); |
648 | + reloadCollectorTable(); | ||
648 | resetBtn(); | 649 | resetBtn(); |
649 | } | 650 | } |
650 | } else { | 651 | } else { |
@@ -96,7 +96,7 @@ layui.extend({ | @@ -96,7 +96,7 @@ layui.extend({ | ||
96 | 96 | ||
97 | //请求视图渲染 | 97 | //请求视图渲染 |
98 | view().render(path.join('/')).then(function(res){ | 98 | view().render(path.join('/')).then(function(res){ |
99 | - | 99 | +console.log("tag&&&&&&&&&",res,pathURL) |
100 | //遍历页签选项卡 | 100 | //遍历页签选项卡 |
101 | var matchTo | 101 | var matchTo |
102 | ,tabs = $('#LAY_app_tabsheader>li'); | 102 | ,tabs = $('#LAY_app_tabsheader>li'); |
@@ -113,7 +113,9 @@ layui.extend({ | @@ -113,7 +113,9 @@ layui.extend({ | ||
113 | try { | 113 | try { |
114 | let el = admin.tabsPage.elem; | 114 | let el = admin.tabsPage.elem; |
115 | if(el && el.attr('lay-href-type')){ | 115 | if(el && el.attr('lay-href-type')){ |
116 | - if(el.attr('lay-href-type') == 'menu' && !matchTo){ | 116 | + //lsq 页面刷新后名称改变 2022-03-29 |
117 | + // if(el.attr('lay-href-type') == 'menu' && !matchTo){ | ||
118 | + if(el.attr('lay-href-type') == 'menu'){ | ||
117 | tabName= admin.tabsPage.elem.text() | 119 | tabName= admin.tabsPage.elem.text() |
118 | } | 120 | } |
119 | } | 121 | } |
@@ -533,7 +533,72 @@ | @@ -533,7 +533,72 @@ | ||
533 | </p> | 533 | </p> |
534 | </div> | 534 | </div> |
535 | </script> | 535 | </script> |
536 | +<!--//start lsq 首页、资源视图、业务视图的资源名称点击进入详情--> | ||
537 | +<!--资源名称--> | ||
538 | +<script type="text/html" id="resindex_resName"> | ||
539 | + <!-- 更改单元格溢出时的tip跑到左上角 LSQ 2022/1/6--> | ||
540 | + <div id="res-div"> | ||
541 | + {{# var urlLast=window.location.hash; | ||
542 | + var w=$(".layui-table thead th[data-field='resName']").data('minwidth'); | ||
543 | + if(urlLast=="#/res/index"){ | ||
544 | + w=$("[lay-id='resListTable'] table thead th[data-field='resName'").data('minwidth'); | ||
536 | 545 | ||
546 | + }else if(urlLast=="#/biz/index"){ | ||
547 | + w=$("[lay-id='bizListTable'] table thead th[data-field='resName'").data('minwidth'); | ||
548 | + }else if(urlLast.indexOf("#/biz/list")!=-1){ | ||
549 | + w=$("[lay-id='bizResListTable'] table thead th[data-field='resName'").data('minwidth'); | ||
550 | + w=w?w:$("[lay-id='bizResListTable'] table thead th[data-field='resName'").innerWidth(); | ||
551 | + } | ||
552 | + var maxW=(w-45)+'px'; | ||
553 | + var styleW="float: left;max-width: "+maxW+";overflow: hidden; text-overflow: ellipsis; white-space: nowrap;display: inline-block;"; | ||
554 | + }} | ||
555 | + <span lay-tips="{{ d.resName }}" style="{{styleW}}" data-zymc="{{ d.resId }}" data-restype="{{d.resType}}" data-name="{{d.resName}}" data-childrennum="{{d.childrenNum}}" data-ip="{{ d.ip }}" data-resTypeName="{{ d.resTypeName }}" data-admin="{{ d.admin }}" data-adminname="{{ d.adminName }}" data-pingenable="{{d.pingEnable}}" data-manageIp="{{d.manageIp}}" data-collProtocol="{{d.collProtocol}}" data-provider="{{d.provider}}" data-state="{{d.state}}" class="layui-table-link">{{ d.resName }}</span> | ||
556 | + {{# if (d.favId == null) { }} | ||
557 | + <a class="layui-icon layui-icon-rate hide" data-favid="{{d.favId}}" data-id="{{d.resId}}" lay-tips="加入收藏夹" style="font-size: 14px"></a> | ||
558 | + {{# } else { }} | ||
559 | + <a class="layui-icon layui-icon-rate-solid" data-favid="{{d.favId}}" style="color: #FEB61E; font-size: 14px; margin-left: 1px;" data-id="{{d.resId}}" lay-tips="移出收藏夹"></a> | ||
560 | + {{# } }} | ||
561 | + <a class="layui-icon reslist-view-topo hide" data-resid="{{d.resId}}" style="color: #FEB61E; font-size: 14px; margin-left: 1px;" lay-tips="查看资源拓扑"><i class="iconfont"></i></a> | ||
562 | + <!--{{# if (d.resCategory == 'share' && d.hardwareFlag && d.hardwareFlag.endsWith("Y")) { }} | ||
563 | + <a class="layui-icon reslist-assets-details hide" data-resid="{{d.resId}}" data-restype="{{d.resType}}" data-name="{{d.resName}}" data-ip="{{ d.ip }}" style="color: #FEB61E; font-size: 14px; margin-left: 10px;" lay-tips="资产配置信息"><i class="iconfont"></i></a> | ||
564 | + {{# } }}--> | ||
565 | + </div> | ||
566 | +</script> | ||
567 | +<!--详情页面连接状态--> | ||
568 | +<script type="text/html" id="linkStateDetailTpl"> | ||
569 | + {{# | ||
570 | + var linkStateHtml = ''; | ||
571 | + var linkStateTips = '无连接信息'; | ||
572 | + if(d.linkStateList && d.linkStateList.length) { | ||
573 | + linkStateTips = ''; | ||
574 | + if(d.linkStateList.length == 1) { | ||
575 | + var linkState = d.linkStateList[0]; | ||
576 | + linkStateTips = `${linkState.protocol}: ${linkState.state}`; | ||
577 | + if(linkState.state.indexOf('成功') !== -1) { | ||
578 | + linkStateHtml = `<span class="span-green">${linkState.state}</span>`; | ||
579 | + } else { | ||
580 | + linkStateHtml = `<span class="span-red">${linkState.state}</span>`; | ||
581 | + } | ||
582 | + } else { | ||
583 | + linkStateTips += `<ul class='ul-link-state-tips'>`; | ||
584 | + layui.each(d.linkStateList, function(index, value) { | ||
585 | + if(value.state.indexOf('成功') !== -1) { | ||
586 | + linkStateTips += `<li class='li-link-state-tips-green'>${value.protocol}: ${value.state}</li>`; | ||
587 | + linkStateHtml += '<div class="layui-badge-dot layui-bg-green"></div>'; | ||
588 | + } else { | ||
589 | + linkStateTips += `<li class='li-link-state-tips-red'>${value.protocol}: ${value.state}</li>`; | ||
590 | + linkStateHtml += '<div class="layui-badge-dot layui-bg-red"></div>'; | ||
591 | + } | ||
592 | + }); | ||
593 | + linkStateTips += '</ul>'; | ||
594 | + } | ||
595 | + } | ||
596 | + }} | ||
597 | + <div class="div-link-state-list" lay-tips="{{linkStateTips}}"> | ||
598 | + {{linkStateHtml}} | ||
599 | + </div> | ||
600 | +</script> | ||
601 | +<!--//end lsq 2022-03-29--> | ||
537 | <!--最大文件系统使用率--> | 602 | <!--最大文件系统使用率--> |
538 | <script type="text/html" id="fileUseRateTpl"> | 603 | <script type="text/html" id="fileUseRateTpl"> |
539 | <div class="layui-progress-wrap kpiSubDiv" data-resid={{d.resId}} data-kpiid="KPI449F5365" data-flag="fs" data-name="{{d.os=='windows'?'磁盘使用情况':'文件系统使用情况'}}" data-showtype="bar" data-barkpiid="{{d.os=='windows'?'KPI29D42042,KPI1988842F':'KPIA91F44E7,KPI98306224'}}" data-barxaxis="{{d.os=='windows'?'KPI9D22EAB6':'KPI7AC1664E'}}" | 604 | <div class="layui-progress-wrap kpiSubDiv" data-resid={{d.resId}} data-kpiid="KPI449F5365" data-flag="fs" data-name="{{d.os=='windows'?'磁盘使用情况':'文件系统使用情况'}}" data-showtype="bar" data-barkpiid="{{d.os=='windows'?'KPI29D42042,KPI1988842F':'KPIA91F44E7,KPI98306224'}}" data-barxaxis="{{d.os=='windows'?'KPI9D22EAB6':'KPI7AC1664E'}}" |
@@ -6,6 +6,13 @@ | @@ -6,6 +6,13 @@ | ||
6 | max-height: 100%; | 6 | max-height: 100%; |
7 | overflow: auto; | 7 | overflow: auto; |
8 | } | 8 | } |
9 | +.alarmsClearEditor-container .el-button--primary{ | ||
10 | + background: #1E9FFF; | ||
11 | + border-color: #1E9FFF; | ||
12 | + } | ||
13 | +.alarmsClearEditor-container .el-tag{ | ||
14 | + color:#1E9FFF; | ||
15 | +} | ||
9 | .alarmsClearEditor-info{ | 16 | .alarmsClearEditor-info{ |
10 | /*padding:10px;*/ | 17 | /*padding:10px;*/ |
11 | } | 18 | } |
@@ -40,6 +47,10 @@ | @@ -40,6 +47,10 @@ | ||
40 | text-align: left; | 47 | text-align: left; |
41 | width:100%; | 48 | width:100%; |
42 | } | 49 | } |
50 | +.info-item-statistics .el-collapse-item__content{ | ||
51 | + max-height:250px; | ||
52 | + overflow: auto; | ||
53 | +} | ||
43 | .info-content{ | 54 | .info-content{ |
44 | margin-bottom: 5px; | 55 | margin-bottom: 5px; |
45 | } | 56 | } |
@@ -136,3 +147,32 @@ | @@ -136,3 +147,32 @@ | ||
136 | .apply-btn .el-button{ | 147 | .apply-btn .el-button{ |
137 | margin:3px; | 148 | margin:3px; |
138 | } | 149 | } |
150 | +.clearDetail-container{ | ||
151 | + padding:0 15px; | ||
152 | + min-height: 500px; | ||
153 | + max-height:800px; | ||
154 | + overflow: auto; | ||
155 | +} | ||
156 | +.clearDetail-title{ | ||
157 | + text-align: left; | ||
158 | + font-size:16px; | ||
159 | +} | ||
160 | +.clearDetail-handlePer{ | ||
161 | + display: flex; | ||
162 | + align-items: center; | ||
163 | + justify-content: space-between; | ||
164 | +} | ||
165 | +.clearDetail-handlePer{ | ||
166 | + padding:10px 0; | ||
167 | + color:#999999; | ||
168 | +} | ||
169 | +.editor{ | ||
170 | + text-align: left; | ||
171 | +} | ||
172 | +.tag-keyword-span{ | ||
173 | + padding:5px 10px; | ||
174 | + background: #ecf5ff; | ||
175 | + color:#1E9FFF; | ||
176 | + margin:5px; | ||
177 | + border-radius: 3px; | ||
178 | +} |
hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/noticeStatistics/index.html
1 | <div class="info-content"> | 1 | <div class="info-content"> |
2 | <div class="info-content-body"> | 2 | <div class="info-content-body"> |
3 | <div class="content-body-info"> | 3 | <div class="content-body-info"> |
4 | - <div class="info-item-notice">通知信息:{{alarmInfo.alarmContent}}</div> | ||
5 | - <div class="info-item-notice">通知人清单:{{alarmInfo.nickName}}</div> | ||
6 | - | ||
7 | - </div> | ||
8 | - </div> | ||
9 | -</div> | ||
10 | -<div class="info-content"> | ||
11 | - <div class="info-content-body"> | ||
12 | - <div class="content-body-info"> | ||
13 | <div class="info-item-statistics"> | 4 | <div class="info-item-statistics"> |
14 | 统计信息:该告警历史上出现了{{statisticsData.alarmCnt?statisticsData.alarmCnt:0}}次 | 5 | 统计信息:该告警历史上出现了{{statisticsData.alarmCnt?statisticsData.alarmCnt:0}}次 |
15 | <span v-if="statisticsData.alarmCnt">,平均持续时长{{statisticsData.continueTimeAvg?statisticsData.continueTimeAvg:0}}s, | 6 | <span v-if="statisticsData.alarmCnt">,平均持续时长{{statisticsData.continueTimeAvg?statisticsData.continueTimeAvg:0}}s, |
@@ -6,10 +6,6 @@ export default { | @@ -6,10 +6,6 @@ export default { | ||
6 | type: String, | 6 | type: String, |
7 | default: '' | 7 | default: '' |
8 | }, | 8 | }, |
9 | - alarmInfo:{ | ||
10 | - type:Object, | ||
11 | - default:{} | ||
12 | - }, | ||
13 | //同类型告警处理审核部分是否显示 | 9 | //同类型告警处理审核部分是否显示 |
14 | isExamine: { | 10 | isExamine: { |
15 | type: Boolean, | 11 | type: Boolean, |
@@ -40,7 +40,7 @@ | @@ -40,7 +40,7 @@ | ||
40 | <template #tools="{scope}" > | 40 | <template #tools="{scope}" > |
41 | <div class="apply-btn"> | 41 | <div class="apply-btn"> |
42 | <el-button v-if="(scope.row.status==1 && scope.row.approver==loginName) || ((scope.row.status==0 || scope.row.status==3) && scope.row.managename==loginName) " @click="handle(scope.row)" size="mini">处理</el-button> | 42 | <el-button v-if="(scope.row.status==1 && scope.row.approver==loginName) || ((scope.row.status==0 || scope.row.status==3) && scope.row.managename==loginName) " @click="handle(scope.row)" size="mini">处理</el-button> |
43 | - <el-button v-if="(scope.row.status==1 && scope.row.managename==loginName) || scope.row.status==2 " @click="handle(scope.row)" size="mini">查看</el-button> | 43 | + <el-button v-if="(scope.row.status==1 && scope.row.managename==loginName) || scope.row.status==2 || (scope.row.status==3 && scope.row.approver==loginName)" @click="handle(scope.row)" size="mini">查看</el-button> |
44 | </div> | 44 | </div> |
45 | 45 | ||
46 | </template> | 46 | </template> |
@@ -52,7 +52,7 @@ | @@ -52,7 +52,7 @@ | ||
52 | <!--新增编辑弹框--> | 52 | <!--新增编辑弹框--> |
53 | <cm-dialog :title="dialog.title" :showDialogVisible="dialog.show" @hidedialog="hideDialog" :showFooter="false"> | 53 | <cm-dialog :title="dialog.title" :showDialogVisible="dialog.show" @hidedialog="hideDialog" :showFooter="false"> |
54 | <template v-slot> | 54 | <template v-slot> |
55 | - <alarmsClearEditor :isExamine="true" @saveback='saveback' :status="dialog.amStatus" :amId="dialog.amId" /> | 55 | + <alarmsClearEditor v-if="dialog.show" :isExamine="true" @saveback='saveback' :status="dialog.amStatus" :amId="dialog.amId" :alarmId="dialog.alarmId"/> |
56 | </template> | 56 | </template> |
57 | </cm-dialog> | 57 | </cm-dialog> |
58 | 58 |
@@ -23,7 +23,8 @@ export default { | @@ -23,7 +23,8 @@ export default { | ||
23 | title : "处理审批", | 23 | title : "处理审批", |
24 | show:false, | 24 | show:false, |
25 | amId : '', | 25 | amId : '', |
26 | - amStatus:0 | 26 | + amStatus:0, |
27 | + alarmId:'', | ||
27 | }); | 28 | }); |
28 | 29 | ||
29 | //表格字段 | 30 | //表格字段 |
@@ -116,6 +117,7 @@ export default { | @@ -116,6 +117,7 @@ export default { | ||
116 | hideDialog(true); | 117 | hideDialog(true); |
117 | dialog.value.amId = row.id; | 118 | dialog.value.amId = row.id; |
118 | dialog.value.amStatus = row.status; | 119 | dialog.value.amStatus = row.status; |
120 | + dialog.value.alarmId = row.alarmId; | ||
119 | } | 121 | } |
120 | //审核保存后关闭弹框 | 122 | //审核保存后关闭弹框 |
121 | let saveback=(val)=>{ | 123 | let saveback=(val)=>{ |
1 | +<div class="clearDetail-container"> | ||
2 | + <div class="clearDetail-title">消除原因:{{handleInfoObj.reason}}</div> | ||
3 | + <div class="clearDetail-handlePer"> | ||
4 | + <div class="handlePer-left"> | ||
5 | + <span>处理人:{{handleInfoObj.managenameName}}</span> | ||
6 | + </div> | ||
7 | + <div> | ||
8 | + <span>处理时间:{{handleInfoObj.managetime}}</span> | ||
9 | + </div> | ||
10 | + <div class="handlePer-left"> | ||
11 | + <span>审批人:{{handleInfoObj.approverName}}</span> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + <div class="clearDetail-pcontent" v-html="handleInfoObj.pcontent"> | ||
15 | + 图文信息{{handleInfoObj.pcontent}} | ||
16 | + </div> | ||
17 | +</div> |
hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/clearDetail/index.js
0 → 100644
1 | +export default { | ||
2 | + name: 'alarmsClearEditorDetail', | ||
3 | + template: '', | ||
4 | + components: { | ||
5 | + | ||
6 | + }, | ||
7 | + props: { | ||
8 | + isExamine: { | ||
9 | + type: Boolean, | ||
10 | + default: false | ||
11 | + }, | ||
12 | + amId:{ | ||
13 | + type:String, | ||
14 | + default: '' | ||
15 | + } | ||
16 | + }, | ||
17 | + setup(props, {attrs, slots, emit}) { | ||
18 | + const {proxy} = Vue.getCurrentInstance(); | ||
19 | + let handleInfoObj=Vue.ref(''); | ||
20 | + let getDetail=()=>{ | ||
21 | + proxy.$http.get(`/api-web/bAlarmManage/getAlarmManageById`, {amId:props.amId}, function (res) { | ||
22 | + if (res && res.code == 0) { | ||
23 | + if(res.object){ | ||
24 | + handleInfoObj.value=res.object; | ||
25 | + | ||
26 | + } | ||
27 | + } | ||
28 | + }) | ||
29 | + } | ||
30 | + // 挂载完 | ||
31 | + Vue.onMounted(() => { | ||
32 | + getDetail(); | ||
33 | + }) | ||
34 | + | ||
35 | + | ||
36 | + return { | ||
37 | + handleInfoObj, | ||
38 | + getDetail, | ||
39 | + } | ||
40 | + } | ||
41 | + | ||
42 | +} |
@@ -61,10 +61,19 @@ | @@ -61,10 +61,19 @@ | ||
61 | </div> | 61 | </div> |
62 | </div> | 62 | </div> |
63 | </div> | 63 | </div> |
64 | + <div class="info-content"> | ||
65 | + <div class="info-content-body"> | ||
66 | + <div class="content-body-info"> | ||
67 | + <div class="info-item-notice">通知信息:{{alarmInfo.alarmContent}}</div> | ||
68 | + <div class="info-item-notice">通知人清单:{{alarmInfo.nickName}}</div> | ||
69 | + | ||
70 | + </div> | ||
71 | + </div> | ||
72 | + </div> | ||
64 | <!--通知统计信息组件--> | 73 | <!--通知统计信息组件--> |
65 | - <cm-notice-statistics :alarmId="alarmId" :alarmInfo="alarmInfo" :isExamine="isExamine"></cm-notice-statistics> | 74 | + <cm-notice-statistics v-if="alarmIdVal" :alarmId="alarmIdVal" :isExamine="isExamine"></cm-notice-statistics> |
66 | </div> | 75 | </div> |
67 | - <div class="alarmsRadio" v-if="alarmInfo.alarmTypeCustom=='active' || status==0 || status==3"> | 76 | + <div class="alarmsRadio" v-if="alarmInfo.alarmTypeCustom=='active' || alarmInfo.alarmTypeCustom=='his' || status==0 || status==3"> |
68 | <div class="alarmNotice-title">消除原因</div> | 77 | <div class="alarmNotice-title">消除原因</div> |
69 | <div class="alarmsNotice"> | 78 | <div class="alarmsNotice"> |
70 | <div class="alarmsDes"><el-input v-model="reason" placeholder="消除原因" /></div> | 79 | <div class="alarmsDes"><el-input v-model="reason" placeholder="消除原因" /></div> |
@@ -112,10 +121,11 @@ | @@ -112,10 +121,11 @@ | ||
112 | <i class="el-icon-edit-outline update-icon" v-if="!isExamine || status==0 || status==3" @click="showUserDialog(true)" ></i> | 121 | <i class="el-icon-edit-outline update-icon" v-if="!isExamine || status==0 || status==3" @click="showUserDialog(true)" ></i> |
113 | </span> | 122 | </span> |
114 | </span> | 123 | </span> |
115 | - <span class="title-handle-per" v-if="!isExamine || status==0 || status==3">时间:{{dateTime}}</span> | 124 | + <span class="title-handle-per" v-if="!isExamine || status==0">时间:{{dateTime}}</span> |
125 | + <span class="title-handle-per" v-if="status==3">时间:{{handleInfoObj.managetime}}</span> | ||
116 | </div> | 126 | </div> |
117 | - <cm-wang-editor v-if="!isExamine || status==0 || status==3" v-model="detail" :repositoryInfo="repositoryInfo" :isDisabled="repositoryInto==1?true:false" :isClear="isClear" @change="change" @changetext="changetext"></cm-wang-editor> | ||
118 | - <div class="editor_detail" v-if="isExamine && status!=0 && status!=3" > | 127 | + <cm-wang-editor v-if="!isExamine || status==0 || (status==3 && handleInfoObj.managename==loginName)" v-model="detail" :repositoryInfo="repositoryInfo" :isDisabled="repositoryInto==1?true:false" :isClear="isClear" @change="change" @changetext="changetext"></cm-wang-editor> |
128 | + <div class="editor_detail" v-if="isExamine && status!=0 && (status==3 && approverName==loginName)" > | ||
119 | <div v-html="handleInfoObj.pcontent"></div> | 129 | <div v-html="handleInfoObj.pcontent"></div> |
120 | </div> | 130 | </div> |
121 | </div> | 131 | </div> |
@@ -134,7 +144,10 @@ | @@ -134,7 +144,10 @@ | ||
134 | </div> | 144 | </div> |
135 | </div> | 145 | </div> |
136 | <div class="alarmsClearTag" v-if="repositoryInto && (!isExamine || status==0 || status==3) "> | 146 | <div class="alarmsClearTag" v-if="repositoryInto && (!isExamine || status==0 || status==3) "> |
137 | - <div class="tag-keyword"> | 147 | + <div class="tag-keyword" v-if="approverName==loginName"> |
148 | + 关键字:<span class="tag-keyword-span" v-for="tag in dynamicTags">{{tag}}</span> | ||
149 | + </div> | ||
150 | + <div class="tag-keyword" v-if="handleInfoObj.managename==loginName"> | ||
138 | 关键字: | 151 | 关键字: |
139 | <el-tag | 152 | <el-tag |
140 | v-for="tag in dynamicTags" | 153 | v-for="tag in dynamicTags" |
@@ -155,7 +168,7 @@ | @@ -155,7 +168,7 @@ | ||
155 | @keyup.enter="handleInputConfirm" | 168 | @keyup.enter="handleInputConfirm" |
156 | @blur="handleInputConfirm" | 169 | @blur="handleInputConfirm" |
157 | /> | 170 | /> |
158 | - <el-button v-else class="button-new-tag ml-1" size="small" @click="showInput"> | 171 | + <el-button v-else class="button-new-tag ml-1" size="small" @click="showInput" > |
159 | + 添加 | 172 | + 添加 |
160 | </el-button> | 173 | </el-button> |
161 | </div> | 174 | </div> |
@@ -172,13 +185,13 @@ | @@ -172,13 +185,13 @@ | ||
172 | </div> | 185 | </div> |
173 | <div class="alarmsClearEditor-btn"> | 186 | <div class="alarmsClearEditor-btn"> |
174 | <el-button type="primary" @click="saveDetail(0)" v-if="!isExamine" size="small">存为草稿</el-button> | 187 | <el-button type="primary" @click="saveDetail(0)" v-if="!isExamine" size="small">存为草稿</el-button> |
175 | - <el-button type="primary" @click="saveDetail(1)" v-if="!isExamine || status==0 ||status==3" size="small">确认</el-button> | 188 | + <el-button type="primary" @click="saveDetail(1)" v-if="!isExamine || status==0 || (status==3 && handleInfoObj.managename==loginName)" size="small">确认</el-button> |
176 | {{amStatus}} | 189 | {{amStatus}} |
177 | <el-button type="primary" @click="saveDetail(2)" v-if="isExamine && status==1 && approverName==loginName" size="small">通过</el-button> | 190 | <el-button type="primary" @click="saveDetail(2)" v-if="isExamine && status==1 && approverName==loginName" size="small">通过</el-button> |
178 | <el-button type="primary" @click="saveDetail(3)" v-if="isExamine && status==1 && approverName==loginName" size="small">不通过</el-button> | 191 | <el-button type="primary" @click="saveDetail(3)" v-if="isExamine && status==1 && approverName==loginName" size="small">不通过</el-button> |
179 | <el-button @click="cancleBtn(0)" size="small">取消</el-button> | 192 | <el-button @click="cancleBtn(0)" size="small">取消</el-button> |
180 | </div> | 193 | </div> |
181 | - <cm-userright title="审批人(不支持多人,多选默认取第一个人)" :titles="titles" :showRole="false" :showGroup="false" :showDialogVisible="showUserDialogVisible" :selectedArr="userFileRight" :userArr="userList" :isUser="false" :showOrg="false" @callback="selectUser" | 194 | + <cm-userright title="审批人(不支持多人,多选默认取第一个人)" :titles="titles" :buttonTexts="buttonTexts" :showRole="false" :showGroup="false" :showDialogVisible="showUserDialogVisible" :selectedArr="userFileRight" :userArr="userList" :isUser="false" :showOrg="false" @callback="selectUser" |
182 | @hideDialog="showUserDialog"></cm-userright> | 195 | @hideDialog="showUserDialog"></cm-userright> |
183 | <!--关键字提取列表--> | 196 | <!--关键字提取列表--> |
184 | <cm-dialog :title="title" width="60%" :showDialogVisible="dialogVisible" :showFooter="true" @okfunc="okfunc" @hidedialog="closeDetail" :showOkBtn="true"> | 197 | <cm-dialog :title="title" width="60%" :showDialogVisible="dialogVisible" :showFooter="true" @okfunc="okfunc" @hidedialog="closeDetail" :showOkBtn="true"> |
@@ -15,6 +15,11 @@ export default { | @@ -15,6 +15,11 @@ export default { | ||
15 | status:{ | 15 | status:{ |
16 | type:Number, | 16 | type:Number, |
17 | default:1 | 17 | default:1 |
18 | + }, | ||
19 | + //告警id | ||
20 | + alarmId:{ | ||
21 | + type:String, | ||
22 | + default:'' | ||
18 | } | 23 | } |
19 | }, | 24 | }, |
20 | data () { | 25 | data () { |
@@ -29,7 +34,7 @@ export default { | @@ -29,7 +34,7 @@ export default { | ||
29 | let detail=Vue.ref(''); | 34 | let detail=Vue.ref(''); |
30 | let detailText=Vue.ref(''); | 35 | let detailText=Vue.ref(''); |
31 | //统计信息及同类型告警的alarmId | 36 | //统计信息及同类型告警的alarmId |
32 | - let alarmId=props.amId?Vue.ref(props.amId):''; | 37 | + let alarmIdVal=Vue.ref(''); |
33 | //审批人 | 38 | //审批人 |
34 | let approver=Vue.ref(''); | 39 | let approver=Vue.ref(''); |
35 | let approverName=Vue.ref('admin'); | 40 | let approverName=Vue.ref('admin'); |
@@ -197,6 +202,7 @@ export default { | @@ -197,6 +202,7 @@ export default { | ||
197 | } | 202 | } |
198 | // 审批人列表 | 203 | // 审批人列表 |
199 | let titles=['选择列表','已选择列表']; | 204 | let titles=['选择列表','已选择列表']; |
205 | + let buttonTexts=['取消', '选择']; | ||
200 | let showUserDialogVisible = Vue.ref(false); | 206 | let showUserDialogVisible = Vue.ref(false); |
201 | let userFileRight = Vue.ref([]);//已选择的用户 | 207 | let userFileRight = Vue.ref([]);//已选择的用户 |
202 | //获取所有审批人 | 208 | //获取所有审批人 |
@@ -256,7 +262,6 @@ export default { | @@ -256,7 +262,6 @@ export default { | ||
256 | let userNames = userObj.user.map(function (v) { | 262 | let userNames = userObj.user.map(function (v) { |
257 | return v.nickname; | 263 | return v.nickname; |
258 | }); | 264 | }); |
259 | - console.log("userIds",userObj) | ||
260 | approverName.value=userIds[0]; | 265 | approverName.value=userIds[0]; |
261 | approverLabel.value=userNames[0]; | 266 | approverLabel.value=userNames[0]; |
262 | 267 | ||
@@ -284,10 +289,24 @@ export default { | @@ -284,10 +289,24 @@ export default { | ||
284 | }else{ | 289 | }else{ |
285 | // getAlarmStatis(); | 290 | // getAlarmStatis(); |
286 | } | 291 | } |
292 | + alarmIdVal.value=props.alarmId; | ||
287 | getAlarmStatis(); | 293 | getAlarmStatis(); |
288 | // } | 294 | // } |
289 | }else { | 295 | }else { |
290 | - alarmInfo.value=proxy.$route.query; | 296 | + let urlObj=proxy.$route.query; |
297 | + if(urlObj){ | ||
298 | + for(let key in urlObj){ | ||
299 | + urlObj[key]=decodeURIComponent(urlObj[key]) | ||
300 | + } | ||
301 | + } | ||
302 | + alarmInfo.value=urlObj; | ||
303 | + if(alarmInfo.value.alarmTypeCustom=='his'){ | ||
304 | + let str=alarmInfo.value.alarmContent; | ||
305 | + let startIndex=str.indexOf("消除原因"); | ||
306 | + let endIndex=str.indexOf(",消除内容"); | ||
307 | + reason.value=str.substring(startIndex+5,endIndex); | ||
308 | + } | ||
309 | + alarmIdVal.value=alarmInfo.value.primaryKey; | ||
291 | getUser(); | 310 | getUser(); |
292 | } | 311 | } |
293 | getUserByToken(); | 312 | getUserByToken(); |
@@ -403,9 +422,6 @@ export default { | @@ -403,9 +422,6 @@ export default { | ||
403 | let data=res.object; | 422 | let data=res.object; |
404 | if(data){ | 423 | if(data){ |
405 | alarmInfo.value=data; | 424 | alarmInfo.value=data; |
406 | - if(alarmInfo.value.id){ | ||
407 | - alarmId.value=alarmInfo.value.id; | ||
408 | - } | ||
409 | if( alarmInfo.value.approver){ | 425 | if( alarmInfo.value.approver){ |
410 | approverName.value=alarmInfo.value.approver; | 426 | approverName.value=alarmInfo.value.approver; |
411 | userList.value.map(item=>{ | 427 | userList.value.map(item=>{ |
@@ -448,9 +464,9 @@ export default { | @@ -448,9 +464,9 @@ export default { | ||
448 | options,inputValue,dynamicTags,inputVisible,handleClose,showInput,handleInputConfirm, | 464 | options,inputValue,dynamicTags,inputVisible,handleClose,showInput,handleInputConfirm, |
449 | getKeyword, timer,dateTime,getDateTime,timeFormat, | 465 | getKeyword, timer,dateTime,getDateTime,timeFormat, |
450 | title, dialogVisible, height, dataList, columns, closeDetail,okfunc, getPage,selectionChange,dynamicTagsAppend, | 466 | title, dialogVisible, height, dataList, columns, closeDetail,okfunc, getPage,selectionChange,dynamicTagsAppend, |
451 | - showUserDialog,showUserDialogVisible,userFileRight,userList,selectUser,getUserList,titles, | 467 | + showUserDialog,showUserDialogVisible,userFileRight,userList,selectUser,getUserList,titles,buttonTexts, |
452 | getAlarmInfo,alarmInfo,cascaderValue,propsTrigger,handleChange,cascaderOptions,noticeFlag, | 468 | getAlarmInfo,alarmInfo,cascaderValue,propsTrigger,handleChange,cascaderOptions,noticeFlag, |
453 | - getUserByToken,getUser,cancleBtn,repositoryInfo,repositoryId,opinion,getAlarmStatis,handleInfoObj,alarmId | 469 | + getUserByToken,getUser,cancleBtn,repositoryInfo,repositoryId,opinion,getAlarmStatis,handleInfoObj,alarmIdVal |
454 | } | 470 | } |
455 | } | 471 | } |
456 | 472 |
@@ -31,7 +31,8 @@ | @@ -31,7 +31,8 @@ | ||
31 | <template #tools="{scope}"> | 31 | <template #tools="{scope}"> |
32 | <div class="list-handle"> | 32 | <div class="list-handle"> |
33 | <span class="icon-bg"> | 33 | <span class="icon-bg"> |
34 | - <i class="el-icon-delete" title="处理" @click="handleDelete(scope.row)"></i> | 34 | +<!-- <i class="el-icon-delete" title="处理" @click="handleDelete(scope.row)"></i>--> |
35 | + <i class="el-icon-view" title="查看" @click="handleView(scope.row)"></i> | ||
35 | </span> | 36 | </span> |
36 | </div> | 37 | </div> |
37 | </template> | 38 | </template> |
@@ -43,7 +44,7 @@ | @@ -43,7 +44,7 @@ | ||
43 | <!--弹框--> | 44 | <!--弹框--> |
44 | <cm-dialog :title="dialog.title" width="40%" :showDialogVisible="dialog.show" @hidedialog="hideDialog" :showFooter="false"> | 45 | <cm-dialog :title="dialog.title" width="40%" :showDialogVisible="dialog.show" @hidedialog="hideDialog" :showFooter="false"> |
45 | <template v-slot> | 46 | <template v-slot> |
46 | - <alarmsClearEditor :isExamine=true :amId="dialog.adId" /> | 47 | + <clearDetail :isExamine=true :amId="dialog.amId" /> |
47 | </template> | 48 | </template> |
48 | </cm-dialog> | 49 | </cm-dialog> |
49 | 50 |
@@ -5,8 +5,8 @@ export default { | @@ -5,8 +5,8 @@ export default { | ||
5 | 'resNameComponents': Vue.defineAsyncComponent( | 5 | 'resNameComponents': Vue.defineAsyncComponent( |
6 | () => myImport('components/page/res/resNameComponents/index') | 6 | () => myImport('components/page/res/resNameComponents/index') |
7 | ), | 7 | ), |
8 | - 'alarmsClearEditor': Vue.defineAsyncComponent( | ||
9 | - () => myImport('views/alarmsClearEditor/index') | 8 | + 'clearDetail': Vue.defineAsyncComponent( |
9 | + () => myImport('views/alarmsClearEditor/clearDetail/index') | ||
10 | ) | 10 | ) |
11 | }, | 11 | }, |
12 | props: [], | 12 | props: [], |
@@ -20,7 +20,7 @@ export default { | @@ -20,7 +20,7 @@ export default { | ||
20 | limit: 10, | 20 | limit: 10, |
21 | }); | 21 | }); |
22 | let dialog = Vue.ref({ | 22 | let dialog = Vue.ref({ |
23 | - title : "处理审批", | 23 | + title : "审批详情", |
24 | show:false, | 24 | show:false, |
25 | amId : '' | 25 | amId : '' |
26 | }); | 26 | }); |
@@ -116,10 +116,13 @@ export default { | @@ -116,10 +116,13 @@ export default { | ||
116 | // 处理弹框 | 116 | // 处理弹框 |
117 | let handle = (row) =>{ | 117 | let handle = (row) =>{ |
118 | hideDialog(true); | 118 | hideDialog(true); |
119 | - dialog.value.amId = row.amId; | 119 | + dialog.value.amId = row.amid; |
120 | } | 120 | } |
121 | 121 | ||
122 | - | 122 | + //查看详情 |
123 | + let handleView = (row) =>{ | ||
124 | + handle(row); | ||
125 | + } | ||
123 | // 挂载完 | 126 | // 挂载完 |
124 | Vue.onMounted(() => { | 127 | Vue.onMounted(() => { |
125 | getDataList(); | 128 | getDataList(); |
@@ -134,7 +137,8 @@ export default { | @@ -134,7 +137,8 @@ export default { | ||
134 | handle, | 137 | handle, |
135 | loaddata, | 138 | loaddata, |
136 | tableData, | 139 | tableData, |
137 | - getDataList | 140 | + getDataList, |
141 | + handleView | ||
138 | } | 142 | } |
139 | } | 143 | } |
140 | 144 |
@@ -257,7 +257,6 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -257,7 +257,6 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
257 | code: 'knFlag' | 257 | code: 'knFlag' |
258 | }, | 258 | }, |
259 | done: function (data) { | 259 | done: function (data) { |
260 | - console.log("knFlag",data) | ||
261 | let knFlag=data.object.value; | 260 | let knFlag=data.object.value; |
262 | if(knFlag == '1'){ | 261 | if(knFlag == '1'){ |
263 | //开启闭环 | 262 | //开启闭环 |
@@ -270,10 +269,13 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -270,10 +269,13 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
270 | return; | 269 | return; |
271 | } | 270 | } |
272 | let params=paramsData[0]; | 271 | let params=paramsData[0]; |
273 | - console.log("params",params) | ||
274 | for(let key in params){ | 272 | for(let key in params){ |
275 | if(params[key]){ | 273 | if(params[key]){ |
276 | - urlParams+=key+'='+params[key]+'&' | 274 | + let str=params[key]; |
275 | + if(typeof str=='string'){ | ||
276 | + str= str.replace(/%/g, '%25'); | ||
277 | + } | ||
278 | + urlParams+=key+'='+encodeURIComponent(str)+'&' | ||
277 | } | 279 | } |
278 | } | 280 | } |
279 | urlParams=urlParams.substr(0,urlParams.length-1)+'&alarmTypeCustom=active'; | 281 | urlParams=urlParams.substr(0,urlParams.length-1)+'&alarmTypeCustom=active'; |
@@ -1031,8 +1031,23 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -1031,8 +1031,23 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
1031 | //绑定鼠标移入移出事件 | 1031 | //绑定鼠标移入移出事件 |
1032 | $('table tr').hover(function (obj) { | 1032 | $('table tr').hover(function (obj) { |
1033 | $(obj.currentTarget).find('.reslist-view-topo').removeClass('hide'); | 1033 | $(obj.currentTarget).find('.reslist-view-topo').removeClass('hide'); |
1034 | + // Start 资源视图中的资源名称在表格中溢出时给最大宽度限制-更改单元格溢出时的tip跑到左上角 LSQ 2022/1/6 | ||
1035 | + var w=$(obj.currentTarget).find('#res-div span').innerWidth(); | ||
1036 | + var spanMaxW=parseInt($(obj.currentTarget).find('#res-div span').css('max-width')); | ||
1037 | + //-20是一个图标的宽度,若要增加图标,这里的20需要增加 | ||
1038 | + var maxW=(w-20)+'px'; | ||
1039 | + if(w+15>=spanMaxW){ | ||
1040 | + $(obj.currentTarget).find('#res-div span').css('max-width',maxW) | ||
1041 | + } | ||
1034 | }, function (obj) { | 1042 | }, function (obj) { |
1035 | $(obj.currentTarget).find('.reslist-view-topo').addClass('hide'); | 1043 | $(obj.currentTarget).find('.reslist-view-topo').addClass('hide'); |
1044 | + var w=$(obj.currentTarget).find('#res-div span').innerWidth(); | ||
1045 | + var spanMaxW=parseInt($(obj.currentTarget).find('#res-div span').css('max-width')); | ||
1046 | + var maxW=(w+20)+'px'; | ||
1047 | + if(w+15>=spanMaxW){ | ||
1048 | + $(obj.currentTarget).find('#res-div span').css('max-width',maxW) | ||
1049 | + } | ||
1050 | + //End LSQ 2022/1/6 | ||
1036 | }) | 1051 | }) |
1037 | 1052 | ||
1038 | // 加入/移出收藏夹 | 1053 | // 加入/移出收藏夹 |
@@ -21,7 +21,26 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -21,7 +21,26 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
21 | var bizId='';//业务Id | 21 | var bizId='';//业务Id |
22 | var busIdSelect; | 22 | var busIdSelect; |
23 | var busTypeList = []; | 23 | var busTypeList = []; |
24 | - | 24 | + //获取知识库开启状态 |
25 | + var knFlag=0; | ||
26 | + var minWidthHandle=100; | ||
27 | + function getSysConfCode(){ | ||
28 | + admin.req({ | ||
29 | + url: common.domainName + '/api-user/sysConf/getByCode', | ||
30 | + type: "get", | ||
31 | + data: { | ||
32 | + code: 'knFlag' | ||
33 | + }, | ||
34 | + done: function (data) { | ||
35 | + knFlag = data.object.value; | ||
36 | + if (knFlag == '1') { | ||
37 | + //开启闭环 | ||
38 | + minWidthHandle=150; | ||
39 | + } | ||
40 | + } | ||
41 | + }) | ||
42 | + } | ||
43 | + getSysConfCode(); | ||
25 | if (alarmNo) { | 44 | if (alarmNo) { |
26 | $("#historywarningkw").val(alarmNo); | 45 | $("#historywarningkw").val(alarmNo); |
27 | } | 46 | } |
@@ -229,7 +248,6 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -229,7 +248,6 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
229 | }) | 248 | }) |
230 | }); | 249 | }); |
231 | } | 250 | } |
232 | - | ||
233 | //渲染表格 | 251 | //渲染表格 |
234 | var historywarningTable; | 252 | var historywarningTable; |
235 | //获取配置的列 | 253 | //获取配置的列 |
@@ -242,6 +260,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -242,6 +260,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
242 | if (retCols) { | 260 | if (retCols) { |
243 | cols = retCols; | 261 | cols = retCols; |
244 | } else { | 262 | } else { |
263 | + | ||
245 | cols = [ | 264 | cols = [ |
246 | {type: 'checkbox', fixed: 'left'} | 265 | {type: 'checkbox', fixed: 'left'} |
247 | , { | 266 | , { |
@@ -281,8 +300,13 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -281,8 +300,13 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
281 | , {field: 'alarmTime', title: '首次告警时间', align: 'center', minWidth: 180, sort: true} | 300 | , {field: 'alarmTime', title: '首次告警时间', align: 'center', minWidth: 180, sort: true} |
282 | , {field: 'durationStr', title: '持续时间', align: 'center', width: 190} | 301 | , {field: 'durationStr', title: '持续时间', align: 'center', width: 190} |
283 | , { | 302 | , { |
284 | - title: '操作', align: 'center', minWidth: 100, | ||
285 | - templet: '<div><!--<span history-data-warn-clear="{{d.id}}" class="layui-table-link">消除</span>--> <span history-data-warn-view="{{d.id}}" class="layui-table-link">查看</span> <span history-data-warn-path="{{d.id}}" class="layui-table-link">轨迹</span></div>' | 303 | + title: '操作', align: 'center', minWidth: minWidthHandle, |
304 | + templet: `<div> | ||
305 | + | ||
306 | + <span history-data-warn-clear="{{d.id}}" class="layui-table-link">补录</span> | ||
307 | + <span history-data-warn-view="{{d.id}}" class="layui-table-link">查看</span> | ||
308 | + <span history-data-warn-path="{{d.id}}" class="layui-table-link">轨迹</span> | ||
309 | + </div>` | ||
286 | } | 310 | } |
287 | ]; | 311 | ]; |
288 | } | 312 | } |
@@ -355,41 +379,48 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -355,41 +379,48 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
355 | }); | 379 | }); |
356 | } | 380 | } |
357 | //start lsq 历史告警消除 2022-03-23 | 381 | //start lsq 历史告警消除 2022-03-23 |
358 | - $('[history-data-warn-clear]').unbind("click").on('click', function () { | ||
359 | - // Start 将对象转成key=value&key1=value1 LSQ 2022/03/22 | ||
360 | - let urlParams=''; | ||
361 | - // let paramsData=table.checkStatus('historywarningTable').data; | ||
362 | - let paramsData= []; | ||
363 | - | ||
364 | - if(resArr){ | ||
365 | - resArr.map(item=>{ | ||
366 | - if(item.id==$(this).attr('history-data-warn-clear')){ | ||
367 | - paramsData.push(item); | ||
368 | - } | ||
369 | - }) | ||
370 | - } | ||
371 | - let params=paramsData[0]; | ||
372 | - console.log("params",params) | ||
373 | - for(let key in params){ | ||
374 | - if(params[key]){ | ||
375 | - urlParams+=key+'='+params[key]+'&' | 382 | + if(knFlag=='1'){ |
383 | + $('[history-data-warn-clear]').show(); | ||
384 | + $('[history-data-warn-clear]').unbind("click").on('click', function () { | ||
385 | + // Start 将对象转成key=value&key1=value1 LSQ 2022/03/22 | ||
386 | + let urlParams=''; | ||
387 | + // let paramsData=table.checkStatus('historywarningTable').data; | ||
388 | + let paramsData= []; | ||
389 | + | ||
390 | + if(resArr){ | ||
391 | + resArr.map(item=>{ | ||
392 | + if(item.id==$(this).attr('history-data-warn-clear')){ | ||
393 | + paramsData.push(item); | ||
394 | + } | ||
395 | + }) | ||
376 | } | 396 | } |
377 | - } | ||
378 | - urlParams=urlParams.substr(0,urlParams.length-1)+'&alarmTypeCustom=his'; | ||
379 | - layer.open({ | ||
380 | - title: ['告警消除', 'font-size:18px;'], | ||
381 | - type: 2, | ||
382 | - area: ['80%', '90%'], | ||
383 | - shadeClose: true,//开启遮罩层 | ||
384 | - id: 'alarms_clear_id', | ||
385 | - // content: laytpl(res.body).render(JSON.stringify(params)), | ||
386 | - content: ['/vue3/index.html#/alarmsClearEditor?'+urlParams, 'no'], | ||
387 | - cancel: function () { | ||
388 | - clearTimeout(); | 397 | + let params=paramsData[0]; |
398 | + for(let key in params){ | ||
399 | + if(params[key]){ | ||
400 | + let str=params[key]; | ||
401 | + if(typeof str=='string'){ | ||
402 | + str= str.replace(/%/g, '%25'); | ||
403 | + } | ||
404 | + urlParams+=key+'='+encodeURIComponent(str)+'&' | ||
405 | + } | ||
389 | } | 406 | } |
390 | - }); | ||
391 | - }) | ||
392 | - | 407 | + urlParams=urlParams.substr(0,urlParams.length-1)+'&alarmTypeCustom=his'; |
408 | + layer.open({ | ||
409 | + title: ['告警消除', 'font-size:18px;'], | ||
410 | + type: 2, | ||
411 | + area: ['80%', '90%'], | ||
412 | + shadeClose: true,//开启遮罩层 | ||
413 | + id: 'alarms_clear_id', | ||
414 | + // content: laytpl(res.body).render(JSON.stringify(params)), | ||
415 | + content: ['/vue3/index.html#/alarmsClearEditor?'+urlParams, 'no'], | ||
416 | + cancel: function () { | ||
417 | + clearTimeout(); | ||
418 | + } | ||
419 | + }); | ||
420 | + }) | ||
421 | + }else{ | ||
422 | + $('[history-data-warn-clear]').hide(); | ||
423 | + } | ||
393 | //end lsq 2022-03-23 | 424 | //end lsq 2022-03-23 |
394 | //告警操作日志 | 425 | //告警操作日志 |
395 | $('[history-data-warn-view]').unbind("click").on('click', function () { | 426 | $('[history-data-warn-view]').unbind("click").on('click', function () { |
@@ -596,6 +596,9 @@ | @@ -596,6 +596,9 @@ | ||
596 | 596 | ||
597 | }else if(urlLast=="#/biz/index"){ | 597 | }else if(urlLast=="#/biz/index"){ |
598 | w=$("[lay-id='bizListTable'] table thead th[data-field='resName'").data('minwidth'); | 598 | w=$("[lay-id='bizListTable'] table thead th[data-field='resName'").data('minwidth'); |
599 | + }else if(urlLast.indexOf("#/biz/list")!=-1){ | ||
600 | + w=$("[lay-id='bizResListTable'] table thead th[data-field='resName'").data('minwidth'); | ||
601 | + w=w?w:$("[lay-id='bizResListTable'] table thead th[data-field='resName'").innerWidth(); | ||
599 | } | 602 | } |
600 | var maxW=(w-45)+'px'; | 603 | var maxW=(w-45)+'px'; |
601 | var styleW="float: left;max-width: "+maxW+";overflow: hidden; text-overflow: ellipsis; white-space: nowrap;display: inline-block;"; | 604 | var styleW="float: left;max-width: "+maxW+";overflow: hidden; text-overflow: ellipsis; white-space: nowrap;display: inline-block;"; |
@@ -728,7 +731,7 @@ | @@ -728,7 +731,7 @@ | ||
728 | {{# | 731 | {{# |
729 | var linkStateHtml = ''; | 732 | var linkStateHtml = ''; |
730 | var linkStateTips = '无连接信息'; | 733 | var linkStateTips = '无连接信息'; |
731 | - if(d.linkStateList && d.linkStateList.length >=0 ) { | 734 | + if(d.linkStateList && d.linkStateList.length >=0 && d.resType !== 'MIDDLEWARE_WEBLOGIC') { |
732 | linkStateTips = ''; | 735 | linkStateTips = ''; |
733 | if(d.linkStateList.length == 1) { | 736 | if(d.linkStateList.length == 1) { |
734 | var linkState = d.linkStateList[0]; | 737 | var linkState = d.linkStateList[0]; |
@@ -779,6 +782,21 @@ | @@ -779,6 +782,21 @@ | ||
779 | linkStateTips += '</ul>'; | 782 | linkStateTips += '</ul>'; |
780 | } | 783 | } |
781 | } | 784 | } |
785 | + }else{ | ||
786 | + /*对于中间件weblogic来讲,只有控制台有连接状态指标,服务的连接状态是服务对应的服务状态指标,此列表中只展示所有weblogic的服务信息,所以这里直接取视图中的monitorState字段作为连接状态*/ | ||
787 | + linkStateTips='连接成功'; | ||
788 | + if(d.linkState.indexOf('成功') !== -1) { | ||
789 | + linkStateHtml = '<button type="button" class="layui-btn layui-btn-radius layui-bg-green layui-btn-xs p-0-15 cant-click">成功</button>'; | ||
790 | + } else { | ||
791 | + linkStateHtml = `<button type="button" | ||
792 | + id="${d.resId}_bizdanger" | ||
793 | + data-message="${d.message}" | ||
794 | + data-state="${d.state}" | ||
795 | + data-id="${d.resId}_bizdanger" | ||
796 | + class="layui-btn layui-btn-danger layui-bg-red layui-btn-radius layui-btn-xs p-0-15 cant-click"> | ||
797 | + 失败 | ||
798 | + </button>`; | ||
799 | + } | ||
782 | } | 800 | } |
783 | }} | 801 | }} |
784 | <div class="div-link-state-list" lay-tips="{{linkStateTips}}"> | 802 | <div class="div-link-state-list" lay-tips="{{linkStateTips}}"> |
-
Please register or login to post a comment