Authored by wangtao

Merge branch 'master-mj' of http://113.200.75.45:82/monitor_v3/hg-monitor-web into master-mj

 Conflicts:
	hg-monitor-web-base/src/main/resources/static/vue3/src/views/portSense/index.js
Showing 23 changed files with 219 additions and 114 deletions
... ... @@ -281,9 +281,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -83,9 +83,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -334,9 +334,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -352,9 +352,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -294,6 +294,12 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
value: 1
});
});
let zoomShow = false;
if (xData.length > 14) {
zoomShow = true;
} else {
zoomShow = false;
}
var series = [{
name: '进入人数',
data: countList,
... ... @@ -401,7 +407,24 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
}
}
}],
series: series
series: series,
dataZoom: [//滚动条
{
show: zoomShow,
type: 'slider',
realtime: true,
startValue: 0,
endValue: 14,
xAxisIndex: [0],
bottom: '10',
left: '30',
height: 10,
borderColor: 'rgba(0,0,0,0)',
textStyle: {
color: '#05D5FF',
},
},
]
};
timeChart.setOption(option)
});
... ...
... ... @@ -287,9 +287,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -267,7 +267,7 @@ layui.define(['table', 'admin', 'form', 'common', 'sessions', 'reslist', 'common
var domId = $(this).attr("id");
ids.push(domId);
});
return !common.hasPermission(id, ids);
return $.inArray(id, ids);
}
//绑定下拉搜索事件
... ... @@ -414,10 +414,10 @@ layui.define(['table', 'admin', 'form', 'common', 'sessions', 'reslist', 'common
elem: '#favoriteListTable',
id: 'favoriteListTable'
,
toolbar: '<div class="warn-btns"><button id="favorites_cols_save" class="layui-btn layui-btn-normal layui-btn-sm hide" style="float: right;">保存列顺序</button></div>' //开启头部工具栏,并为其绑定左侧模板
,
defaultToolbar: ['filter']
,
// toolbar: '<div class="warn-btns"><button id="favorites_cols_save" class="layui-btn layui-btn-normal layui-btn-sm hide" style="float: right;">保存列顺序</button></div>' //开启头部工具栏,并为其绑定左侧模板
// ,
// defaultToolbar: ['filter']
// ,
url: common.domainName + '/api-web/favorites/res/noList'
,
where: {
... ... @@ -452,13 +452,14 @@ layui.define(['table', 'admin', 'form', 'common', 'sessions', 'reslist', 'common
var resType = $(this).data("restype");
var resTypeName = $(this).data("restypename");
var ip = $(this).data("ip") ? $(this).data("ip") : "";
var resName = $(this).data("name") ? $(this).data("name") + " | " : "";
var pingEnable = $(this).data("pingenable");
if (pingEnable == '2') {
commonDetail.openNewWin('template/detail/pingIndex', resName + resTypeName + ' | ' + ip, {'resId': resId}, false);
} else {
commonDetail.openDetail(resId, resType, resName + ip);
}
var resName = $(this).data("name") ? $(this).data("name") : "";
// var pingEnable = $(this).data("pingenable");
// if (pingEnable == '2') {
// commonDetail.openNewWin('template/detail/pingIndex', resName + resTypeName + ' | ' + ip, {'resId': resId}, false);
// } else {
// commonDetail.openDetail(resId, resType, resName + ip);
// }
showResDetail(resId,resType,resName);
});
//触发拖动列事件,参数为保存按钮的id
... ... @@ -479,6 +480,13 @@ layui.define(['table', 'admin', 'form', 'common', 'sessions', 'reslist', 'common
});
});
}
//查看详情页
function showResDetail(resId,resType,resName){
window.parent.postMessage({
type: 'resDetail',
message: {'params':{'resId':resId,'resType':resType},'title':resName}
}, '*')
}
//刷新表格
function reloadFariteResList(favId) {
... ...
... ... @@ -282,9 +282,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -412,9 +412,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'commonDetail','sessi
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -513,15 +513,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
},
{
title: '操作', align: "center", width: 120,
templet: '<div><span data-id="{{d.id}}" data-suffix="{{d.suffix}}" class="layui-table-link preview-attachment-btn">预览</span></div>'
templet: '<div><span data-id="{{d.id}}" data-suffix="{{d.suffix}}" data-path = "{{d.path}}" class="layui-table-link preview-attachment-btn">预览</span></div>'
}
]],
done: function () {
$('.preview-attachment-btn').on('click', function () {
var id = $(this).data('id')
var suffix = $(this).data('suffix')
var filepath = $(this).data('path')
if (suffix == 'jpg' || suffix == 'png' || suffix == 'JPG' || suffix == 'PNG') { //图片类型
var srcUrl = domainName + `/api-web/openoffice/readImage/${id}?${tokenKey}=${accessToken}`;
var srcUrl = domainName + `/api-web/openoffice/readImage/${id}?accessToken=` + accessToken
layer.open({
type: 1,
content: `<div><img src="${srcUrl}" width="100%" height="100%" /></div>`,
... ... @@ -530,7 +531,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
})
} else {
//附件为文档类型
common.openReport(id)
var loadIndex = layer.load(1, {shade: [0.3], content: ''});
let name = Base64.encode(filepath, true);
admin.req({
url: domainName + `/api-web/openoffice/convertPdfMJ?pathBase64=${name}`,
type: 'get'
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.top;
if (win) {
window.top.postMessage({
type: "previewFile",
message: {
params: {
url: res.str
}
}
}, '*')
}
} else {
layer.confirm("文档不支持预览,是否下载!", function () {
const url = domainName + `/api-web/openoffice/download/${id}?accessToken=${accessToken}`;
window.open(url)
});
layer.close(loadIndex);
}
}).error(function (error) {
layer.close(loadIndex);
console.log(error)
})
}
})
}
... ...
... ... @@ -138,9 +138,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
}).done(function (res) {
layer.close(loadIndex);
if (res && res.success) {
let win = window.parent;
let win = window.top;
if (win) {
window.parent.postMessage({
window.top.postMessage({
type: "previewFile",
message: {
params: {
... ...
... ... @@ -589,6 +589,12 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
value: 1
});
});
let zoomShow = false;
if (xData.length > 10) {
zoomShow = true;
} else {
zoomShow = false;
}
var series = [{
name: '应报',
data: needReportList,
... ... @@ -761,14 +767,22 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
}
}],
series: series,
dataZoom: [
dataZoom: [//滚动条
{
type: "slider",
show: zoomShow,
type: 'slider',
realtime: true,
height: 25,
start: 5,
end: 55
}
startValue: 0,
endValue: 14,
xAxisIndex: [0],
bottom: '10',
left: '30',
height: 10,
borderColor: 'rgba(0,0,0,0)',
textStyle: {
color: '#05D5FF',
},
},
]
};
... ...
... ... @@ -20,14 +20,6 @@
placeholder="关键字,回车搜索" type="text">
</div>
</div>
<div class="layui-inline favorite-cards">
<div class="layui-input-inline layui-input-inline--long" >
<button type="button" id="fav_keyword"
class="layui-btn layui-btn-normal layui-btn-normal">
搜索
</button>
</div>
</div>
<div class="layui-inline favorite-reslist">
<div class="layui-input-inline layui-input-inline--long">
<input autocomplete="off" class="layui-input" id="keyword_id" name="keyword_id"
... ... @@ -62,14 +54,6 @@
</select>
</div>
</div>
<div class="layui-inline favorite-reslist">
<div class="layui-input-inline layui-input-inline--long" style="margin-top: -4px;">
<button type="button" id="keyword"
class="layui-btn layui-btn-normal layui-btn-normal">
搜索
</button>
</div>
</div>
</div>
</form>
<div class="favorites-header-btngroup">
... ...
<div>
<el-dialog v-model="dialogVisible" title="新增" width="50%" :before-close="beforeClose">
<div>
<div style="margin-right:6px;">
<!--<cm-res-type-tree-input @callback="getResType" clearable collapseTags multiple/>-->
</div>
<div class="flex-div-start" style="float: left;">
<el-button :size="$global.elementConfig.size.button" @click="onBtnSearch()" style="margin-left: 6px" type="primary">搜索</el-button>
</div>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="beforeClose">取消</el-button>
<el-button type="primary" @click="submit">确定</el-button>
</span>
</template>
</el-dialog>
</div>
\ No newline at end of file
... ...
export default {
name: 'portSenseAdd',
template: '',
components: {
},
props:{
dialogVisible:{
type:Boolean,
}
},
setup(props, {attrs, slots, emit}){
const {proxy} = Vue.getCurrentInstance();
let types = Vue.ref([]);
//获取资源类型
let getResType = (arr) => {
types.value = arr.map(function (v) {
return v.id;
});
}
const onBtnSearch = ()=>{
}
const submit = ()=>{
if (types.value.length === 0) {
proxy.$global.layer.msg('请选择一项', {icon: 7, timeout: 3000});
return false;
}
beforeClose();
}
const beforeClose = () => {
emit('beforeClose')
}
return {
getResType,
onBtnSearch,
submit,
beforeClose
}
}
}
\ No newline at end of file
... ...
... ... @@ -93,4 +93,6 @@
<port-sense-config v-if="stepActive == 1" :parameter="portSenseConfigData"></port-sense-config>
</template>
</cm-dialog>
<port-sense-add :dialogVisible="dialogVisible" @beforeClose="beforeClose"></port-sense-add>
</div>
... ...
... ... @@ -61,7 +61,6 @@ export default {
align: 'center',
}
];
let stepActive = Vue.ref(0);
//配置列表总数
let count = Vue.ref(0);
//搜索关键字
... ... @@ -194,42 +193,36 @@ export default {
}
//添加
let save = () => {
stepActive.value = 1;
showPortSense.value = true;
//获取所有的端口侦测信息
// let dataList = [];
// let getParams = {
// keyWords: '',
// resTypes: '',
// resIds: '',
// busIds: '',
// page: '',
// limit: ''
// };
// proxy.$http.get("/api-web/bResourceExtendParam/page", getParams, function (res) {
// if (res && res.success) {
// dataList = res.data;
// }
// })
// dataList = dataList.map(item => item.resId);
// proxy.$global.openWin("template/res/reslist", "选择资源", {oldData: dataList}, ["选择"], function (index) {
// //获取选中数据
// let data = proxy.$global.layui.table.checkStatus('reslist_resListTable').data;
// if (data.length === 0) {
// //vue层级关系
// // proxy.$global.showMsg("请至少选择一条数据!", "warning");
// proxy.$global.layer.msg('请选择一项', {icon: 7, timeout: 3000});
// return false;
// }
// //打开端口侦测配置页面
// portSenseConfigData.value = data.map(item => item.resId);
// showPortSense.value = true;
// proxy.$global.layer.close(index);
// }, null, ['80%', '83%']);
let dataList = [];
let getParams = {
keyWords: '',
resTypes: '',
resIds: '',
busIds: '',
page: '',
limit: ''
};
proxy.$http.get("/api-web/bResourceExtendParam/page", getParams, function (res) {
if (res && res.success) {
dataList = res.data;
}
})
dataList = dataList.map(item => item.resId);
proxy.$global.openWin("template/res/reslist", "选择资源", {oldData: dataList}, ["选择"], function (index) {
//获取选中数据
let data = proxy.$global.layui.table.checkStatus('reslist_resListTable').data;
if (data.length === 0) {
//vue层级关系
// proxy.$global.showMsg("请至少选择一条数据!", "warning");
proxy.$global.layer.msg('请选择一项', {icon: 7, timeout: 3000});
return false;
}
//打开端口侦测配置页面
portSenseConfigData.value = data.map(item => item.resId);
showPortSense.value = true;
proxy.$global.layer.close(index);
}, null, ['80%', '83%']);
}
//删除
... ... @@ -254,20 +247,8 @@ export default {
//打开端口侦测配置页面
portSenseConfigData.value = [row.resId];
showPortSense.value = true;
stepActive.value = 2;
}
const next = () => {
if (stepActive.value++ > 2) stepActive.value = 0
}
return {
stepActive,
next,
count,
portSenseData,
columns,
... ...