Authored by wangtao

Merge branch 'master' into master-prod

# Conflicts:
#	hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js
Showing 26 changed files with 1057 additions and 798 deletions
No preview for this file type
... ... @@ -31,9 +31,9 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
});
var resType = localStorage.getItem("currentResType");
var NoticeMergeFlag = 'off';
// 获取合并通知开关是否开启
getNoticeMergeFlag();
let NoticeMergeFlag = 'off';
function getNoticeMergeFlag(){
admin.req({
url: common.domainName + '/api-web/manage/ddic/findSucDdics/noticeMergeFlag'
... ...
... ... @@ -9,7 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
var xmSelect = layui.xmSelect;
var treeTable = layui.treeTable;
var domainName = common.domainName;
var resListSelectIds = [];
//对外暴露的接口
exports('alarmpolicyIndex', function (data) {
var sessions = layui.sessions;
... ... @@ -17,7 +17,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
//获得权限列表
var checkList = common.checkPermission(accessToken);
var resName = '';
resListSelectIds = [];
var table_data = [];
if (data && data.type == 'alarmTemplate') {
$('#alarmpolicy_policyType').val('0');
$('#alarmpolicy_policyType').attr('disabled','disabled');
... ... @@ -96,7 +97,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
}
, even: true
, cols: [[
{type: 'checkbox'}
{type: 'checkbox',field: 'checkbox'}
, {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:120,
templet: function(d){
var checked = '';
... ... @@ -157,7 +158,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
'</div>'
}
]],
done:function () {
done:function (res) {
table_data = res.data;
//设置默认
form.on('switch(switchPolicyType)', function(obj){
var alarmPolicyId = obj.elem.id;
... ... @@ -204,9 +206,61 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
var id = $(this).data("id");
deleteAlarmPolicy(id)
});
//回显
if(data && data.oldData){
resListSelectIds = data.oldData;
$.each(res.data,function (i,e) {
$.each(data.oldData,function (j,k) {
if(e.alarmPolicyId === k){
var index= e.LAY_TABLE_INDEX;
$("[lay-id='alarmpolicyTable']").find('tr[data-index=' + index + '] input[name="layTableCheckbox"]').next().click();
}
})
})
}
}
});
//监听ckecked选中事件
table.on('checkbox(alarmpolicyTable)', function(obj){
if (obj.checked == true) {
if (obj.type == 'one' && resListSelectIds.indexOf(obj.data.resId) === -1) {//勾选单条
resListSelectIds.push(obj.data.alarmPolicyId);
}
if (obj.type == 'all') {//勾选全部
for (var i = 0; i < table_data.length; i++) {
if (resListSelectIds.indexOf(obj.data.alarmPolicyId) === -1) {
resListSelectIds.push(table_data[i].alarmPolicyId);
}
}
}
} else {
if (obj.type == 'one') {
for (var i = 0; i < resListSelectIds.length; i++) {
if (resListSelectIds[i] == obj.data.resId) {
resListSelectIds = resListSelectIds.filter(function (item) {
return item != resListSelectIds[i];
});
}
}
} else {
for (var i = 0; i < resListSelectIds.length; i++) {
for (var j = 0; j < table_data.length; j++) {
if (resListSelectIds[i] == table_data[j].resId) {
resListSelectIds = resListSelectIds.filter(function (item) {
return item != resListSelectIds[i];
});
}
}
}
}
}
// 跨域发送信息,不能删除
obj.data["checked"] = obj.checked;
window.top.postMessage({res:obj.data},"*");
})
//同步策略
function syncAlarmPolicy(alarmPolicyId){
if (typeof (alarmPolicyId) != "string") {
... ... @@ -306,13 +360,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
,type:"delete"
,data:{ids:id}
}).done(function (res) {
layer.msg('删除成功', {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
reloadAlarmPolicyTable();
});
if(res.success){
layer.msg('删除成功', {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
reloadAlarmPolicyTable();
});
}else {
layer.msg( res.msg,{offset: '15px', icon: 2, time: 2000});
}
}).error(function (error) {
console.log(error);
});
... ...
... ... @@ -101,8 +101,13 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports)
}
//删除
$(".delete-alarmtemplate-policy-btn").on("click",function (){
var tr = $("#alarmtemplate-policy-table-body").find('tr').length
if (tr <= 1){
layer.msg("告警模板至少绑定一条告警策略", { offset: '15px' , icon: 7 , time: 1000 });
return false;
}
$(this).parent().parent().remove();
});
}
});
});
\ No newline at end of file
});
... ...
//告警模板
layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','view','laytpl'], function (exports) {
layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions', 'view', 'laytpl'], function (exports) {
var $ = layui.$;
var form = layui.form;
var layer = layui.layer;
... ... @@ -20,7 +20,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
var checkList = common.checkPermission(accessToken);
//回车搜索
$('#alarmtemplatekw').keydown(function (e) {
if (e.keyCode === 13) {
... ... @@ -28,12 +27,12 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
}
});
$('#alarmtemplateQueryBtn').on('click',function () {
$('#alarmtemplateQueryBtn').on('click', function () {
reloadalarmtemplateTable();
});
form.render(null, 'alarmtemplate-form');
//新增
$("#alarmtemplate_create").on("click",function () {
$("#alarmtemplate_create").on("click", function () {
if ($.inArray('back:alarmtemp:save', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
... ... @@ -41,11 +40,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
openAlarmTemplateForm();
});
//删除
$("#alarmtemplate_delete").on("click",function () {
$("#alarmtemplate_delete").on("click", function () {
deletealarmtemplate();
});
//同步
$("#alarmtemplate_sync").on("click",function () {
$("#alarmtemplate_sync").on("click", function () {
if ($.inArray('back:alarmtemp:synchronization', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
... ... @@ -53,105 +52,113 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
syncAlarmTemplate();
});
//配置策略
$("#alarmtemplate_configpolicy").on("click",function () {
$("#alarmtemplate_configpolicy").on("click", function () {
if ($.inArray('back:alarmtemp:tactics', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
}
var tempData = table.checkStatus('alarmtemplateTable').data;
if(tempData && tempData.length > 0){
$('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click');
var url = 'baseconfig/alarmpolicy/index';
var params = {type:'alarmTemplate'};
view('commonViewModel').render(url,params).then(function (res) {
layer.open({
title: ["配置策略", 'font-size:18px;'],
type: 1,
area: ['90%', '90%'],
resize: false,
content: laytpl(res.body).render(JSON.stringify(params)),
btn: ["选择","取消"],
id:'alarm_template_Table_tactics',//设定一个id,防止重复弹出
success: function (index, layero) {
var oldAlarmPolicyIdList = [];
if (tempData.length == 1) {
admin.req({
url: common.domainName + '/api-web/alarmPolicy/getbytempId/' + tempData[0].alarmTempId,
async: false,
error: function () {
layer.close(loading);
}
}).done(function (response) {
if (response) {
oldAlarmPolicyIdList = response.data.map(item => item.alarmPolicyId)
}
});
}else{
layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
return false;
}
},
yes: function (index, layero) {
var policyData = layui.alarmpolicyIndex().getData();
if(policyData && policyData.length > 0){
var tempIds = [],policyIds=[];
$.each(tempData,function (i,v){
tempIds.push(v.alarmTempId);
})
$.each(policyData,function (i,v){
policyIds.push(v.alarmPolicyId);
})
admin.req({
url : domainName + '/api-web/alarmtemplate/config/policy'
,type:'post'
,data:{ tempIds:tempIds.toString(),policyIds:policyIds.toString() }
,done:function (res){
if(res.success){
layer.msg(res.msg, { offset: '15px' , icon: 1 , time: 1000 },function (){
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 1000 });
}
}
if (tempData && tempData.length > 0) {
common.openWin("baseconfig/alarmpolicy/index", "选择策略", {oldData: oldAlarmPolicyIdList}, ["选择", "取消"], function () {
var policyData = layui.alarmpolicyIndex().getData();
var tempIds = [], policyIds = [];
$.each(tempData, function (i, v) {
tempIds.push(v.alarmTempId);
})
$.each(policyData, function (i, v) {
policyIds.push(v.alarmPolicyId);
})
admin.req({
url: domainName + '/api-web/alarmtemplate/config/policy'
, type: 'post'
, data: {tempIds: tempIds.toString(), policyIds: policyIds.toString()}
, done: function (res) {
if (res.success) {
layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000}, function () {
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg("请至少选择一条策略", { offset: '15px' , icon: 7 , time: 1000 });
return false;
} else {
layer.msg(res.msg, {offset: '15px', icon: 7, time: 1000});
}
return true;
}
})
})
// common.openWin("baseconfig/alarmpolicy/index","配置策略",{type:'alarmTemplate'},["选择","取消"], function () {
//
// });
}else{
layer.msg("请至少选择一条数据!", { offset: '15px' , icon: 7 , time: 1000 });
});
});
} else {
layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
}
});
//配置资源
$("#alarmtemplate_configres").on("click",function () {
$("#alarmtemplate_configres").on("click", function () {
if ($.inArray('back:alarmtemp:resource', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
}
var tempIds = [];
var data = table.checkStatus('alarmtemplateTable').data;
if(data && data.length > 0){
$.each(data,function (i,obj) {
if (data && data.length > 0) {
$.each(data, function (i, obj) {
tempIds.push(obj.alarmTempId);
});
}
if (tempIds.length != 1) {
layer.msg('请选择一条要配置的数据',{icon: 7,time:2000});
layer.msg('请选择一条要配置的数据', {icon: 7, time: 2000});
return;
}
common.openWin("template/res/reslist","配置资源",{},["选择","取消"], function () {
var oldResIdList = [];
if (tempIds.length <= 1) {
admin.req({
url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId',
async: false,
data: {
tempId: tempIds.toString(),
},
error: function () {
layer.close(loading);
}
}).done(function (response) {
if (response) {
oldResIdList = response.data.map(item => item.resId)
}
});
}
common.openWin("template/res/reslist", "配置资源", {oldData: oldResIdList}, ["选择", "取消"], function () {
var resObj = layui.reslist().getData();
if(resObj && resObj.length > 0){
if (resObj && resObj.length > 0) {
var resIds = [];
$.each(resObj,function (i,v){
$.each(resObj, function (i, v) {
resIds.push(v.resId);
})
admin.req({
url : domainName + '/api-web/manage/resource/alarmTemplate?resIds='+resIds.toString()+'&alarmTempId='+tempIds.toString()+'&access_token='+accessToken,
done:function (res){
if(res.success){
layer.msg("配置成功!", { offset: '15px' , icon: 1 , time: 1000 },function (){
url: domainName + '/api-web/manage/resource/alarmTemplate?resIds=' + resIds.toString() + '&alarmTempId=' + tempIds.toString() + '&access_token=' + accessToken,
done: function (res) {
if (res.success) {
layer.msg("配置成功!", {offset: '15px', icon: 1, time: 1000}, function () {
layer.closeAll();
reloadalarmtemplateTable();
});
}else{
layer.msg("配置失败,请重试或者与管理员联系!", { offset: '15px' , icon: 7 , time: 1000 });
} else {
layer.msg("配置失败,请重试或者与管理员联系!", {offset: '15px', icon: 7, time: 1000});
}
}
});
... ... @@ -169,13 +176,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
$('#alarmtemplate_unbindRes').unbind('click').on('click', function () {
var tempIds = [];
var checks = table.checkStatus('alarmtemplateTable').data;
if(checks && checks.length > 0){
$.each(checks,function (i,obj) {
if (checks && checks.length > 0) {
$.each(checks, function (i, obj) {
tempIds.push(obj.alarmTempId);
});
}
if (tempIds.length == 0) {
layer.msg('请选择数据',{icon: 7,time:2000});
layer.msg('请选择数据', {icon: 7, time: 2000});
return;
}
layer.confirm('确认要取消绑定吗?', {icon: 3}, function (index) {
... ... @@ -217,18 +224,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
var alarmtemplateTable = table.render({
elem: '#alarmtemplateTable'
, url: domainName + '/api-web/alarmtemplate/page'
, where:{
access_token:accessToken,
alarmTempName:$("#alarmtemplatekw").val(),
policyId:policyId,
, where: {
access_token: accessToken,
alarmTempName: $("#alarmtemplatekw").val(),
policyId: policyId,
resIdList: resIdList
}
, height: 'full-200'
, page: {
layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
,theme: '#1E9FFF'//自定义分页主题颜色
, theme: '#1E9FFF'//自定义分页主题颜色
}
, end: function(e){
, end: function (e) {
form.render();
}
, limit: 20
... ... @@ -240,40 +247,46 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
templet: '<div><span data-id="{{d.alarmTempId}}" class="layui-table-link view-alarmtemplate-name">{{d.alarmTempName}}</span></div>'
}
// , {field: 'tempType', title: '模板类型', align: 'center', sort: true, width:240}
, {field: 'alarmTempTotal', title: '绑定告警策略数', align: 'center', sort: true, width:240,
templet:function (d){
if(d.policyTotal != '0'){
, {
field: 'alarmTempTotal', title: '绑定告警策略数', align: 'center', sort: true, width: 240,
templet: function (d) {
if (d.policyTotal != '0') {
return `<div><span data-id="${d.alarmTempId}" class="layui-table-link view-alarmtemplate-policy-total">${d.policyTotal}</span></div>`;
}else{
} else {
return d.policyTotal;
}
}}
, {field: 'alarmTempTotal', title: '绑定资源数', align: 'center', sort: true, width:240,
templet:function (d){
if(d.resTotal != '0'){
}
}
, {
field: 'alarmTempTotal', title: '绑定资源数', align: 'center', sort: true, width: 240,
templet: function (d) {
if (d.resTotal != '0') {
return `<div><span data-id="${d.alarmTempId}" class="layui-table-link view-alarmtemplate-res-total">${d.resTotal}</span></div>`;
}else{
} else {
return d.resTotal;
}
}}
, {field: 'syncFlag',title: '同步状态',align: 'center', sort: true,width:200,
templet: function(d){
if(d.syncFlag == 0){ //未同步
}
}
, {
field: 'syncFlag', title: '同步状态', align: 'center', sort: true, width: 200,
templet: function (d) {
if (d.syncFlag == 0) { //未同步
return `<input type="checkbox" id="${d.alarmTempId}" name="close" lay-skin="switch" lay-filter="switchSyncAlarmTemplate" lay-text="已同步|未同步">`;
}else{
} else {
return ' <button type="button" class="layui-btn layui-bg-green layui-btn-radius layui-btn-xs p-0-15">已同步</button>';
}
}
}
, {title: '操作', align: 'center',width:'10%',fixed: 'right',
}
, {
title: '操作', align: 'center', width: '10%', fixed: 'right',
templet: '<div>' +
'<button data-id="{{d.alarmTempId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmtemplate-btn"><i class="layui-icon layui-icon-delete"></i></button>'+
'</div>'
'<button data-id="{{d.alarmTempId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmtemplate-btn"><i class="layui-icon layui-icon-delete"></i></button>' +
'</div>'
}
]],
done:function () {
done: function () {
//点击名称编辑
$(".view-alarmtemplate-name").on("click",function () {
$(".view-alarmtemplate-name").on("click", function () {
if ($.inArray('back:alarmtemp:update', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
return;
... ... @@ -282,26 +295,34 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
//查看模板的策略数
$(".view-alarmtemplate-policy-total").on("click",function (){
$(".view-alarmtemplate-policy-total").on("click", function () {
$('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click');
var id = $(this).data("id");
admin.req({
url:domainName + '/api-web/alarmPolicy/getbytempId/'+id
,done:function (res){
if(res.data && res.data.length > 0){
url: domainName + '/api-web/alarmPolicy/getbytempId/' + id
, done: function (res) {
if (res.data && res.data.length > 0) {
var trs = '';
$.each(res.data,function (i,d){
$.each(res.data, function (i, d) {
var isDefault = '';
if(d.policyType == '1'){ //默认
if (d.policyType == '1') { //默认
isDefault = '<button type="button" class="layui-btn layui-btn-warm layui-btn-radius layui-btn-xs p-0-15">默认</button>';
}else{
} else {
isDefault = '<button type="button" class="layui-btn layui-btn-primary layui-btn-radius layui-btn-xs p-0-15">非默认</button>';
}
var kpiIdent = '';
if(d.kpiIdent == '0'){ kpiIdent = "基本指标";}
if(d.kpiIdent == '1'){ kpiIdent = "性能指标";}
if(d.kpiIdent == '2'){ kpiIdent = "状态指标";}
if(d.kpiIdent == '3'){ kpiIdent = "告警指标";}
if (d.kpiIdent == '0') {
kpiIdent = "基本指标";
}
if (d.kpiIdent == '1') {
kpiIdent = "性能指标";
}
if (d.kpiIdent == '2') {
kpiIdent = "状态指标";
}
if (d.kpiIdent == '3') {
kpiIdent = "告警指标";
}
trs += ` <tr data-id="${d.alarmPolicyId}">
<td><div><span data-id="${d.alarmPolicyId}" class="layui-table-link view-template-alarmpolicy-name">${d.alarmPolicyName}</span></div></td>
<td>${isDefault}</td>
... ... @@ -322,7 +343,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
, title: "告警策略"
, shade: 0.8
, area: ['80%', '90%']
, btn:["关闭"]
, btn: ["关闭"]
, id: 'alarm_policy_by_tempId_index' //设定一个id,防止重复弹出
, content: tb
})
... ... @@ -332,7 +353,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
//查看告警模板的资源数量
$(".view-alarmtemplate-res-total").on("click",function (){
$(".view-alarmtemplate-res-total").on("click", function () {
var alarmTempId = $(this).data("id");
common.openWin("template/res/reslist", "资源列表", {alarmTempId: alarmTempId}, ["关闭"], function () {
return true;
... ... @@ -340,13 +361,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
//设置同步
form.on('switch(switchSyncAlarmTemplate)', function(obj){
form.on('switch(switchSyncAlarmTemplate)', function (obj) {
var alarmtemplateId = obj.elem.id;
syncAlarmTemplate(alarmtemplateId);
});
//删除
$(".delete-alarmtemplate-btn").on("click",function () {
$(".delete-alarmtemplate-btn").on("click", function () {
var id = $(this).data("id");
deletealarmtemplate(id)
});
... ... @@ -356,26 +377,26 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
//刷新表格
function reloadalarmtemplateTable() {
alarmtemplateTable.reload({
where:{
access_token:accessToken,
policyId:policyId,
resIdList:resIdList,
alarmTempName:$("#alarmtemplatekw").val()
where: {
access_token: accessToken,
policyId: policyId,
resIdList: resIdList,
alarmTempName: $("#alarmtemplatekw").val()
}
});
}
function syncAlarmTemplate(tempId){
function syncAlarmTemplate(tempId) {
if (typeof (tempId) != "string") {
var ids = [];
var data = table.checkStatus('alarmtemplateTable').data;
if(data && data.length > 0){
$.each(data,function (i,obj) {
if (data && data.length > 0) {
$.each(data, function (i, obj) {
ids.push(obj.alarmTempId);
});
}
if (ids.length == 0) {
layer.msg('请选择要同步的数据',{icon: 7,time:2000});
layer.msg('请选择要同步的数据', {icon: 7, time: 2000});
return;
}
tempId = ids.toString();
... ... @@ -394,18 +415,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
admin.req({
url:common.domainName + '/api-web/alarmtemplate/sync'
, data:{
ids:tempId
url: common.domainName + '/api-web/alarmtemplate/sync'
, data: {
ids: tempId
}
}).done(function (res) {
layer.close(syncalarmtempload)
if(res.success){
layer.msg(res.msg, { offset: '15px' , icon: 1, time: 2000},function (){
if (res.success) {
layer.msg(res.msg, {offset: '15px', icon: 1, time: 2000}, function () {
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7, time: 2000});
} else {
layer.msg(res.msg, {offset: '15px', icon: 7, time: 2000});
}
});
... ... @@ -420,13 +441,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
if (typeof (id) != "string") {
var ids = [];
var data = table.checkStatus('alarmtemplateTable').data;
if(data && data.length > 0){
$.each(data,function (i,obj) {
if (data && data.length > 0) {
$.each(data, function (i, obj) {
ids.push(obj.alarmTempId);
});
}
if (ids.length == 0) {
layer.msg('请选择要删除的数据',{icon: 7,time:2000});
layer.msg('请选择要删除的数据', {icon: 7, time: 2000});
return;
}
id = ids.toString();
... ... @@ -437,17 +458,17 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
}, function () {
admin.req({
url: common.domainName + '/api-web/alarmtemplate/delete'
,type:"delete"
,data:{ids:id}
, type: "delete"
, data: {ids: id}
}).done(function (res) {
if(res.success){
if (res.success) {
layer.msg('删除成功', {
offset: '15px' , icon: 1 , time: 2000
offset: '15px', icon: 1, time: 2000
}, function () {
reloadalarmtemplateTable();
});
}else{
layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 2000 });
} else {
layer.msg(res.msg, {offset: '15px', icon: 7, time: 2000});
}
}).error(function (error) {
... ... @@ -455,6 +476,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
});
});
}
return { reloadtemplate: reloadalarmtemplateTable};
return {reloadtemplate: reloadalarmtemplateTable};
});
});
... ...
... ... @@ -129,6 +129,10 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
var li ='<div style="text-align:center;">'
+ '<i style="line-height: 150px; padding:20px;font-style:normal;">'+"暂无数据"+'</i>' + '</div>'
}
//lsq x86服务器增加8个指标后,给信息图标增加数据数量用来判断tip是两列还是一列 2022-06-28
$('.detail_base_info').attr('data-count',res.data?res.data.length:0);
let newKpi='KPI7C714058,KPIA2EA1646,KPID152C818,KPI780EFE90,KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B';
let newKpiArr=newKpi.split(',');
$.each(data, function (i, v) {
var fontColor='';
var valueStr = '';
... ... @@ -163,22 +167,34 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
}
titleStr = valueStr;
}
var tips = '<a class="detail_row_menu hide" data-statusf='+statusF+' data-id='+v.id+' data-flag='+v.flag+
//lsq 判断基本信息的指标是否为新增的8个,如果是则有其他的下探 2022-06-29
let nature='true';
if(newKpiArr.indexOf(v.id)!=-1){
nature='false'
}
let name=v.name;
var tips = '<a class="detail_row_menu hide" data-statusf="'+statusF+'" data-id='+v.id+' data-flag='+v.flag+
' data-name='+v.name+' data-kpiname='+v.name+' data-iswarning=1 data-ident=1' +
' data-trend=0 data-unit="" data-hidem="hidem" data-nature="true" ' +
' data-trend=0 data-unit="" data-hidem="hidem" data-nature="'+nature+'" ' +
// ' data-restype='+((data && data[0])?data[0].resType:"")+'>\n' +
' data-restype='+(v.resType?v.resType:"")+'>\n' +
'<img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png">\n' +
'</a>'
var menuId = "";
if (v.id == 'KPIE13DD9A3' || v.id == 'KPI02786E8D' || status!=-1) {
if (v.id == 'KPIE13DD9A3' || v.id == 'KPI02786E8D' || status!=-1 || newKpiArr.indexOf(v.id)!=-1) {
v.name = v.name + tips;
menuId = "id=\"" + targetId + "_detail_row_menu\" class='statusMenu'";
menuId = "id=\"" + targetId + "_detail_row_menu\" class='statusMenu' data-resid='"+resId+"'";
}
var $html = addIconByValue(valueStr);
var resStyle = obj.alarmEleMatchStyle(v.flag, v.id);
li += ' <li><span ' + menuId + ' style="text-align:left;width:40%">' + v.name + '</span>' +
'<span title="' + titleStr + '" style="' + fontColor + 'width:60%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' + resStyle + '">'
//lsq 判断基本信息的指标是否为新增的8个,如果是则数值有下探 2022-06-29
let isProbeDown='';
if(newKpiArr.indexOf(v.id)!=-1){
isProbeDown='isProbeDown'
}
li += ' <li><span ' + menuId + ' style="text-align:left;">' + v.name + '</span>' +
'<span data-kpiid="'+v.id+'" data-flag="'+v.flag+'" data-warning="1" data-ident="1" data-trend="0" data-name="'+name+'"' +
' class="'+isProbeDown+'" title="' + titleStr + '" style="' + fontColor + 'width:60%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' + resStyle + '">'
+ $html + valueStr + '</span></li>'
});
$("#" + targetId).html(li);
... ... @@ -635,9 +651,9 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
url: common.domainName + url
}).done(function (res) {
var data = res.data[0];
// var clas = 'res-state-pie--good';
var clas = 'res-state-pie--middle';
var reslt = "未知";
// var clas = 'res-state-pie--good';
var clas = 'res-state-pie--middle';
var reslt = "未知";
if(data && data !={}){
if(data['value'] =='RUNNING'){
clas = 'res-state-pie--good'
... ... @@ -1084,7 +1100,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
$("#" + targetId).find(".chart-left-box .layui-table-link").unbind("click").on("click", function () {
var id = $(this).data("id");
var flag = $(this).data("flag");
/* var name = $(this).data("name");*/
/* var name = $(this).data("name");*/
var kpiName = $(this).data("kpiname");
var ident = $(this).data("ident");
var unit = $(this).data("unit");
... ... @@ -1373,37 +1389,38 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
linechart.setOption(option);
// 折线图的点击事件
linechart.off("click");
//lsq 网卡上行速率/网卡下行速率折线图点击后的title出现null,500-dev迁移过来 2022-06-30
linechart.on('click', function (i) {
let array = [];
var arrayList;
if(kpiName=='网卡上行速率'||kpiName=='网卡下行速率'){
if (data){
if (kpiName == '网卡上行速率' || kpiName == '网卡下行速率') {
if (data) {
$.each(data.series, function (i, v) {
if (v.flag!=null && v.flag!=undefined){
array.push(`<span id="selectFlag" class="layui-badge layui-bg-blue" style="margin:2px;z-index:99999">${v.flag}</span>`+"");
}else {
if (v.flag != null && v.flag != undefined) {
array.push(`<span id="selectFlag" class="layui-badge layui-bg-blue" style="margin:2px;z-index:99999">${v.flag}</span>` + "");
} else {
array.push('<div style="position:absolute;top:50%;left:50%;">无指标</div>')
}
});
arrayList= array.join(" ");
if (data.series.length>1){
let flagSelect =layer.open({
arrayList = array.join(" ");
if (data.series.length > 1) {
let flagSelect = layer.open({
title: ['指标flag选择'],
type: 1,
area: ['30%', '15%'],
shadeClose: true,//开启遮罩层
id: 'flag_select_div',
// content: laytpl(res.body).render(JSON.stringify(params)),
content: '<div style="padding: 15px 18px">'+arrayList+'</div>',
content: '<div style="padding: 15px 18px">' + arrayList + '</div>',
});
$(document).on('click','#selectFlag',function(v) {
$(document).on('click', '#selectFlag', function (v) {
layer.close(flagSelect);
var seriesName= data.series[i.componentIndex].name;
if (seriesName == null ||seriesName == undefined) {
var seriesName = data.series[i.componentIndex].name;
if (seriesName == null || seriesName == undefined) {
seriesName = '';
}
var seriesFlag= data.series[i.componentIndex].flag;
if (seriesFlag == null ||seriesFlag == undefined) {
var seriesFlag = data.series[i.componentIndex].flag;
if (seriesFlag == null || seriesFlag == undefined) {
seriesFlag = '';
}
var params = {
... ... @@ -1413,17 +1430,17 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
warning: false,
ident: true,
trend: true,
name: (kpiNames&&kpiNames.length>0)?kpiNames[i.componentIndex]:kpiName + ' ' + seriesName //当传入多个kpiName,则将对应kpiId的kpiName获取传入的性能曲线页面
name: (kpiNames && kpiNames.length > 0) ? kpiNames[i.componentIndex] : kpiName + ' ' + seriesName //当传入多个kpiName,则将对应kpiId的kpiName获取传入的性能曲线页面
};
common.openLineChart(kpiName + ' ' + seriesName, params);
});
}else {
var seriesName= data.series[i.componentIndex].name;
if (seriesName == null ||seriesName == undefined) {
} else {
var seriesName = data.series[i.componentIndex].name;
if (seriesName == null || seriesName == undefined) {
seriesName = '';
}
var seriesFlag= data.series[i.componentIndex].flag;
if (seriesFlag == null ||seriesFlag == undefined) {
var seriesFlag = data.series[i.componentIndex].flag;
if (seriesFlag == null || seriesFlag == undefined) {
seriesFlag = '';
}
var params = {
... ... @@ -1433,19 +1450,19 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
warning: false,
ident: true,
trend: true,
name: (kpiNames&&kpiNames.length>0)?kpiNames[i.componentIndex]:kpiName + ' ' + seriesName //当传入多个kpiName,则将对应kpiId的kpiName获取传入的性能曲线页面
name: (kpiNames && kpiNames.length > 0) ? kpiNames[i.componentIndex] : kpiName + ' ' + seriesName //当传入多个kpiName,则将对应kpiId的kpiName获取传入的性能曲线页面
};
common.openLineChart(kpiName + ' ' + seriesName, params);
}
}
}else {
var seriesName= data.series[i.componentIndex].name;
if (seriesName == null ||seriesName == undefined) {
} else {
var seriesName = data.series[i.componentIndex].name;
if (seriesName == null || seriesName == undefined) {
seriesName = '';
}
var seriesFlag= data.series[i.componentIndex].flag;
if (seriesFlag == null ||seriesFlag == undefined) {
var seriesFlag = data.series[i.componentIndex].flag;
if (seriesFlag == null || seriesFlag == undefined) {
seriesFlag = '';
}
var params = {
... ... @@ -1455,7 +1472,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
warning: false,
ident: true,
trend: true,
name: (kpiNames&&kpiNames.length>0)?kpiNames[i.componentIndex]:kpiName + ' ' + seriesName //当传入多个kpiName,则将对应kpiId的kpiName获取传入的性能曲线页面
name: (kpiNames && kpiNames.length > 0) ? kpiNames[i.componentIndex] : kpiName + ' ' + seriesName //当传入多个kpiName,则将对应kpiId的kpiName获取传入的性能曲线页面
};
common.openLineChart(kpiName + ' ' + seriesName, params);
}
... ... @@ -2255,36 +2272,36 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
},
},
{
type: 'value',
name: datas.legendData[1],
nameTextStyle: {
fontSize: fontSize
},
color: normalColor,
axisTick: {
"show": false
},
splitLine: {
show: false,
},
min: 0,
max: 100,
interval: 25,
axisLabel: {
formatter: '{value}%',
textStyle: {
color: normalColor,
{
type: 'value',
name: datas.legendData[1],
nameTextStyle: {
fontSize: fontSize
}
},
axisLine: {
lineStyle: {
color: normalColor
}
},
},
color: normalColor,
axisTick: {
"show": false
},
splitLine: {
show: false,
},
min: 0,
max: 100,
interval: 25,
axisLabel: {
formatter: '{value}%',
textStyle: {
color: normalColor,
fontSize: fontSize
}
},
axisLine: {
lineStyle: {
color: normalColor
}
},
}
}
],
series: [{ // 绿色柱子
name: datas.legendData[0],
... ... @@ -2336,56 +2353,56 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
barGap: 0,
legendHoverLink: false,
},
{
// 绿色柱子头部椭圆
name: datas.legendData[0],
tooltip: {
show: false
},
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#5DE6FF',
borderWidth: 1,
borderColor: '#94EFFF'
}
},
symbolRotate: 0,
symbolSize: symbolSize,
symbolOffset: symbolOffsetT,
symbolPosition: 'end',
data: datas.yData1,
z: 3
},
{
name: datas.legendData[1],
type: 'line',
yAxisIndex:1,
z:22,
symbol:"roundRect",
symbolSize:8,
itemStyle:{
normal:{
color:"#D68627"
}
},
label: {
normal: {
show: false,
position: 'top',
formatter: 'C',
textStyle: {
color: '#fff',
fontSize: 16
{
// 绿色柱子头部椭圆
name: datas.legendData[0],
tooltip: {
show: false
},
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#5DE6FF',
borderWidth: 1,
borderColor: '#94EFFF'
}
}
},
lineStyle:{
width:2,
color:"#FFCE59"
},
symbolRotate: 0,
symbolSize: symbolSize,
symbolOffset: symbolOffsetT,
symbolPosition: 'end',
data: datas.yData1,
z: 3
},
data: datas.yData2,
}
{
name: datas.legendData[1],
type: 'line',
yAxisIndex:1,
z:22,
symbol:"roundRect",
symbolSize:8,
itemStyle:{
normal:{
color:"#D68627"
}
},
label: {
normal: {
show: false,
position: 'top',
formatter: 'C',
textStyle: {
color: '#fff',
fontSize: 16
}
}
},
lineStyle:{
width:2,
color:"#FFCE59"
},
data: datas.yData2,
}
]
};
... ... @@ -2399,39 +2416,39 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
},
renderStoreAlarms:function (tableId,resId){
var alarmlist = table.render({
elem: '#' + tableId
, url: common.domainName + '/api-web/busType/getStore'
, where: {
access_token: obj.sessions.getToken().access_token,
ResId: resId
elem: '#' + tableId
, url: common.domainName + '/api-web/busType/getStore'
, where: {
access_token: obj.sessions.getToken().access_token,
ResId: resId
}
, height: 'auto'
, page: {
layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
,theme: '#1E9FFF'
}
, limit: 5
, even: true
, cols: [[
{
field: 'provider', title: '存储品牌型号', align: 'center', width: 421,
}
, height: 'auto'
, page: {
layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
,theme: '#1E9FFF'
, {
field: 'model', title: '存储序列号', align: 'center',width: 421, sort: true,
}
, limit: 5
, even: true
, cols: [[
{
field: 'provider', title: '存储品牌型号', align: 'center', width: 421,
}
, {
field: 'model', title: '存储序列号', align: 'center',width: 421, sort: true,
}
, {
field: 'lunName', title: 'lun名称', align: 'center',width: 421
}
, {
field: 'lunSize', title: '大小', align: 'center', width: 421,
}
]],
done: function (res) {
if (res.data && res.data.length > 0) {
document.getElementById("hostminicomputerpartition_storeMessage").style.display="block"
}
, {
field: 'lunName', title: 'lun名称', align: 'center',width: 421
}
})
, {
field: 'lunSize', title: '大小', align: 'center', width: 421,
}
]],
done: function (res) {
if (res.data && res.data.length > 0) {
document.getElementById("hostminicomputerpartition_storeMessage").style.display="block"
}
}
})
},
/**
* 活动告警
... ... @@ -2461,7 +2478,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
{
field: 'LAY_INDEX', title: '序号', align: 'center', width: 100,
templet: function (d) {
return '<span>' + d.LAY_INDEX + '</span>';
return '<span>' + d.LAY_INDEX + '</span>';
}
}
, {
... ... @@ -2988,7 +3005,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
tooltip: {axisPointer: {type: "shadow"}, trigger: "axis"},
legend: {
show: true
},
},
xAxis: [
{
type: 'category',
... ... @@ -3244,9 +3261,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`;
title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`;
if (resCategory === 'share' && hardwareFlag.endsWith("Y")) {
/*
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>`;
*/
}
if (res.state == 'new' && hardwareFlag.endsWith("N")){
layer.alert('资源未监控!',{icon:0});
... ... @@ -3269,9 +3284,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`;
title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`;
if (resCategory === 'share' && hardwareFlag.endsWith("Y")) {
/*
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>`;
*/
}
obj.openNewWin(url,title,params,editFlag,fn,cancelfn,type);
}
... ... @@ -3310,36 +3323,6 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
},
//打开弹框
openNewWin:function (url,name,params,editFlag,fn,cancelfn,type,sign_) {
// Start Wang 2022/3/2 16:25 获取AJ配置页面信息
var type = 1;
var content = '';
admin.req({
url: common.domainName + `/api-web/ajConfig/getConfig?resType=${params.resType}&os=${params.os}&provider=${params.provider}`,
async: false,
data: {},
success(res) {
if(res && res.success && res.object){
var item = res.object;
type = 2;
var arr = [];
arr.push(item.designPage);
var param = item.param;
if(param){
param = param.replace('#resId',params.resId).replace('#access_token',localStorage.getItem("access_token"));
arr.push(param);
}
// 获取
content = sessionStorage.getItem("ajWeb") + '/#/bigscreen/viewer?reportCode=' + arr.join('&');
}
},
error() {
//layer.closeAll('loading');
}
});
// End Wang 2022/3/2 17:23
//新视图设置百分百
var area= sign_?['100%','100%']:['90%','90%'];
if(!name){ name = "信息"; }
... ... @@ -3352,24 +3335,24 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
view('commonViewModel').render(url).then(function (res) {
layer.open({
title: [name, 'font-size:20px;background-color: #d0ddec;'],
type: type,
type: 1,
id: md5(url),
area: area ,
shadeClose: true,//开启遮罩层
content: content == '' ? laytpl(res.body).render(JSON.stringify(params)) : content,
content: laytpl(res.body).render(JSON.stringify(params)),
btn:btns,
move:false,
success:function(layero,index){
if(sign_){
//关闭悬浮框有上角叉号
layero.find(".layui-layer-close1").addClass("hide");
}
if(params.state == 'stop' || params.state == 'alarmIgnore'){
$("a[data-opts='start']").show();
}else if(params.state == 'monitor'){
$("a[data-opts='stop']").show();
}
// 指标过滤清单
if(sign_){
//关闭悬浮框有上角叉号
layero.find(".layui-layer-close1").addClass("hide");
}
if(params.state == 'stop' || params.state == 'alarmIgnore'){
$("a[data-opts='start']").show();
}else if(params.state == 'monitor'){
$("a[data-opts='stop']").show();
}
// 指标过滤清单
$('a.filterList').unbind('click').on('click', function () {
if ($.inArray('back:details:index', checkList) == -1) {
layer.msg('暂无权限!', {icon: 7, time: 3000});
... ... @@ -3448,7 +3431,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
id: 'layer-select-favorites',
content: '<div class="div-select-favorites"><div id="slt-favorites-tree"></div></div>',
offset: '150px',
area: ['20%', '18%'],
area: ['20%', '15%'],
btn: ['选择', '取消'],
resize: false,
success: function () {
... ... @@ -3575,9 +3558,9 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
let boxShadow='0 0 10px';
listData.map((item,index)=>{
carouselStr+=item;
/* carouselStr+=` <div class="layui-row layui-col-space10" style="background: transparent;position: relative;" >
<span style="font-size: 14px;color:#ff0000;padding:0 5px; height:30px;width:100%;position: absolute;top:0;left:0;right:0;">`+item+`</span>
</div>`;*/
/* carouselStr+=` <div class="layui-row layui-col-space10" style="background: transparent;position: relative;" >
<span style="font-size: 14px;color:#ff0000;padding:0 5px; height:30px;width:100%;position: absolute;top:0;left:0;right:0;">`+item+`</span>
</div>`;*/
})
carouselStr+=` </marquee></div>`;
$('.layui-layer-title #title-shutdown').append(carouselStr);
... ... @@ -3631,68 +3614,6 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
});
});
},
validatorPhone: function (phone) {
if (/^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])d{8}$/.test(phone)) {
return {
code: 1,
msg: "验证通过"
}
}else if(/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(phone)){
return {
code: 1,
msg: "验证通过"
}
}else{
return {
code: -1,
msg: "手机或者座机号码格式错误"
}
}
},
//身份证号码验证
validatorIDCard: function (idcode) {
if (typeof idcode !== 'string') {
return {
code: -1,
msg: "为了避免javascript数值范围误差,idcode 必须是字符串"
}
}
const idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/;
// 判断格式是否正确
const format = idcard_patter.test(idcode);
if (!format) {
return {
code: -1,
msg: "身份证号码格式错误"
}
}
// 加权因子
const weight_factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
// 校验码
const check_code = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
const last = idcode[17];//最后一位
const seventeen = idcode.substring(0, 17);
// ISO 7064:1983.MOD 11-2
// 判断最后一位校验码是否正确
const arr = seventeen.split("");
const len = arr.length;
let num = 0;
for (let i = 0; i < len; i++) {
num += arr[i] * weight_factor[i];
}
// 获取余数
const resisue = num % 11;
const last_no = check_code[resisue];
// 返回验证结果,校验码和格式同时正确才算是合法的身份证号码
const result = last === last_no ? true : false;
return {
code: result ? 1 : -1,
msg: !result ? "身份证号码格式错误" : ""
}
},
//获取维保信息
renderMaintenanceInfo: function (targetId, resId, resType, fn) {
var flag = false; //默认没有父级
... ... @@ -3742,9 +3663,18 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
var direction = $(this).data('direction');
direction || (direction = 2);
var len = $(`#${targetId}`).find("li").eq(0).find("span").length;
var w = "420px";
if(len && len > 2){
w = '740px';
var w = "400px";
//lsq 判断是否两列显示 2022-06-28
var count=$(this).data('count');
if(count>12){
//两列显示
w = '820px';
$(`#${targetId}`).addClass('info-table-two')
}else{
//一列显示
if(len && len > 2){
w = '720px';
}
}
var $content = $(`#${targetId}`).clone();
$content.find('[lay-tips]').removeAttr('lay-tips');
... ... @@ -3760,15 +3690,28 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
//添加遮罩层 默认透明度为0.3
shade: [0.1, '#00000000'],
//是否点击遮罩关闭
shadeClose: true
shadeClose: false,
closeBtn:true,
success:function(){
let resId=$(`#${targetId}` + `_detail_row_menu.statusMenu`).data('resid')
$(`#${targetId}` + `_detail_row_menu.statusMenu`).hover(function () {
var $that = $(this);
var $btn = $that.find(".detail_row_menu");
if ($btn.length > 0) {
$(".layui-card-body").find(".detail_row_menu:not(.hide)").addClass("hide")
$btn.removeClass("hide");
}
});
filterSuppressMonitor(resId)
}
});
//xwx update 资源视图基本信息弹出框bug修改 2021-10-22 --end
window.detailTips = detailTips;
}
});
// ,function () {
// layer.close(detailTips);
// }
// ,function () {
// layer.close(detailTips);
// }
}
};
... ... @@ -3838,16 +3781,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
<option value="1">=选择告警策略=</option>
</select>
</div>
<div style="display: flex;">
<div class="layui-form-mid layui-word-aux">
<a style="height: 50px;line-height: 50px;" class="layui-btn layui-btn-normal" id="form_detail_add_policy"><i class="layui-icon">&#xe654;</i></a>
</div>
<div class="layui-form-mid layui-word-aux" id="show_corn_info_policy"
style="padding: 0!important;position: relative;line-height: 38px;display: flex;justify-content: center;margin: 0px;margin-left: 5px;">
<i class="layui-icon form-btn-icon">&#xe702;</i>
</div>
</div>
<div class="layui-form-mid layui-word-aux"><a style="height: 50px;line-height: 50px;" class="layui-btn layui-btn-normal" id="form_detail_add_policy"><i class="layui-icon">&#xe654;</i></a></div>
</div>
<div class="layui-form-item icon-label-item">
<label class="layui-form-label" style="text-align: center !important;width: 120px">告警订阅</label>
... ... @@ -3859,7 +3793,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
</div>
</form> `;
common.openWindow('user-add-form-id',$con,"告警设置","50%",'50%',['保存','取消'],function(){
common.openWindow('user-add-form-id',$con,"告警设置","45%",'50%',['保存','取消'],function(){
var kpiPolicy = $("#detil_kpi_policy").val();
var kpiSubscribe = $("#detil_kpi_subscribe").val();
if(!kpiPolicy || !kpiSubscribe){
... ... @@ -3892,25 +3826,6 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
bindAlarmPolicyList(undefined,params.kpiId);
bindAlarmSubscribeList();
$('#show_corn_info_policy').unbind("click").on("click",function (){
layer.open({
type: 1
, title: '告警策略'
, closeBtn: 1
, area: ['20%', '20%']
, shade: 0.8
, id: 'lay_cron_detail_add_policy' //设定一个id,防止重复弹出
, content: '<div id="icon_tips_alarm_Content" style="color:#000000">\n' +
' <p style="margin: 10px auto; padding: 0px;">\n' +
' <strong style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 18px; color: rgb(255, 0, 0);">重点说明</span></strong>\n' +
' </p>\n' +
' <p style="margin: 10px auto; padding: 0px;">\n' +
' <span style="margin: 0px; padding: 0px; line-height: 18px; color: rgb(255, 0, 0);"><span style="margin: 0px; padding: 0px; line-height: 18px; color: rgb(0, 0, 255);"><span style="margin: 0px; padding: 0px; line-height: 18px; color: rgb(0, 0, 0);">(1)</span></span><strong style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 18px; color: rgb(0, 0, 255);"></span></strong>&nbsp;&nbsp;</span>&nbsp;策略类型只包含非默认的策略' +
' </p>\n' +
' </div>'
});
});
//自定义告警策略
$("#form_detail_add_policy").unbind("click").on("click",function (){
params.from = 'detail';
... ... @@ -4174,6 +4089,12 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
function filterSuppressMonitor(resId,isStatusMenubox){
//菜单按钮点击事件
$("a.detail_row_menu").off("click").on("click",function (e) {
if (e.preventDefault()) {
e.preventDefault();
}
if (e.stopPropagation()) {
e.stopPropagation();
}
$("#detail_menubox_id").remove();
var $menu = $(this);
var hideM = $menu.data('hidem');
... ... @@ -4253,7 +4174,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
$("#detail_menubox_id ul").append(menuboxStr)
}
setTimeout(function (){
//end lsq 2022-05-23
//end lsq 2022-05-23
//菜单点击事件
$("#detail_menubox_id ul>li").unbind("click").on("click",function (){
var type = $(this).attr("type");
... ... @@ -4313,6 +4234,31 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
},300)
});
//lsq 新增的8个指标中数值点击打开性能曲线图 2022-06-28
$(".isProbeDown").unbind('click').click(function (e) {
if (e.preventDefault()) {
e.preventDefault();
}
if (e.stopPropagation()) {
e.stopPropagation();
}
let kpiId=$(this).data('kpiid');
let flag=$(this).data('flag');
let warning=$(this).data('warning');
let ident=$(this).data('ident');
let trend=$(this).data('trend');
let name=$(this).data('name');
var params = {
resId: resId,
kpiId: kpiId,
flag: flag,
warning: warning,
ident: ident,
trend: trend,
name: name
};
common.openLineChart(name, params);
});
//点击空白处隐藏弹出菜单
$(document).click(function(event){
var _con = $('a.detail_row_menu'); // 设置目标区域
... ...
... ... @@ -20,7 +20,10 @@ layui.define(['commonDetail','common', 'admin'], function (exports) {
}
//基本信息
var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI67076676,KPI9311A2A3,KPI30D23EF4,KPI1C777D98,KPIA04D5BD0,KPID3EBE40F,KPI0990CD44,KPI8266B678,KPI1584BE1C,KPI0E5EB8ED,KPI05227E45,KPI899DBD7B";
// var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI67076676,KPI9311A2A3,KPI30D23EF4,KPI1C777D98,KPIA04D5BD0,KPID3EBE40F,KPI0990CD44,KPI8266B678,KPI1584BE1C,KPI0E5EB8ED,KPI05227E45,KPI899DBD7B";
//lsq 增加了8个性能指标 'KPI7C714058,KPIA2EA1646,KPID152C818,KPI780EFE90,KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B' 2022-06-28
var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI67076676,KPI9311A2A3,KPI30D23EF4,KPI1C777D98,KPIA04D5BD0,KPID3EBE40F,KPI0990CD44,KPI8266B678,KPI1584BE1C,KPI0E5EB8ED,KPI05227E45,KPI899DBD7B" +
",KPI7C714058,KPIA2EA1646,KPID152C818,KPI780EFE90,KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B";
//文件系统
var filesyskpi = "KPI7AC1664E,KPI449F5365,KPIA91F44E7,KPI98306224,KPIE25925F7,KPI77C28BBA";
//INODE信息
... ...
... ... @@ -19,7 +19,10 @@ layui.define(['commonDetail','common', 'admin'], function (exports) {
commonDetail.bindTips();
//基本信息
var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI67076676,KPI9311A2A3,KPI30D23EF4,KPI1C777D98,KPI78AC0D1B,KPIE9501365,KPIA04D5BD0,KPI899DBD7B,KPID3EBE40F,KPI0990CD44,KPI8266B678,KPI1584BE1C,KPI0E5EB8ED,KPI05227E45,KPI1AF5B3C6";
// var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI67076676,KPI9311A2A3,KPI30D23EF4,KPI1C777D98,KPI78AC0D1B,KPIE9501365,KPIA04D5BD0,KPI899DBD7B,KPID3EBE40F,KPI0990CD44,KPI8266B678,KPI1584BE1C,KPI0E5EB8ED,KPI05227E45,KPI1AF5B3C6";
//lsq 增加了8个性能指标 'KPI7C714058,KPIA2EA1646,KPID152C818,KPI780EFE90,KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B' 2022-06-28
var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPI67076676,KPI9311A2A3,KPI30D23EF4,KPI1C777D98,KPI78AC0D1B,KPIE9501365,KPIA04D5BD0,KPI899DBD7B,KPID3EBE40F,KPI0990CD44,KPI8266B678,KPI1584BE1C,KPI0E5EB8ED,KPI05227E45,KPI1AF5B3C6" +
",KPI7C714058,KPIA2EA1646,KPID152C818,KPI780EFE90,KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B";
//文件系统
var filesyskpi = "KPI7AC1664E,KPI449F5365,KPIA91F44E7,KPI98306224,KPIE25925F7,KPI77C28BBA";
//INODE信息
... ...
... ... @@ -69,39 +69,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
, even: true
, cols: [[
{title: '序号', align: "center", type: 'numbers',width: '3%'}
, {field: 'type', title: '通知类型', align: 'center', sort: true, width:130,
templet: function (d){
if(d.type) {
switch (d.type) {
case 10:
return '告警通知'
break;
case 11:
return '告警消除'
break;
case 13:
return '合并通知'
break;
case 20:
return '巡检报表通知'
break;
case 30:
return '系统通知'
break;
case 40:
return '工单通知'
break;
case 99:
return '测试通知'
break;
default:
return '测试通知'
break;
}
}else {
return '系统通知'
}
}}
, {field: 'typeName', title: '通知类型', align: 'center', sort: true, width:130}
, {field: 'way', title: '通知方式', align: 'center', sort: true, width:120,
templet: function (d){
switch (d.way){
... ... @@ -115,7 +83,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
return '<div class="small-icon small-icon-msg"></div>'
break;
default:
return '<div class="small-icon small-icon-wechat"></div>'
return '<div class="small-icon small-icon-msg"></div>'
break;
}
... ... @@ -563,16 +531,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
resType: resType,
isSend: $('#notice_search_isSend').val()
};
var typeName = new Map();
typeName.set("10","告警通知");
typeName.set("11","告警消除");
//2021-10-15 添加合并通知 XuHaoJie
typeName.set("13","合并通知");
typeName.set("20","巡检报表通知");
typeName.set("30","系统通知");
typeName.set("40","工单通知");
typeName.set("99","测试通知");
typeName.set("0","测试通知");
$.ajax({
url: `${common.domainName}/api-web/notice/groupByType`,
method: 'GET',
... ... @@ -582,7 +541,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
var yData = [];
if (res && res.map) {
$.each(res.map.typeList,function (i,v) {
xData.push(typeName.get(v))
xData.push(v)
})
yData = res.map.countList;
}
... ...
... ... @@ -37,7 +37,27 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
noticeTimely.sendState = noticeTimely.sendState == 1 ? 1 : 0;
noticeTimely.state = noticeTimely.state == 2 ? 1 : 0;
form.val('form-noticeTimely-add', noticeTimely);
bloatedSite(noticeTimely.site);
$('[name="templates"]').val(noticeTimely.templates);
var setting = noticeTimely.msgSetting;
if(setting){
try{
// "[{\"fieldName\":\"noticeType\",\"condition\":\"2\",\"conditionVal\":\"2\",\"msgLevel\":\"3\"}]"
var arr = JSON.parse(setting);
if(arr){
$(arr).each(function (i,v){
addCondition(v);
})
}
}catch (e) {
}
}
//bloatedSite(noticeTimely.site);
bloatedParameter(noticeTimely);
if (response.data) {
$.each(response.data, function (i, v) {
... ... @@ -72,11 +92,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
},
});
//响应声音事件
form.on('select(noticeTimely_voice)', function(data){
var url='../src/style/mp3/'+data.value+'.mp3';
var audio=common.audioPlayer(url);
audio.playclip();
});
// form.on('select(noticeTimely_voice)', function(data){
// var url='../src/style/mp3/'+data.value+'.mp3';
// var audio=common.audioPlayer(url);
// audio.playclip();
// });
//选择用户
$("#noticeTimely-form-select-users").on("click",function (){
//获取
... ... @@ -100,28 +120,74 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
}
});
});
//添加消息状态
$("#editNoticeTimelyParamBtn").on("click",function () {
// 播放mp3
$("#playMp3").on("click",function () {
var name = $('#noticeTimely_voice').val();
var mp3Url = `/src/style/mp3/${name}.mp3`;
var player = new Audio(mp3Url);
player.play();
});
function addCondition(defVal){
var settingItem = $('#notice_timely_param_level');
var html = $("#noticeTimelyParamAddRowHtml").html();
$('#notice_timely_param_level').append(html);
settingItem.append(html);
$('#notice_timely_param_sql').removeClass('hide');
$('#notice_timely_param_level').removeClass('hide');
var number = $('#notice_timely_param_level').find('.notice_time_select_sql_value').length;
settingItem.removeClass('hide');
var number = settingItem.find('.notice_time_select_sql_value').length;
getRowName();
var ht = '';
rowNames.forEach(item => {
ht += '<option value="' + item + '">' + item + '</option>'
})
$('#notice_timely_param_level').find('.notice_time_select_sql_value').eq(number - 1).append(ht);
settingItem.find('.notice_time_select_sql_value').eq(number - 1).append(ht);
if (identifying == 0) {
$('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val(grade);
settingItem.find('.notice_time_select_colour').eq(0).val(grade);
identifying = 1;
}
settingItem.find('.delete-condition').eq(0).attr('id','id'+(new Date()).getTime());
settingItem.find('.delete-condition').on('click',function (){
var that = $(this);
layer.confirm('确认要删除吗?', {icon: 3}, function (index) {
that.parent().parent().remove();
layer.close(index);
});
})
if(defVal){
// 设置默认值
settingItem.find('.notice_time_select_sql_value').val(defVal.fieldName);
settingItem.find('.notice_time_select_symbol').val(defVal.condition);
settingItem.find('.layui-notice-time-btn').val(defVal.conditionVal);
settingItem.find('.notice_time_select_colour').val(defVal.msgLevel);
setDetailsTags(rowNames);
}
}
//添加消息状态
$("#editNoticeTimelyParamBtn").on("click",function () {
var rowNames = getRowName();
if(rowNames && rowNames.length == 0){
let testStatus = $('#layui-notice_timely_sql_test').attr('test-status');
if(!testStatus || testStatus != 'success'){
layer.msg('请先测试脚本!', {icon: 7,time:3000});
return;
}
}
addCondition();
})
//写入标签内容
function writeTagsInfo(data) {
var tags = `
<span id="tags_span_${data.id}" data-id="${data.id}" data-username="${data.username}"
<span id="tags_span_${data.id}" style="margin: 3px;" data-id="${data.id}" data-username="${data.username}"
data-nickname="${data.nickname}" data-phone="${data.phone}" ><em>${data.nickname}</em>
<button type="button" value="${data.id}" class="tagsclose close">×</button>
</span>
... ... @@ -179,9 +245,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
Object.assign(noticeTimely, form.val('form-noticeTimely-add'));
//状态是否为开启
noticeTimely.state = statusChange(document.querySelector("#switch_noticeTimely_state").checked ? 1 : 0);
noticeTimely.broadcast = statusChange(document.querySelector("#switch_noticeTimely_broadcast").checked ? 0 : 1);
noticeTimely.retry = statusChange(document.querySelector("#switch_noticeTimely_retry").checked ? 0 : 1);
noticeTimely.sendState = statusChange(document.querySelector("#switch_noticeTimely_sendState").checked ? 0 : 1);
// 是否广播消息 1是,2否
noticeTimely.broadcast = 2;//statusChange(document.querySelector("#switch_noticeTimely_broadcast").checked ? 0 : 1);
// 是否重发 1重发,2不重发
noticeTimely.retry = 2;//statusChange(document.querySelector("#switch_noticeTimely_retry").checked ? 0 : 1); //
// 发送状态 1已发送,2未发送
noticeTimely.sendState = 2;//statusChange(document.querySelector("#switch_noticeTimely_sendState").checked ? 0 : 1);
noticeTimely.noticeNames = userNames;
var noticeStateList = [];
//获取消息状态列表
... ... @@ -198,10 +268,17 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
layer.msg('请选择用户', {icon: 7, time: 3000});
return false;
}
if (!noticeTimely.templates) {
layer.msg('请配置自定义展示中的展示内容', {icon: 7, time: 3000});
return false;
}
noticeTimely.site = $('#notice_timely_select').val() + $('#notice_timely_site').val();
//获取配置参数
var map = getParam();
noticeTimely.grade = map.grade;
if(!map){
return ;
}
noticeTimely.msgSetting = JSON.stringify(map.msgSetting);
noticeTimely.templates = map.templates;
layer.load(2);
admin.req({
... ... @@ -324,15 +401,21 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
}
//测试按钮点击
$('#layui-notice_timely_sql_test').unbind("click").on("click", function () {
$('#layui-notice_timely_sql_test').unbind("click").on("click", function (e) {
e.preventDefault();
var sql = $('#layui-notice_timely_sql').val();
var type = $('#noticeTimely_type').val();
admin.req({
url: common.domainName + '/api-web/noticeTimely/executeSql'
, data: {
sql: sql
sql: sql,
type:type
}
, success: function (res) {
if (res && res.data && res.data.length > 0) {
// 增加测试成功属性
$('#layui-notice_timely_sql_test').attr('test-status','success');
//更新行数
var list = res.data;
//默认取值第一个
... ... @@ -345,57 +428,98 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
$(this).empty();
$(this).append(html);
})
layer.msg('验证SQL通过!', {icon: 1, time: 3000});
setDetailsTags(keys);
layer.msg('脚本验证通过!', {icon: 1, time: 3000});
} else {
layer.msg('验证SQL失败!', {icon: 7, time: 3000});
layer.msg('脚本验证失败,请检查!', {icon: 7, time: 3000});
}
}
});
});
function setDetailsTags(arr){
$('#details_tags').find('.layui-badge').remove();
var details_tags = '';
arr.forEach(item => {
details_tags += `<span id="tags_span_${item}" class="layui-badge layui-bg-blue" style="margin: 3px;" ><em>${item}</em></span>`;
})
$('#details_tags').append(details_tags);
$('#details_tags span').on('click',function (){
$('[name="templates"]').val($('[name="templates"]').val() + '#{'+$(this).text() + '}');
});
}
//获取配置参数
function getParam() {
var map = getRowName();
var pa = '';
map.rowNameList.forEach(item => {
pa += '#{' + item + '},';
})
if (pa != '') {
pa = pa.substring(0, pa.length - 1);
}
//获取模板和等级
var str = {
grade: '1',
templates: pa
var obj = {
msgSetting: null,
templates: null
};
var errMsg = '';
if (!$('#notice_timely_param_sql').hasClass('hide')) {
//获取模板信息
var val = $('#notice_timely_param_sql').find('textarea[name="details"]').eq(0).val();
str.templates = val ? val : pa;
var btn= $('#notice_timely_param_level').find('.layui-notice-time-btn').eq(0).val();
if(btn){
//获取颜色
//行名
var row = $('#notice_timely_param_level').find('.notice_time_select_sql_value').eq(0).val();
//条件
var condition = $('#notice_timely_param_level').find('.notice_time_select_symbol').eq(0).val();
//值1
var value1 = btn;
//颜色
var colour = $('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val();
//值2
var value2 = map.dataList[0][row] ? map.dataList[0][row] : '';
var sign = compareSize(value2, condition, value1);
//判断类型
if (sign) {
str.grade = colour;
// 获取模板信息
var val = $('#notice_timely_param_sql').find('textarea[name="templates"]').eq(0).val();
if(!val || val == '' || val == null){
var map = getRowName();
var pa = '';
map.rowNameList.forEach(item => {
pa += '#{' + item + '},';
})
if (pa != '') {
pa = pa.substring(0, pa.length - 1);
}
}else{
var colour = $('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val();
str.grade = colour;
val = pa;
}
obj.templates = val;
var arr = [];
// 获取条件行
var msgSettings = $('#notice_timely_param_level').find('.msgSetting');
if(msgSettings && msgSettings.length > 0){
$(msgSettings).each(function (i,v){
if(v){
var settingItem = $(v);
var fieldName = settingItem.find('.notice_time_select_sql_value').val();
var condition = settingItem.find('.notice_time_select_symbol').val();
var conditionVal = settingItem.find('.layui-notice-time-btn').val();
var msgLevel = settingItem.find('.notice_time_select_colour').val();
if(fieldName == '' || condition =='' || conditionVal ==''|| msgLevel =='' ||
fieldName == null || condition == null || conditionVal == null|| msgLevel == null){
if(errMsg != ''){
errMsg = "请完善展示设置的条件!";
}
return;
}
arr.push({
fieldName:fieldName,
condition:condition,
conditionVal:conditionVal,
msgLevel:msgLevel,
})
}
})
}
if(arr.length > 0){
obj.msgSetting = arr;
}
}
if(errMsg != ''){
layer.msg(errMsg.join('<br/>'), {icon: 7, time: 3000});
return undefined;
}
return str;
// 验证数据
return obj;
}
//比大小
... ... @@ -432,4 +556,4 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
return regPos.test(val) || regNeg.test(val);
}
});
});
\ No newline at end of file
});
... ...
... ... @@ -113,7 +113,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
elem: '#table-noticeTimely-state-list',
url: domainName + '/api-web/noticeTimely/statePage',
where: params,
height: 'full',
height: 'full-450',
limit: common.limit,
limits: common.limits,
page: {
... ... @@ -207,7 +207,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
var checked = d.state == 2 ? 'checked' : '';
return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_state" name="state" lay-skin="switch" lay-text="启用|禁用" ' + checked + ' ></div>'
}
}, {
}, /*{
field: 'broadcast', title: '是否广播', align: 'center', width: '100',
templet: function (d) {
var checked = d.broadcast == 1 ? 'checked' : '';
... ... @@ -219,7 +219,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
var checked = d.retry == 1 ? 'checked' : '';
return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_retry" name="retry" lay-skin="switch" lay-text="重发|不重发" ' + checked + ' ></div>'
}
}, {
}, */{
title: '操作', align: 'center', minWidth: '150', fixed: 'right',
templet:
'<div>' +
... ... @@ -246,7 +246,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
layer.open({
title: "已发送消息",
content: $("#noticeTimely-state-html").html(),
area: ['80%', '70%'],
area: ['80%', '670px'],
btns: ['确认', '取消'],
success: function (index) {
loadStateTable(id);
... ... @@ -341,4 +341,4 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
});
}
});
});
\ No newline at end of file
});
... ...
... ... @@ -160,6 +160,18 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart
var generalList = chartData.generalList;
var importantList = chartData.importantList;
var seriousList = chartData.seriousList;
//start lsq 处理x轴标签如果值为null则显示为空 2022-06-20
let arr=[];
if(nameList && nameList.length>0){
nameList.map(item=>{
if(item==null || item=='null'){
item='';
}
arr.push(item)
})
}
nameList=arr;
//end lsq 2022-06-20
var barSeries = [{
name: '一般告警',
data: generalList,
... ...
... ... @@ -886,6 +886,14 @@ layui.define(['table', 'form', 'laydate', 'common', 'sessions', 'laydate', 'admi
if (v.paramCode == 'driverpre') v.defaultValue = 'jdbc:mysql://';
})
}
//JDBC协议时,修改人大金仓的默认值
if (k.protocolCode == 'JDBC' && resType == 'DATABASE_KINGBASE') {
$.each(k.protocolParamList,function (i,v) {
if (v.paramCode == 'DBType') v.defaultValue = 'king';
if (v.paramCode == 'driver') v.defaultValue = 'com.kingbase.Driver';
if (v.paramCode == 'driverpre') v.defaultValue = 'jdbc:kingbase8://';
})
}
})
return data;
}
... ...
... ... @@ -441,8 +441,7 @@ layui.extend({
//通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息
stompClient.subscribe('/alarmQuery/', function (respnose) {
var alarmArr = JSON.parse(respnose.body);
var mp3Name = sessionStorage.getItem('mp3');
var audio = audioPlayer(`../src/style/mp3/${mp3Name}.mp3`)
$.each(alarmArr, function (i, v) {
if (v.alarmContent) {
(function (i) {
... ... @@ -461,11 +460,12 @@ layui.extend({
let isNotify = alarmByUser(v.alarmId, alarmType === 'alarm' ? 'b_alarm' : 'b_alarm_his');
if (isNotify) {
setTimeout(function () {
audio.playclip();
var mp3Name = sessionStorage.getItem('mp3');
audioPlayer(`../src/style/mp3/${mp3Name}.mp3`)
new msgTips({
dom: ".right-bottom-tips",
title: "告警消息",
message: `<p style="line-height: 40px">${v.alarmContent}</p>`,
message: `<p style="line-height: 20px">${v.alarmContent}</p>`,
duration: 10000,
space: 10,
firstSpace: 8,
... ... @@ -539,7 +539,7 @@ layui.extend({
new msgTips({
dom: ".right-bottom-tips",
title: title,
message: `<p style="line-height: 40px">${content}</p>`,
message: `<p style="line-height: 20px">${content}</p>`,
duration: 10000,
space: 10,
firstSpace: 8,
... ... @@ -551,7 +551,7 @@ layui.extend({
toastType: toastType,
type: 'click',
action: function () {
if (hash) {
if (hash && hash != '' && hash != null && hash != 'null') {
if (hash.toLowerCase().indexOf("http://") != -1 && hash.toLowerCase().indexOf("https://") != -1) {
location.hash = hash;
} else {
... ... @@ -621,7 +621,7 @@ layui.extend({
// 订阅实时消息
stompClient.subscribe('/realTime/', function (respnose) {
console.log('实时信息: ' + respnose);
//console.log('实时信息: ' + respnose);
var data = respnose.body;
if (data) {
var obj = JSON.parse(data);
... ... @@ -633,7 +633,7 @@ layui.extend({
// 订阅用户消息
layui.use('element', function () {
stompClient.subscribe("/user/realTime/notifications/", function (respnose) {
console.log('专属信息: ' + respnose);
//console.log('专属信息: ' + respnose);
var data = respnose.body;
if (data) {
var obj = JSON.parse(data);
... ... @@ -648,17 +648,23 @@ layui.extend({
progressHandel(element,obj);
} else {
showTips(obj.content, obj.title, obj.msgType.toLowerCase(), obj.href, 1000, obj.queryResult);
if (typeof (obj.msgType) != "undefined") {
var str = '滑稽';
voiceList.forEach(item => {
if (item.type_ == obj.msgType) {
str = item.voice_;
}
})
var url = '../src/style/mp3/' + str + '.mp3';
var audio = audioPlayer(url);
audio.playclip();
var noticeVoice = '滑稽';
if(obj.voice){
noticeVoice = obj.voice;
}
var mp3Url = `/src/style/mp3/${noticeVoice}.mp3`;
audioPlayer(mp3Url);
// if (typeof (obj.msgType) != "undefined") {
// var str = '滑稽';
// voiceList.forEach(item => {
// if (item.type_ == obj.msgType) {
// str = item.voice_;
// }
// })
// var url = '../src/style/mp3/' + str + '.mp3';
// var audio = audioPlayer(url);
// audio.playclip();
// }
}
}
});
... ... @@ -701,20 +707,27 @@ layui.extend({
//音频播放
function audioPlayer(url) {
var audio = document.createElement('audio')
if (audio.canPlayType) {
var element = document.createElement('source')
element.setAttribute('src', url)
element.setAttribute('type', 'audio/mpeg')
audio.appendChild(element)
audio.load()
audio.playclip = function () {
audio.pause()
audio.currentTime = 0
audio.play()
}
return audio
try{
// var audio = document.createElement('audio')
// if (audio.canPlayType) {
// var element = document.createElement('source')
// element.setAttribute('src', url)
// element.setAttribute('type', 'audio/mpeg')
// audio.appendChild(element)
// audio.load()
// audio.playclip = function () {
// audio.pause()
// audio.currentTime = 0
// audio.play()
// }
// return audio
// }
var player = new Audio(url);
player.play();
}catch (e) {
console.log('已播放!');
}
}
var tryFunc = function () {
... ...
... ... @@ -197,4 +197,4 @@ layui.define(['layer', 'laytpl', 'form'], function (exports) {
exports('msgTips', MsgTips);
layui.link('../../src/style/css/tips.css')
layui.link('../../src/style/css/tipsFault.css')
})
\ No newline at end of file
})
... ...
... ... @@ -7996,4 +7996,51 @@ form[lay-filter="activewarning-form"] .layui-inline {
margin-left: 10px;
text-align: center;
}
/* //End XuHaoJie 2022/2/17 9:51 TODO 即时消息结束*/
\ No newline at end of file
/* //End XuHaoJie 2022/2/17 9:51 TODO 即时消息结束*/
/*start lsq x86增加了8个指标后的基本信息样式 2022-06-28*/
.layui-layer-tips .info-table-two{
display: flex;
flex-wrap: wrap;
}
.layui-layer-tips .layui-layer-content .info-table-two li{
width:50%;
}
.layui-layer-tips .info-table-two li:nth-child(4n-1){
background-color: #262323 !important;
}
.layui-layer-tips .info-table-two li:nth-child(2n){
background-color: inherit !important;
}
.layui-layer-tips .info-table-two li:nth-child(4n){
background-color: #262323 !important;
}
.layui-layer-content .info-table li span:first-child{
width:40%!important;
}
.layui-layer-tips .layui-layer-content .info-table-two li span:first-child{
flex:2;
}
.layui-layer-tips .layui-layer-content .info-table-two .detail_menubox li{
width:100%;
padding:15px 20px;
box-sizing: border-box;
cursor: pointer;
}
.layui-layer-tips .layui-layer-content .info-table-two .detail_menubox li:hover{
color: #fff;
background: #0d82e9!important;
}
.layui-layer-tips .info-table-two li .detail_menubox{
position: fixed;
/*padding:0 10px;*/
z-index: 999;
background: #fff!important;
}
.layui-layer-tips .info-table-two li .detail_menubox li:nth-child(4n-1),.layui-layer-tips .info-table-two li .detail_menubox li:nth-child(4n){
background: #fff!important;
}
.isProbeDown{
cursor: pointer;
text-decoration: underline;
}
/*end lsq 2022-06-28*/
\ No newline at end of file
... ...
... ... @@ -6,80 +6,96 @@
clear: both;
height: 0;
}
@font-face {font-family: "iconfont";
@font-face {
font-family: "iconfont";
src: url('../font/iconfont.eot?t=1545291398330'); /* IE9*/
src: url('../font/iconfont.eot?t=1545291398330#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAATwAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY870isY21hcAAAAYAAAABXAAABhmgk0b9nbHlmAAAB2AAAASIAAAE4K/A34GhlYWQAAAL8AAAALwAAADYTohMMaGhlYQAAAywAAAAcAAAAJAfeA4RobXR4AAADSAAAAAwAAAAMDAAAAGxvY2EAAANUAAAACAAAAAgANgCcbWF4cAAAA1wAAAAeAAAAIAEQAE5uYW1lAAADfAAAAUUAAAJtPlT+fXBvc3QAAATEAAAAKwAAAD14rrqieJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeVT7bxdzwv4EhhrmBoQEozAiSAwD04A0WeJztkMERgCAMBPcAeTgW4sOCfNmHrVEQbWAStAtvZnPJBT4BFiAbh1FAF8J1WqrIM2vkJd5Uc5H63dsY8LlJtqvmyf+p8muLur9T8mtNom8T9ACizRISAHicLY+/TsJQFMbPx61WUm6lSlsaiUhji0jSQQIslFQSdCurpMaEXdwM3ZxNdLOsdHR1lBcor+E7uIpexZOcnD/fl/PLIUYi2CT3QYx26YAItXZtX4V8CLOPrgfmoS4aMarACJP14m2eSVI2T1aMrZJ4IUmLeJYyluL6Er6UJf9y9vXI0o0yi9M/DNH3K7tnER1Tk86JHA8+xH0P9rYsmHrptwhUa0Nv9XPulu3WWyqcjg+x6XT7ODNMwxQGvWSyW6OMcWiFNyLHKBs7KBg8VaIgiJSU6xzrp72qEivV9aeFi54mF9wTtyBr/hDWgx023scvzXav1z5NrpaN0FYsk8MfiUd9cNO6K3JefA6Gy8G0kteOXKem5SvTwXIY/AAGcUEEAAB4nGNgZGBgAOJZq2oE4/ltvjJwszCAwA3H9DYE/X8FCwNzNJDLwcAEEgUAF4AJoQB4nGNgZGBgbvjfwBDDwgACQJKRARUwAwBHCQJsBAAAAAQAAAAEAAAAAAAAAAA2AJx4nGNgZGBgYGZwAmIQYAJiLiBkYPgP5jMAAA9SAV8AAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nGNgYoAALgbsgJmRiZGZkYWBJTHTzIInMzm/IjOvIjMRSDEwAABGIwaAAA==') format('woff'),
url('../font/iconfont.ttf?t=1545291398330') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('../font/iconfont.svg?t=1545291398330#iconfont') format('svg'); /* iOS 4.1- */
}
src: url('../font/iconfont.eot?t=1545291398330#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAATwAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY870isY21hcAAAAYAAAABXAAABhmgk0b9nbHlmAAAB2AAAASIAAAE4K/A34GhlYWQAAAL8AAAALwAAADYTohMMaGhlYQAAAywAAAAcAAAAJAfeA4RobXR4AAADSAAAAAwAAAAMDAAAAGxvY2EAAANUAAAACAAAAAgANgCcbWF4cAAAA1wAAAAeAAAAIAEQAE5uYW1lAAADfAAAAUUAAAJtPlT+fXBvc3QAAATEAAAAKwAAAD14rrqieJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeVT7bxdzwv4EhhrmBoQEozAiSAwD04A0WeJztkMERgCAMBPcAeTgW4sOCfNmHrVEQbWAStAtvZnPJBT4BFiAbh1FAF8J1WqrIM2vkJd5Uc5H63dsY8LlJtqvmyf+p8muLur9T8mtNom8T9ACizRISAHicLY+/TsJQFMbPx61WUm6lSlsaiUhji0jSQQIslFQSdCurpMaEXdwM3ZxNdLOsdHR1lBcor+E7uIpexZOcnD/fl/PLIUYi2CT3QYx26YAItXZtX4V8CLOPrgfmoS4aMarACJP14m2eSVI2T1aMrZJ4IUmLeJYyluL6Er6UJf9y9vXI0o0yi9M/DNH3K7tnER1Tk86JHA8+xH0P9rYsmHrptwhUa0Nv9XPulu3WWyqcjg+x6XT7ODNMwxQGvWSyW6OMcWiFNyLHKBs7KBg8VaIgiJSU6xzrp72qEivV9aeFi54mF9wTtyBr/hDWgx023scvzXav1z5NrpaN0FYsk8MfiUd9cNO6K3JefA6Gy8G0kteOXKem5SvTwXIY/AAGcUEEAAB4nGNgZGBgAOJZq2oE4/ltvjJwszCAwA3H9DYE/X8FCwNzNJDLwcAEEgUAF4AJoQB4nGNgZGBgbvjfwBDDwgACQJKRARUwAwBHCQJsBAAAAAQAAAAEAAAAAAAAAAA2AJx4nGNgZGBgYGZwAmIQYAJiLiBkYPgP5jMAAA9SAV8AAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nGNgYoAALgbsgJmRiZGZkYWBJTHTzIInMzm/IjOvIjMRSDEwAABGIwaAAA==') format('woff'),
url('../font/iconfont.ttf?t=1545291398330') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('../font/iconfont.svg?t=1545291398330#iconfont') format('svg'); /* iOS 4.1- */
}
.ez_tips {
position: fixed;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
z-index:9999999;
z-index: 9999999;
color: #fff;
opacity: .8;
background-position: 15px center;
background-repeat: no-repeat;
padding:5px 5px 15px 5px;
padding: 5px 5px 15px 5px;
transition: all .7s;
font-size: 14px;
/*box-shadow: 0 0 8px #999;*/
/*border:1px solid #8e7e7e;*/
}
.ez_tips.info {
background-color: #2f96b4;
}
.ez_tips.warning {
background-color: #f89406;
}
.ez_tips.error {
background-color: #bd362f;
}
.ez_tips.success {
background-color: #51a351;
}
.ez_tips .tips_icon_l {
width: 10px;
height: 10px;
}
.ez_tips.info .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);
}
.ez_tips.success .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==);
}
.ez_tips.warning .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=);
}
.ez_tips.error .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=);
}
.ez_tips .tips_icon_r.close {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAABY0lEQVRIS7XVsUtVURgA8N/LTMQCachBEEXQhpBoEBVsiCCJXF3cFaFBGmxqcRGCaMgGGxvERnHwP2gUdHRwUhAcpNXlyJHz5PJ4997ntXvgcuFy+H7nO9937mmEEK7QrabRCCFcor+m+CJwgpE6gX3M1Ql8w6c6gQX8qRMYxGkJ8BN/8Rtdmbn/8B4beN0uRiN+DCEcYqIAuUgBXmAnITH4GzzDLh4VAR/xoySLiMzgJX7hbVnwGK+ZwROcIb6LxjlmEbHpopU3g9wAaZu+Y7VOYAjH6MlBqm9RJot1fGkDlBV5Dw9zi5wB4uqPMNYyuahN3+FrYZtmg4UQnuMAvf/j8N0WuQX5kDrkwX2RtkDqqiVs1QYkZAWbqJxJbgaZws9jG4+rZFMKpExi4eO9MXxXpCMgIX2I/6w1PO0U6hjIbFmElhM0UAbdGchA8fe8iM8Yz4MqAy3nZhRTmEzPq+b9cA2H83u5C1cF7AAAAABJRU5ErkJggg==);
}
.ez_tips.info:hover,.ez_tips.warning:hover,.ez_tips.error:hover,.ez_tips.success:hover {
.ez_tips.info:hover, .ez_tips.warning:hover, .ez_tips.error:hover, .ez_tips.success:hover {
box-shadow: 0 0 8px #000;
opacity: 1;
}
.ez_tips.active {
transform: translateX(0)!important;
transform: translateX(0) !important;
}
.ez_tips .title {
padding-bottom:10px;
padding-bottom: 10px;
text-align: center;
position: relative;
}
.ez_tips .title > i.tips_icon_l{
.ez_tips .title > i.tips_icon_l {
position: absolute;
width: 24px;
height: 24px;
left: 0;
top: 0;
}
.ez_tips .title > i.tips_icon_r.close{
.ez_tips .title > i.tips_icon_r.close {
position: absolute;
width: 24px;
height: 24px;
... ... @@ -89,12 +105,43 @@
opacity: 0;
transition: opacity .5s;
}
.ez_tips .title > i.tips_icon_r.close.active {
opacity: 1;
}
.ez_tips i {
font-style: normal;
}
.ez_tips .tips-message .num {
color: #fff000;
}
\ No newline at end of file
}
.ez_tips .tips-message {
max-height: 500px;
overflow: auto;
}
.ez_tips .tips-message::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.ez_tips .tips-message::-webkit-scrollbar-track {
/*background-color: #bee1eb;*/
}
.ez_tips .tips-message::-webkit-scrollbar-thumb {
border-radius: 10px;
background-color: #f0f0f0;
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
}
.ez_tips .tips-message::-webkit-scrollbar-thumb:hover {
/*background-color: #bee1eb*/
}
.ez_tips .tips-message::-webkit-scrollbar-thumb:active {
/*background-color: #bee1eb*/
}
... ...
... ... @@ -84,13 +84,25 @@
</div>
</div>
</article>
<script template lay-done="layui.data.sendParams(d.params)">
</script>
<textarea id="alarm_policyIndex_id" style="display: none;">{{d}}</textarea>
<script>
layui.data.sendParams = function (params) {
layui.use('alarmpolicyIndex', function (fn) {
fn(params);
});
};
</script>
\ No newline at end of file
layui.use('alarmpolicyIndex', function (fn) {
var $ = layui.$;
var param = $("#alarm_policyIndex_id").val();
if(param.indexOf('{{d') != -1){
fn();
}else{
fn(JSON.parse(param));
}
});
</script>
<!--<script template lay-done="layui.data.sendParams(d.params)">-->
<!--</script>-->
<!--<script>-->
<!-- layui.data.sendParams = function (params) {-->
<!-- layui.use('alarmpolicyIndex', function (fn) {-->
<!-- fn(params);-->
<!-- });-->
<!-- };-->
<!--</script>-->
... ...
... ... @@ -11,105 +11,103 @@
</div>
</div>
<div class="inline-half layui-inline">
<label class="layui-form-label">频率</label>
<div class="layui-input-inline">
<input type="text" id="sentFrequency_input_noticeTimely" name="frequency" lay-verify="required"
placeholder="请输入频率" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux" id="show_corn_info_frequency"
style="padding: 0!important;position: relative;line-height: 38px;display: flex;justify-content: center;margin: 0px;margin-left: 5px;">
<i class="layui-icon form-btn-icon">&#xe702;</i>
</div>
</div>
</div>
<div class="layui-form-item" style="display: flex;justify-content: space-between;">
<div class="layui-inline" style="flex: 1;">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline" style="margin-left: 20px;;width: 100px">
<!-- <div class="layui-input-inline" style="width: calc(20vw - 142px);margin-right:65px;margin-left: 50px;">-->
<div class="layui-input-inline" style="padding-left: 6px">
<input type="checkbox" id="switch_noticeTimely_state" name="state" lay-skin="switch" lay-text="启用|禁用" value="0" >
</div>
</div>
<div class="layui-inline" style="flex: 1;">
<label class="layui-form-label" >是否广播</label>
<div class="layui-input-inline" style="margin-left: 20px;width: 100px">
<input type="checkbox" id="switch_noticeTimely_broadcast" name="broadcast" lay-skin="switch" lay-text="是|否" value="0" >
</div>
</div>
<div class="layui-inline" style="">
<label class="layui-form-label">是否轮循</label>
<div class="layui-input-inline" style="margin-left: 20px;width: 100px">
<input type="checkbox" id="switch_noticeTimely_retry" name="retry" lay-skin="switch" lay-text="轮循|不轮循" value="0" >
</div>
</div>
<div class="layui-inline" style="display: none !important;">
<label class="layui-form-label">发送状态</label>
<div class="layui-input-inline" style="width: calc(20vw - 142px);margin-right:0px;margin-left: 50px;">
<input type="checkbox" id="switch_noticeTimely_sendState" name="sendState" lay-skin="switch" lay-text="已发送|未发送" value="0" >
</div>
</div>
</div>
<div class="layui-form-item">
<div class="inline-half layui-inline" style="display: none!important;">
<label class="layui-form-label" style="font-size: 12px">重发延迟时间</label>
<div class="layui-input-inline">
<input type="text" name="retryTime" placeholder="请输入重发延迟时间(秒)" class="layui-input">
<div class="inline-half layui-inline" style="width: 100%">
<label class="layui-form-label">频率</label>
<div style="width: calc(100% - 110px)">
<div class="layui-input-inline" style="width: calc(100% - 10px);display: inline-flex;">
<input type="text" id="sentFrequency_input_noticeTimely" name="frequency" lay-verify="required"
placeholder="请输入频率" class="layui-input">
<i id="show_corn_info_frequency" class="layui-icon form-btn-icon" style="line-height: 32px;margin-left: 5px;">&#xe702;</i>
</div>
</div>
</div>
</div>
<!--添砖地址功能待优化-->
<!--<div class="layui-form-item">
<div class="inline-half layui-inline" style="width: 100%">
<label class="layui-form-label">跳转地址</label>
<div style="width: 95%">
<div class="layui-input-inline" style="width: 46%;">
<div style="width: calc(100% - 110px)">
<div class="layui-input-inline" style="width: 200px;">
<select id="notice_timely_select">
<option selected="selected" disabled="disabled" style='display: none' value=''></option>
</select>
</div>
<div class="layui-input-inline" style="margin-left: 1px;width: 52%;">
<div class="layui-input-inline" style="width: calc(100% - 210px);display: inline-flex;">
<input type="text" name="site" id="notice_timely_site" placeholder="请输入详情页地址" class="layui-input">
<i id="show_corn_info_state" class="layui-icon form-btn-icon" style="line-height: 32px;margin-left: 5px;">&#xe702;</i>
</div>
<div class="layui-form-mid layui-word-aux" id="show_corn_info_state"
style="padding: 0!important;position: relative;line-height: 38px;display: flex;justify-content: center;margin: 0px;margin-left: 5px;">
<i class="layui-icon form-btn-icon">&#xe702;</i>
</div>
</div>
</div>-->
<div class="layui-form-item">
<div class="inline-half layui-inline" style="width: 100%">
<label class="layui-form-label">发送用户</label>
<div style="width: calc(100% - 110px)">
<div class="layui-input-inline" style="width: calc(100% - 10px);display: inline-flex;">
<div class="tags" id="select_noticeTimely_id_user" style="width: calc(100% - 20px);border: solid 1px #D2D2D2;margin-top: 0px;height: 36px;"></div>
<i class="layui-icon form-btn-icon" id="noticeTimely-form-select-users" style="line-height: 36px;margin-left: 5px;">&#xe615;</i>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="inline-half layui-inline" style="display: none!important;">
<div class="inline-half layui-inline">
<label class="layui-form-label">响应声音</label>
<div class="layui-input-inline">
<select name="voice" id="noticeTimely_voice" lay-filter="noticeTimely_voice">
<option value="咳咳">咳咳</option>
<option value="微信提醒">微信提醒</option>
<option value="滑稽">滑稽</option>
</select>
<div style="display: flex">
<div style=" width: calc(100% - 60px);">
<select name="voice" id="noticeTimely_voice" lay-filter="noticeTimely_voice" >
<option value="14039">叮咚</option>
<option value="咳咳">咳咳</option>
<option value="微信提醒">微信提醒</option>
<option value="滑稽">滑稽</option>
</select>
</div>
<button type="button" class="layui-btn layui-btn-primary" id="playMp3" style="margin-left: 2px">
<i class="layui-icon">&#xe652;</i>
</button>
</div>
</div>
</div>
<div class="inline-half layui-inline" style="display: none!important;">
<div class="inline-half layui-inline">
<label class="layui-form-label">类型</label>
<div class="layui-input-inline">
<input type="text" name="type" placeholder="请输入类型" value="sql" readonly="readonly" class="layui-input">
<select name="type" id="noticeTimely_type" lay-filter="noticeTimely_type">
<option value="SQL">监控数据库</option>
<option value="TEXT">文本</option>
<!-- <option value="es">es</option>
<option value="influxdb">时序</option>
<option value="tdEngine">tdEngine</option>-->
</select>
<div style="padding: 3px">
文本支持:#{now} 当前时间格式:yyyy-MM-dd HH:mm:ss
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户</label>
<div class="layui-input-block tags-input" style="height: auto;width: 90% !important;">
<div class="tags" id="select_noticeTimely_id_user"></div>
</div>
<div class="layui-form-mid layui-word-aux" style="padding: 0!important;position: relative;top: -28px;left: 98%;justify-content: center;margin-left: 10px; "><i class="layui-icon form-btn-icon" id="noticeTimely-form-select-users">&#xe615;</i></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label textarea-label">内容</label>
<div class="layui-input-block" style="display: flex;flex-direction: column;align-items: flex-end;">
<textarea name="details" placeholder="请输入内容(SQL)" class="layui-textarea" id="layui-notice_timely_sql" style="width: 100%"></textarea>
<div style="width: 100px;height: auto;">
<div style="background-color: #1E9FFF;width: 90px;float: right;display: flex;justify-content: center;height: 40px;line-height: 40px;margin-top: 30px; color: #fff;"
id="layui-notice_timely_sql_test">测试
</div>
<textarea name="details" placeholder="请输入脚本内容" class="layui-textarea" id="layui-notice_timely_sql" style="width: 100%"></textarea>
<div style="width: 100%;padding: 10px 0px;">
<button id="layui-notice_timely_sql_test" class="layui-btn layui-btn-normal">测试脚本</button>
<span style="color: red">* 脚本尽量添加条件,否则一次性查询内容过多导致发送消息失败!(建议发送内容不超过200个汉字)</span>
</div>
</div>
</div>
<button id="btn-noticeTimely-submit" class="hide" lay-submit lay-filter="btn-noticeTimely-submit">提交</button>
</form>
<div class="layui-card-body layui-form-pane editNoticeTimelyParam-list" style="padding-top: 0px;">
... ... @@ -125,16 +123,18 @@
<div class="layui-form-item hide" id="notice_timely_param_sql">
<label class="layui-form-label textarea-label">展示内容</label>
<div class="layui-input-block" style="display: flex;">
<textarea name="details" placeholder="请输入展示内容" class="layui-textarea" style=""></textarea>
<textarea name="templates" placeholder="请输入展示内容" class="layui-textarea" style=""></textarea>
</div>
<div id="details_tags" style="width: 100%;display: flex;flex-wrap: wrap;"></div>
</div>
<div class="layui-form-item hide" id="notice_timely_param_level">
<label class="layui-form-label">展示设置</label>
<span style="color: red;line-height:36px">* 列表数据的状态设置办法:获取“第一条”数据的内容进行判断。</span>
</div>
</div>
</article>
<script type="text/html" id="noticeTimelyParamAddRowHtml">
<div class="layui-form-item">
<div class="layui-form-item msgSetting">
<div class="layui-inline" style="margin-left: 110px">
<div class="layui-notice-time-lable">当数据集中的</div>
<select class="layui-notice-time-select notice_time_select_sql_value">
... ... @@ -142,8 +142,8 @@
</select>
<div class="layui-notice-time-lable" style="width: 40px;">的值</div>
<select class="layui-notice-time-select notice_time_select_symbol">
<option value="0">大于</option>
<option value="1">小于</option>
<option value="0">大于(适用于数字类型、日期类型)</option>
<option value="1">小于(适用于数字类型、日期类型)</option>
<option value="2">等于</option>
</select>
<input type="text" class="layui-notice-time-btn" value="">
... ... @@ -153,7 +153,7 @@
<option value="2">重要(黄色)</option>
<option value="3">严重(红色)</option>
</select>
<div class="layui-notice-time-lable" style="width: 40px;">提示</div>
<div class="layui-notice-time-lable delete-condition" style="width: 40px;">删除</div>
</div>
</div>
</script>
... ... @@ -215,4 +215,4 @@
layui.use('noticeTimelyAdd', function (fn) {
fn({{d}});
});
</script>
\ No newline at end of file
</script>
... ...
... ... @@ -55,4 +55,4 @@
layui.use('noticeTimelyIndex', function (fn) {
fn();
});
</script>
\ No newline at end of file
</script>
... ...
... ... @@ -22,12 +22,16 @@
<textarea name="remark" placeholder="请输入备注" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<!--start lsq 搜索按钮位置调整 2022-06-07-->
<div class="layui-form-item" style="display: flex;align-items: center;">
<label class="layui-form-label">用户绑定</label>
<div class="layui-input-block tags-input" style="height: auto">
<!-- <div class="layui-input-block tags-input" style="height: auto">-->
<div class=" tags-input" style="height: auto">
<div class="tags" id="selecte_usergroup_id_user"></div>
</div>
<div class="layui-form-mid layui-word-aux" style="padding: 0!important;position: relative;top: -28px;left: 98%"><i class="layui-icon form-btn-icon" id="usergroup-form-select-users">&#xe615;</i></div>
<!-- style="padding: 0!important;position: relative;top: -28px;left: 98%"【-->
<div class="layui-form-mid layui-word-aux" style="margin-left:6px;"><i class="layui-icon form-btn-icon" id="usergroup-form-select-users">&#xe615;</i></div>
<!--end lsq 2022-06-07-->
</div>
<button id="btn-usergroup-submit" class="hide" lay-submit lay-filter="btn-usergroup-submit">提交</button>
</form>
... ...
... ... @@ -5,6 +5,7 @@
<link rel="icon" href="public/shui.png"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>智能综合监控平台</title>
<script src="public/lib/polyfill/polyfill.min.js"></script>
<script src="public/lib/vue/vue.global.prod.js"></script>
<script src="public/lib/vue/vue-router.global.prod.js"></script>
<script src="public/lib/vue/vuex.global.prod.js"></script>
... ...
/*! Element Plus v2.2.5 */
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define("element/locale/zh-cn", ["exports"], factory);
} else if (typeof exports !== "undefined") {
factory(exports);
} else {
var mod = {
exports: {}
};
factory(mod.exports);
global.ElementPlus.lang = global.ElementPlus.lang || {};
global.ElementPlus.lang.zhCn = mod.exports.default;
}
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
"use strict";
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ElementPlusLocaleZhCn = factory());
})(this, (function () { 'use strict';
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.default = void 0;
var _default = {
name: 'zh-cn',
var zhCn = {
name: "zh-cn",
el: {
colorpicker: {
confirm: '确定',
clear: '清空'
confirm: "\u786E\u5B9A",
clear: "\u6E05\u7A7A"
},
datepicker: {
now: '此刻',
today: '今天',
cancel: '取消',
clear: '清空',
confirm: '确定',
selectDate: '选择日期',
selectTime: '选择时间',
startDate: '开始日期',
startTime: '开始时间',
endDate: '结束日期',
endTime: '结束时间',
prevYear: '前一年',
nextYear: '后一年',
prevMonth: '上个月',
nextMonth: '下个月',
year: '年',
month1: '1 月',
month2: '2 月',
month3: '3 月',
month4: '4 月',
month5: '5 月',
month6: '6 月',
month7: '7 月',
month8: '8 月',
month9: '9 月',
month10: '10 月',
month11: '11 月',
month12: '12 月',
// week: '周次',
now: "\u6B64\u523B",
today: "\u4ECA\u5929",
cancel: "\u53D6\u6D88",
clear: "\u6E05\u7A7A",
confirm: "\u786E\u5B9A",
selectDate: "\u9009\u62E9\u65E5\u671F",
selectTime: "\u9009\u62E9\u65F6\u95F4",
startDate: "\u5F00\u59CB\u65E5\u671F",
startTime: "\u5F00\u59CB\u65F6\u95F4",
endDate: "\u7ED3\u675F\u65E5\u671F",
endTime: "\u7ED3\u675F\u65F6\u95F4",
prevYear: "\u524D\u4E00\u5E74",
nextYear: "\u540E\u4E00\u5E74",
prevMonth: "\u4E0A\u4E2A\u6708",
nextMonth: "\u4E0B\u4E2A\u6708",
year: "\u5E74",
month1: "1 \u6708",
month2: "2 \u6708",
month3: "3 \u6708",
month4: "4 \u6708",
month5: "5 \u6708",
month6: "6 \u6708",
month7: "7 \u6708",
month8: "8 \u6708",
month9: "9 \u6708",
month10: "10 \u6708",
month11: "11 \u6708",
month12: "12 \u6708",
weeks: {
sun: '日',
mon: '一',
tue: '二',
wed: '三',
thu: '四',
fri: '五',
sat: '六'
sun: "\u65E5",
mon: "\u4E00",
tue: "\u4E8C",
wed: "\u4E09",
thu: "\u56DB",
fri: "\u4E94",
sat: "\u516D"
},
months: {
jan: '一月',
feb: '二月',
mar: '三月',
apr: '四月',
may: '五月',
jun: '六月',
jul: '七月',
aug: '八月',
sep: '九月',
oct: '十月',
nov: '十一月',
dec: '十二月'
jan: "\u4E00\u6708",
feb: "\u4E8C\u6708",
mar: "\u4E09\u6708",
apr: "\u56DB\u6708",
may: "\u4E94\u6708",
jun: "\u516D\u6708",
jul: "\u4E03\u6708",
aug: "\u516B\u6708",
sep: "\u4E5D\u6708",
oct: "\u5341\u6708",
nov: "\u5341\u4E00\u6708",
dec: "\u5341\u4E8C\u6708"
}
},
select: {
loading: '加载中',
noMatch: '无匹配数据',
noData: '无数据',
placeholder: '请选择'
loading: "\u52A0\u8F7D\u4E2D",
noMatch: "\u65E0\u5339\u914D\u6570\u636E",
noData: "\u65E0\u6570\u636E",
placeholder: "\u8BF7\u9009\u62E9"
},
cascader: {
noMatch: '无匹配数据',
loading: '加载中',
placeholder: '请选择',
noData: '暂无数据'
noMatch: "\u65E0\u5339\u914D\u6570\u636E",
loading: "\u52A0\u8F7D\u4E2D",
placeholder: "\u8BF7\u9009\u62E9",
noData: "\u6682\u65E0\u6570\u636E"
},
pagination: {
goto: '前往',
pagesize: '条/页',
total: '共 {total} 条',
pageClassifier: '页',
deprecationWarning: '你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档'
goto: "\u524D\u5F80",
pagesize: "\u6761/\u9875",
total: "\u5171 {total} \u6761",
pageClassifier: "\u9875",
deprecationWarning: "\u4F60\u4F7F\u7528\u4E86\u4E00\u4E9B\u5DF2\u88AB\u5E9F\u5F03\u7684\u7528\u6CD5\uFF0C\u8BF7\u53C2\u8003 el-pagination \u7684\u5B98\u65B9\u6587\u6863"
},
messagebox: {
title: '提示',
confirm: '确定',
cancel: '取消',
error: '输入的数据不合法!'
title: "\u63D0\u793A",
confirm: "\u786E\u5B9A",
cancel: "\u53D6\u6D88",
error: "\u8F93\u5165\u7684\u6570\u636E\u4E0D\u5408\u6CD5!"
},
upload: {
deleteTip: '按 delete 键可删除',
delete: '删除',
preview: '查看图片',
continue: '继续上传'
deleteTip: "\u6309 delete \u952E\u53EF\u5220\u9664",
delete: "\u5220\u9664",
preview: "\u67E5\u770B\u56FE\u7247",
continue: "\u7EE7\u7EED\u4E0A\u4F20"
},
table: {
emptyText: '暂无数据',
confirmFilter: '筛选',
resetFilter: '重置',
clearFilter: '全部',
sumText: '合计'
emptyText: "\u6682\u65E0\u6570\u636E",
confirmFilter: "\u7B5B\u9009",
resetFilter: "\u91CD\u7F6E",
clearFilter: "\u5168\u90E8",
sumText: "\u5408\u8BA1"
},
tree: {
emptyText: '暂无数据'
emptyText: "\u6682\u65E0\u6570\u636E"
},
transfer: {
noMatch: '无匹配数据',
noData: '无数据',
titles: ['列表 1', '列表 2'],
filterPlaceholder: '请输入搜索内容',
noCheckedFormat: '共 {total} 项',
hasCheckedFormat: '已选 {checked}/{total} 项'
noMatch: "\u65E0\u5339\u914D\u6570\u636E",
noData: "\u65E0\u6570\u636E",
titles: ["\u5217\u8868 1", "\u5217\u8868 2"],
filterPlaceholder: "\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9",
noCheckedFormat: "\u5171 {total} \u9879",
hasCheckedFormat: "\u5DF2\u9009 {checked}/{total} \u9879"
},
image: {
error: '加载失败'
error: "\u52A0\u8F7D\u5931\u8D25"
},
pageHeader: {
title: '返回'
title: "\u8FD4\u56DE"
},
popconfirm: {
confirmButtonText: '确定',
cancelButtonText: '取消'
confirmButtonText: "\u786E\u5B9A",
cancelButtonText: "\u53D6\u6D88"
}
}
};
_exports.default = _default;
});
\ No newline at end of file
return zhCn;
}));
... ...
/* Disable minification (remove `.min` from URL path) for more info */
(function(undefined) {var _mutation=function(){function e(e){return"function"==typeof Node?e instanceof Node:e&&"object"==typeof e&&e.nodeName&&e.nodeType>=1&&e.nodeType<=12}return function(n){if(1===n.length)return e(n[0])?n[0]:document.createTextNode(n[0]+"");for(var t=document.createDocumentFragment(),o=0;o<n.length;o++)t.appendChild(e(n[o])?n[o]:document.createTextNode(n[o]+""));return t}}();DocumentFragment.prototype.append=function(){this.appendChild(_mutation(arguments))};DocumentFragment.prototype.prepend=function(){this.insertBefore(_mutation(arguments),this.firstChild)};Document.prototype.after=Element.prototype.after=function(){if(this.parentNode){for(var t=Array.prototype.slice.call(arguments),e=this.nextSibling,o=e?t.indexOf(e):-1;-1!==o&&(e=e.nextSibling);)o=t.indexOf(e);this.parentNode.insertBefore(_mutation(arguments),e)}},"Text"in this&&(Text.prototype.after=Element.prototype.after);Document.prototype.append=Element.prototype.append=function(){this.appendChild(_mutation(arguments))};Document.prototype.before=Element.prototype.before=function(){if(this.parentNode){for(var e=Array.prototype.slice.call(arguments),t=this.previousSibling,o=t?e.indexOf(t):-1;-1!==o&&(t=t.previousSibling);)o=e.indexOf(t);this.parentNode.insertBefore(_mutation(arguments),t?t.nextSibling:this.parentNode.firstChild)}},"Text"in this&&(Text.prototype.before=Element.prototype.before);Element.prototype.matches=Element.prototype.webkitMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.mozMatchesSelector||function(e){for(var t=this,o=(t.document||t.ownerDocument).querySelectorAll(e),r=0;o[r]&&o[r]!==t;)++r;return!!o[r]};Element.prototype.closest=function(e){for(var n=this;n;){if(n.matches(e))return n;n="SVGElement"in window&&n instanceof SVGElement?n.parentNode:n.parentElement}return null};Document.prototype.prepend=Element.prototype.prepend=function(){this.insertBefore(_mutation(arguments),this.firstChild)};Document.prototype.replaceWith=Element.prototype.replaceWith=function(){this.parentNode&&this.parentNode.replaceChild(_mutation(arguments),this)},"Text"in this&&(Text.prototype.replaceWith=Element.prototype.replaceWith);!function(e){"use strict";function t(t){return!!t&&("Symbol"in e&&"iterator"in e.Symbol&&"function"==typeof t[Symbol.iterator]||!!Array.isArray(t))}function n(e){return"from"in Array?Array.from(e):Array.prototype.slice.call(e)}!function(){function r(e){var t="",n=!0;return e.forEach(function(e){var r=encodeURIComponent(e.name),a=encodeURIComponent(e.value);n||(t+="&"),t+=r+"="+a,n=!1}),t.replace(/%20/g,"+")}function a(e,t){var n=e.split("&");t&&-1===n[0].indexOf("=")&&(n[0]="="+n[0]);var r=[];n.forEach(function(e){if(0!==e.length){var t=e.indexOf("=");if(-1!==t)var n=e.substring(0,t),a=e.substring(t+1);else n=e,a="";n=n.replace(/\+/g," "),a=a.replace(/\+/g," "),r.push({name:n,value:a})}});var a=[];return r.forEach(function(e){a.push({name:decodeURIComponent(e.name),value:decodeURIComponent(e.value)})}),a}function i(e){if(c)return new s(e);var t=document.createElement("a");return t.href=e,t}function o(e){var i=this;this._list=[],e===undefined||null===e||(e instanceof o?this._list=a(String(e)):"object"==typeof e&&t(e)?n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();i._list.push({name:String(r[0]),value:String(r[1])})}):"object"==typeof e&&e?Object.keys(e).forEach(function(t){i._list.push({name:String(t),value:String(e[t])})}):(e=String(e),"?"===e.substring(0,1)&&(e=e.substring(1)),this._list=a(e))),this._url_object=null,this._setList=function(e){u||(i._list=e)};var u=!1;this._update_steps=function(){u||(u=!0,i._url_object&&("about:"===i._url_object.protocol&&-1!==i._url_object.pathname.indexOf("?")&&(i._url_object.pathname=i._url_object.pathname.split("?")[0]),i._url_object.search=r(i._list),u=!1))}}function u(e,t){var n=0;this.next=function(){if(n>=e.length)return{done:!0,value:undefined};var r=e[n++];return{done:!1,value:"key"===t?r.name:"value"===t?r.value:[r.name,r.value]}}}function l(t,n){function r(){var e=l.href.replace(/#$|\?$|\?(?=#)/g,"");l.href!==e&&(l.href=e)}function u(){m._setList(l.search?a(l.search.substring(1)):[]),m._update_steps()}if(!(this instanceof e.URL))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator.");n&&(t=function(){if(c)return new s(t,n).href;var e;try{var r;if("[object OperaMini]"===Object.prototype.toString.call(window.operamini)?(e=document.createElement("iframe"),e.style.display="none",document.documentElement.appendChild(e),r=e.contentWindow.document):document.implementation&&document.implementation.createHTMLDocument?r=document.implementation.createHTMLDocument(""):document.implementation&&document.implementation.createDocument?(r=document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null),r.documentElement.appendChild(r.createElement("head")),r.documentElement.appendChild(r.createElement("body"))):window.ActiveXObject&&(r=new window.ActiveXObject("htmlfile"),r.write("<head></head><body></body>"),r.close()),!r)throw Error("base not supported");var a=r.createElement("base");a.href=n,r.getElementsByTagName("head")[0].appendChild(a);var i=r.createElement("a");return i.href=t,i.href}finally{e&&e.parentNode.removeChild(e)}}());var l=i(t||""),f=function(){if(!("defineProperties"in Object))return!1;try{var e={};return Object.defineProperties(e,{prop:{get:function(){return!0}}}),e.prop}catch(t){return!1}}(),h=f?this:document.createElement("a"),m=new o(l.search?l.search.substring(1):null);return m._url_object=h,Object.defineProperties(h,{href:{get:function(){return l.href},set:function(e){l.href=e,r(),u()},enumerable:!0,configurable:!0},origin:{get:function(){return"origin"in l?l.origin:this.protocol+"//"+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return l.protocol},set:function(e){l.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return l.username},set:function(e){l.username=e},enumerable:!0,configurable:!0},password:{get:function(){return l.password},set:function(e){l.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={"http:":/:80$/,"https:":/:443$/,"ftp:":/:21$/}[l.protocol];return e?l.host.replace(e,""):l.host},set:function(e){l.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return l.hostname},set:function(e){l.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return l.port},set:function(e){l.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return"/"!==l.pathname.charAt(0)?"/"+l.pathname:l.pathname},set:function(e){l.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return l.search},set:function(e){l.search!==e&&(l.search=e,r(),u())},enumerable:!0,configurable:!0},searchParams:{get:function(){return m},enumerable:!0,configurable:!0},hash:{get:function(){return l.hash},set:function(e){l.hash=e,r()},enumerable:!0,configurable:!0},toString:{value:function(){return l.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return l.valueOf()},enumerable:!1,configurable:!0}}),h}var c,s=e.URL;try{if(s){if("searchParams"in(c=new e.URL("http://example.com")))return;"href"in c||(c=undefined)}}catch(h){}if(Object.defineProperties(o.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},"delete":{value:function(e){for(var t=0;t<this._list.length;)this._list[t].name===e?this._list.splice(t,1):++t;this._update_steps()},writable:!0,enumerable:!0,configurable:!0},get:{value:function(e){for(var t=0;t<this._list.length;++t)if(this._list[t].name===e)return this._list[t].value;return null},writable:!0,enumerable:!0,configurable:!0},getAll:{value:function(e){for(var t=[],n=0;n<this._list.length;++n)this._list[n].name===e&&t.push(this._list[n].value);return t},writable:!0,enumerable:!0,configurable:!0},has:{value:function(e){for(var t=0;t<this._list.length;++t)if(this._list[t].name===e)return!0;return!1},writable:!0,enumerable:!0,configurable:!0},set:{value:function(e,t){for(var n=!1,r=0;r<this._list.length;)this._list[r].name===e?n?this._list.splice(r,1):(this._list[r].value=t,n=!0,++r):++r;n||this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},entries:{value:function(){return new u(this._list,"key+value")},writable:!0,enumerable:!0,configurable:!0},keys:{value:function(){return new u(this._list,"key")},writable:!0,enumerable:!0,configurable:!0},values:{value:function(){return new u(this._list,"value")},writable:!0,enumerable:!0,configurable:!0},forEach:{value:function(e){var t=arguments.length>1?arguments[1]:undefined;this._list.forEach(function(n,r){e.call(t,n.value,n.name)})},writable:!0,enumerable:!0,configurable:!0},toString:{value:function(){return r(this._list)},writable:!0,enumerable:!1,configurable:!0}}),"Symbol"in e&&"iterator"in e.Symbol&&(Object.defineProperty(o.prototype,e.Symbol.iterator,{value:o.prototype.entries,writable:!0,enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,e.Symbol.iterator,{value:function(){return this},writable:!0,enumerable:!0,configurable:!0})),s)for(var f in s)s.hasOwnProperty(f)&&"function"==typeof s[f]&&(l[f]=s[f]);e.URL=l,e.URLSearchParams=o}(),function(){if("1"!==new e.URLSearchParams([["a",1]]).get("a")||"1"!==new e.URLSearchParams({a:1}).get("a")){var r=e.URLSearchParams;e.URLSearchParams=function(e){if(e&&"object"==typeof e&&t(e)){var a=new r;return n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();a.append(r[0],r[1])}),a}return e&&"object"==typeof e?(a=new r,Object.keys(e).forEach(function(t){a.set(t,e[t])}),a):new r(e)}}}()}(self);}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
\ No newline at end of file
... ...
... ... @@ -8,13 +8,15 @@ Promise.all([
import('./script/http.js' + ver),
]).then((res) => {
// element plus 切换语言
// https://element-plus.org/zh-CN/guide/i18n.html#configprovider
// 创建vue3的实例
const app = Vue.createApp(res[2].default)
.use(res[0].default) // 挂载vuex
.use(res[1].default) // 挂载路由
.use(ElementPlus, {
locale: ElementPlus.lang.zhCn
locale: ElementPlusLocaleZhCn
})
.use(ElementPlus) // 加载ElementPlus
.use(vant) // 加载vant
... ...