Authored by xwx

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

... ... @@ -3006,12 +3006,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
contextmenuEvent: function (){
var contextmenuTips;
let text='';
let urlHash=window.location.hash;
$('[type=button]').contextmenu(function (e) {
e.preventDefault();
//按钮
text='按钮->'+$(this).text();
var contextmenuEl='<ul class="contextmenu-style" style="color:#fff;">';
contextmenuEl+='<li>name--'+text+'</li>';
let elementName=$(this).text();
var contextmenuEl='<ul id="tipContextmenu" class="contextmenu-style" style="color:#fff;">';
contextmenuEl+='</ul>';
contextmenuTips = layer.tips(contextmenuEl, $(this), {
time: 0,
... ... @@ -3019,34 +3019,106 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
success() {
}
})
admin.req({
url: common.domainName + '/api-web/bHalt'
,data:{
urlHash:urlHash,
elementName:elementName
}
, async: false
, done: function (res) {
let liEle=''
if(res.data && res.data.length>0){
let tipData=res.data;
tipData.map(item=>{
liEle+='<li>'+item.elementExplain+'</li>';
})
}else{
liEle+='<li>暂无</li>';
}
setTimeout(function(){
$('#tipContextmenu').append(liEle)
},100)
}
})
})
$('.layui-table-link').parents('td').contextmenu(function (e) {
// $('.layui-table-link').parents('td').contextmenu(function (e) {
$('td .layui-table-link').contextmenu(function (e) {
e.preventDefault();
//超链接
text='超链接->'+$(this).text();
var contextmenuEl='<ul class="contextmenu-style" style="color:#fff;">';
contextmenuEl+='<li>name--'+text+'</li>';
let elementName=$(this).text();
var contextmenuEl='<ul id="tipContextmenu" class="contextmenu-style" style="color:#fff;">';
contextmenuEl+='</ul>';
contextmenuTips = layer.tips(contextmenuEl, $(this), {
time: 0,
tips: [2, '#1e9fff'],
tips: [3, '#1e9fff'],
success() {
}
})
admin.req({
url: common.domainName + '/api-web/bHalt'
,data:{
urlHash:urlHash,
elementName:elementName
}
, async: false
, done: function (res) {
let liEle=''
if(res.data && res.data.length>0){
let tipData=res.data;
tipData.map(item=>{
liEle+='<li>'+item.elementExplain+'</li>';
})
}else{
liEle+='<li>暂无</li>';
}
setTimeout(function(){
$('#tipContextmenu').append(liEle)
},100)
}
})
})
$('table thead tr th').contextmenu(function (e) {
// $('table thead tr th').contextmenu(function (e) {
$('table thead tr th span').contextmenu(function (e) {
e.preventDefault();
//超链接
text='表头->'+$(this).text();
var contextmenuEl='<ul class="contextmenu-style" style="color:#fff;">';
contextmenuEl+='<li>name--'+text+'</li>';
//表头
let elementName=$(this).text();
var contextmenuEl='<ul id="tipContextmenu" class="contextmenu-style" style="color:#fff;">';
contextmenuEl+='</ul>';
contextmenuTips = layer.tips(contextmenuEl, $(this), {
time: 0,
tips: [2, '#1e9fff'],
tips: [3, '#1e9fff'],
success() {
}
})
admin.req({
url: common.domainName + '/api-web/bHalt'
,data:{
urlHash:urlHash,
elementName:elementName
}
, async: false
, done: function (res) {
let liEle=''
if(res.data && res.data.length>0){
let tipData=res.data;
tipData.map(item=>{
liEle+='<li>'+item.elementExplain+'</li>';
})
}else{
liEle+='<li>暂无</li>';
}
setTimeout(function(){
$('#tipContextmenu').append(liEle)
},100)
}
})
})
/*$('[data-contextmenu]').contextmenu(function (e) {
... ...
... ... @@ -2,7 +2,7 @@
@Name:通用资源详细信息
@Author:王凤
*/
layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSelect', 'md5'], function (exports) {
layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSelect', 'md5','carousel'], function (exports) {
var $ = layui.$
, table = layui.table
, common = layui.common
... ... @@ -13,7 +13,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
, form = layui.form
, xmSelect = layui.xmSelect
, admin = layui.admin
, md5 = layui.md5;
, md5 = layui.md5
, carousel = layui.carousel;
//编辑状态时,选中的指标信息集合
var checkedKpiObj = [];
//详情页悬浮提示的index
... ... @@ -152,7 +153,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
rowMenu.attr('data-nature', 'true');//性能趋势
// rowMenu.attr('data-canca', data.canCA);
// rowMenu.attr('data-incaing', data.inCAing);
// rowMenu.attr('data-restype', data.resType);
rowMenu.attr('data-restype', (data && data[0])?data[0].resType:'');
//监听告警压制等操作配置
$('#' + targetId + "_detail_row_menu").hover(function () {
var $that = $(this);
... ... @@ -253,6 +254,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
rowMenu.attr("data-unit", "");
rowMenu.attr('data-hidem', 'true');
rowMenu.attr('data-nature', 'true');//性能趋势
rowMenu.attr('data-restype', data[0]?data[0].resType:'');
//监听告警压制等操作配置
$('#' + targetId + "_detail_row_menu").hover(function () {
var $that = $(this);
... ... @@ -3075,6 +3078,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
layer.alert('该资源只对接TRAP告警信息!',{icon:0});
return;
}
//url(/src/style/img/shutdown.png)
title +=`<span id="title-shutdown" data-id=${resId} style="padding:0 5px;display: inline-block;position: relative;top: 8px;left:20px;"></span>`
obj.openNewWin(url, title, params, editFlag, fn, cancelfn, type,sign_);
},
error: function () {
... ... @@ -3344,6 +3349,49 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
// layer.close(detailTips);
// }
// })
//start lsq 增加停机状态跑马灯效果 2022-05-24
let resId= $('#title-shutdown').data("id");
admin.req({
url: common.domainName + '/api-web/manage/cutover/findByResId?access_token=' + layui.sessions.getToken().access_token + '&resId=' + resId
, async: false
, done: function (res) {
if(res.data && res.data.length>0){
let listData=res.data;
//
let carouselStr=`
<img src="/src/style/img/shutdown.png" style="position: absolute;top: 0; left: -3px;" alt="">
<div class="layui-carousel shutdown-carousel " id="shutdown-carousel" style="background: transparent;">
<div carousel-item>`;
let boxShadow='0 0 10px';
listData.map((item,index)=>{
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></div>`;
$('.layui-layer-title #title-shutdown').append(carouselStr);
//轮播切换
let options={
width: '630px'
, height:'30px'
, arrow: 'none'
, autoplay: true//自动切换
, interval:5000//自动切换的时间间隔
// , trigger: (layui.device().ios || layui.device().android) ? 'click' : 'hover'
, anim: 'default' //切换动画的方式 fade,default,updown
, index: 0
, indicator:'none'//指示器的位置 outside,inside,none
}
var ins=carousel.render({
elem: '#shutdown-carousel'
});
//重置轮播
ins.reload(options);
//end lsq 2022-05-24
}
}
})
},
yes:function (index) {
layer.close(index);
... ...
... ... @@ -498,6 +498,25 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common',
resize: false,
area: ['80%', '90%'],
success: function (indexm, layero) {
//start 停机模式从数据字典中获取 2022-05-24
admin.req({
url: common.domainName + '/api-web/manage/ddic/findSucDdics/shutdown_plan_mode'
, method: 'POST'
, async: false
}).done(function (res) {
let radioData=res.data;
let htmlRadio='';
if(radioData && radioData.length>0){
radioData.map(item=>{
htmlRadio+=`<input type="radio" data-sort="`+item.ddicSort+`" name="cutoverMode" lay-filter="shutdownplanMode" value="`+item.ddicSort+`" title="`+item.ddicName+`">`
})
}
$('#shutdownDdic').html(htmlRadio);
$('#shutdownDdic [data-sort]:first-child').attr("checked",true)
}).error(function (error) {
console.error(error);
});
//end lsq 2022-05-24
},
yes: function (index, layero) {
$("#saveshutdownplanBtn").trigger("click");
... ...
... ... @@ -31,10 +31,11 @@
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="min-width: 120px!important;max-width: 120px!important;">停机模式<span style="color: red">*</span></label>
<div class="layui-input-block">
<input type="radio" name="cutoverMode" lay-filter="shutdownplanMode" value="1" title="暂停告警" checked>
<div class="layui-input-block" id="shutdownDdic">
<!--//lsq 停机模式从数据字典中获取 2022-05-24-->
<!--<input type="radio" name="cutoverMode" lay-filter="shutdownplanMode" value="1" title="暂停告警" checked>
<input type="radio" name="cutoverMode" lay-filter="shutdownplanMode" value="2" title="暂停采集">
<input type="radio" name="cutoverMode" lay-filter="shutdownplanMode" value="3" title="暂停通知">
<input type="radio" name="cutoverMode" lay-filter="shutdownplanMode" value="3" title="暂停通知">-->
</div>
</div>
<div class="layui-form-item">
... ...
... ... @@ -13,7 +13,16 @@ export default {
const {proxy} = Vue.getCurrentInstance();
let dateType=Vue.ref('oneDay');
let optionData=Vue.ref('');
let names = Vue.ref(['00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00', '07:00', '08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00']);
//series接口无数据时默认数据
let seriesData = Vue.ref([{
"data": [['2022-05-13','02:00'],['2022-05-15','03:00'],['2022-05-17','04:00']],
// "name": kpiName.value
"name": '成功'
},{
"data": [['2022-05-14','08:00'],['2022-05-16','09:00'],['2022-05-17','10:00']],
// "name": kpiName.value
"name": '失败'
}]);
let series = Vue.ref([]);
let rateData = Vue.ref([]);
let kpiUnit = Vue.ref('');
... ... @@ -105,6 +114,7 @@ export default {
dateType.value=val;
if(val=='custom'){
}else{
getMonthDay();
getLineChart();
}
... ... @@ -131,18 +141,10 @@ export default {
let url = '/api-web/scatter/getByResId?dateType=' + dateType.value +
'&resId=' + resourceId + '&kpiId=' + idStr + '&resType=' + resType;
proxy.$http.get(url, {},function (res){
kpiUnit.value = res.data.kpiUnit == null ? "" : res.data.kpiUnit;
kpiUnit.value = (!res.data || res.data.kpiUnit == null) ? "" : res.data.kpiUnit;
if (res.data && res.data.length == 0) {
rateData.value = {
series: [{
"data": [['2022-05-03','02:00'],['2022-05-05','03:00'],['2022-05-07','04:00']],
// "name": kpiName.value
"name": '成功'
},{
"data": [['2022-05-04','08:00'],['2022-05-06','09:00'],['2022-05-07','10:00']],
// "name": kpiName.value
"name": '失败'
}],
series: seriesData.value,
kpiUnit: kpiUnit.value
}
} else {
... ... @@ -151,15 +153,7 @@ export default {
setSeries();
},function (error){
rateData.value = {
series: [{
"data": [['2022-05-03','02:00'],['2022-05-05','03:00'],['2022-05-07','04:00']],
// "name": kpiName.value
"name": '成功'
},{
"data": [['2022-05-04','08:00'],['2022-05-06','09:00'],['2022-05-07','10:00']],
// "name": kpiName.value
"name": '失败'
}],
series: seriesData.value,
kpiUnit: kpiUnit.value
}
setSeries();
... ... @@ -227,7 +221,6 @@ export default {
},
xAxis: {
type: 'category',
// data: rateData.value.names,
data: xAxisData.value,
axisLine: {
lineStyle: {
... ... @@ -289,19 +282,19 @@ export default {
let xAxisData=Vue.ref([]);
const getMonthDay=()=>{
let m=24;
if(dateType=='oneDay'){
if(dateType.value=='oneDay'){
m=24;
}else if(dateType=='week'){
}else if(dateType.value=='week'){
m=7;
}else if(dateType=='month'){
}else if(dateType.value=='month'){
m=30;
}
let dateArr=[];
for(let i=0;i<=m;i++){
let myDate=new Date();
if(dateType=='oneDay'){
myDate.setHours(myDate.getHours()-m)
}else if(dateType=='week' || dateType=='month'){
if(dateType.value=='oneDay'){
myDate.setHours(myDate.getHours()-i)
}else if(dateType.value=='week' || dateType.value=='month'){
myDate.setDate(myDate.getDate() - i);
}
let lowData =getDateTime(myDate); //用了上面转年月日的方法
... ... @@ -322,7 +315,11 @@ export default {
if(day < 10){
day = '0'+day;
}
dateTime= year+'-'+month+'-'+day;//+' '+hours+':'+minutes+':'+seconds;
if(dateType.value=='oneDay'){
dateTime= year+'-'+month+'-'+day+' '+hours+':00';//+minutes;//+':'+seconds;
}else{
dateTime= year+'-'+month+'-'+day;//+' '+hours+':'+minutes+':'+seconds;
}
return dateTime;
}
//转换个位数为 00
... ... @@ -367,7 +364,7 @@ export default {
timeFormat,
dateType,
optionData,
names,
seriesData,
series,
rateData,
kpiUnit,
... ...
<title>设计器配置信息</title>
<iframe src="/vue3/index.html#/vue3/ajConfig" class="layadmin-iframe" style="height: 99.5%!important;"/>
<title>设计器预览</title>
<script type="text/html" template>
{{#
var viewURL = window.location.origin + '/vue3/index.html#/ajConfig/view';
layui.use(['sessions','common','admin'], function () {
var $ = layui.$;
var common = layui.common;
var admin = layui.admin;
var arr = [];
window.location.hash.split('/').forEach(function (v, i) {
if (v.indexOf('=') != -1) {
arr.push(v);
}
});
if (arr.length > 0) {
viewURL += "?" + arr.join("&");
}
$('#actionListIframe').attr('src',viewURL);
});
}}
<iframe id="actionListIframe" src="{{viewURL}}" frameborder="0" class="layadmin-iframe" style="height: 99.5%!important;"></iframe>
</script>
<div class="container" :style="{'height':height+'px','max-height':height+'px'}">
<div class="cm-card" :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}">
<div class="search">
<div class="btns" style="justify-content: left;padding-left: 0px">
<el-form-item>
<el-button type="primary" @click="addAj()" style="margin-left: 10px">新增</el-button>
</el-form-item>
</div>
<div class="design" style="float:right;padding-left: 1410px">
<el-form-item>
<el-button type="primary" @click="handleView()" style="margin-left: 10px">设计</el-button>
</el-form-item>
</div>
</div>
<div class="search-table">
<cm-table-page :columns="columns" :dataList="tableDataList" @loaddata="loadTableDataList"
:showIndex="true" :total="count" :showSelection="true"
:showBorder="true" :loading="false" :pageSize="pageSize"
:showPage="true" :showTools="true" :height="(height - 130)" >
<template #default="{row,prop,column}">
<div v-if="prop == 'type'">
<div v-if="row.type == 0">
<el-tag>菜单</el-tag>
</div>
<div v-if="row.type == 1">
<el-tag>按钮</el-tag>
</div>
<div v-if="row.type == 2">
<el-tag>详情页</el-tag>
</div>
</div>
</template>
<template #tools="{scope}">
<div class="list-handle">
<span class="icon-bg">
<i class="el-icon-delete" title="删除" @click="handleDelete(scope.row)"></i>
</span>
<span class="icon-bg">
<i class="el-icon-edit-outline" title="修改" @click="handleUpdate(scope.row)"></i>
</span>
<span class="icon-bg">
<i class="el-icon-view" title="预览" @click="handleView(scope.row)"></i>
</span>
</div>
</template>
</cm-table-page>
</div>
</div>
</div>
<!--新增编辑弹框-->
<cm-dialog :title="titleName" width="40%" :showDialogVisible="cacheVisible" @hidedialog="cancelBtn" :showFooter="false">
<template v-slot>
<el-form
label-width="120px"
ref="ruleForm"
:model="ajConfigFrom"
:rules="docRulesForm"
label-position="right"
label-width="120px">
<el-form-item label="编号" prop="id">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.id" clearable></el-input>
</el-form-item>
<el-form-item label="类型" prop="type">
<el-radio v-model="ajConfigFrom.type" label="0" size="large">菜单</el-radio>
<el-radio v-model="ajConfigFrom.type" label="1" size="large">按钮</el-radio>
<el-radio v-model="ajConfigFrom.type" label="2" size="large">详情页</el-radio>
<div>
<span>示例:12345646 说明:12132123</span>
</div>
</el-form-item>
<el-form-item label="父菜单" prop="menuPid" v-if="ajConfigFrom.type==0">
<el-select v-model="ajConfigFrom.menuPid" placeholder="请选择" style="width: 555px;">
<el-option
v-for="item in menuOptions"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="item.disabled">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="菜单名称" prop="menuName" v-if="ajConfigFrom.type==0">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.menuName" clearable></el-input>
</el-form-item>
<el-form-item label="设计页面" prop="designPage">
<el-select v-model="ajConfigFrom.designPage" placeholder="请选择" style="width: 510px;">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="item.disabled">
</el-option>
</el-select>
<el-tag @click="preview(ajConfigFrom.designPage)" :size="large">预览</el-tag>
</el-form-item>
<el-form-item label="传递参数" prop="param">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.param" clearable></el-input>
<span>示例:12345646 说明:12132123</span>
</el-form-item>
<el-form-item label="资源类型" prop="resType" v-if="ajConfigFrom.type==2">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.resType" clearable></el-input>
</el-form-item>
<el-form-item label="厂商" prop="firm" v-if="ajConfigFrom.type==2">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.firm" clearable></el-input>
</el-form-item>
<el-form-item label="绑定资源" prop="resource" v-if="ajConfigFrom.type==2">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.resource" clearable></el-input>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input :size="$global.elementSize" v-model="ajConfigFrom.remark" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button :size="$global.elementSize" type="primary" @click="addAjConfig('ruleForm')">保存</el-button>
<el-button :size="$global.elementSize" @click="cancelBtn">取消</el-button>
</el-form-item>
</el-form>
</template>
</cm-dialog>
export default {
name: 'ajConfig',
template: '',
components: {},
props:[],
data () {
return {
radio:'0',
docRulesForm: {
id: [
{
required: true,
message: '请填写文档编号!',
trigger: 'blur',
}
],
type:[{
required: true,
message: '请选择类型!',
trigger: 'blur',
}],
designPage:[{
required: true,
message: '请选择设计页面!',
trigger: 'blur',
}],
resource:[{
required: true,
message: '请填写绑定资源!',
trigger: 'blur',
}],
}
}
},
setup(props, {attrs, slots, emit}){
const {proxy} = Vue.getCurrentInstance();
let height = Vue.ref(window.innerHeight - 10);
//表格字段
let columns=Vue.ref([
{
prop: 'id',
label: '编号',
sortable: true,
align: 'center',
width:'250'
},
{
prop: 'type',
label: '类型',
sortable: true,
align: 'center',
width:'250',
},
{
prop: 'resType',
label: '资源类型',
sortable: true,
align: 'center',
width:'250'
},{
prop: 'firm',
label: '品牌',
sortable: true,
align: 'center',
width:'250'
},{
prop: 'designPage',
label: '设计器名称',
sortable: true,
align: 'center',
width:'250'
},{
prop: 'param',
label: '参数',
sortable: true,
align: 'left'
}
])
let currentPage=Vue.ref(1);
let pageSize=Vue.ref(10);
let keyword=Vue.ref();
let count=Vue.ref(0);
let tableDataList=Vue.ref([]);
let checkedId = Vue.ref(0);
let titleName=Vue.ref('新增配置信息')
let cacheVisible=Vue.ref(false);
let viewData=Vue.ref();
let addOrUpdate=Vue.ref(false)
let radio=Vue.ref(0);
//下拉框
let options=Vue.ref([]);
//菜单下拉框
let menuOptions=Vue.ref([]);
let ajConfigFrom = Vue.ref({
id:'',
type: 0,
designPage: '',
param: '',
resType: '',
firm:'',
resource:'',
remark:'',
creatTime:'',
createName:'',
state:'',
title:'',
menuPid:'',
menuName:''
});
//新增弹框
const addAj=()=>{
clearForm();
cacheVisible.value=true;
pageList();
menuList();
}
//新增或修改aj配置信息
let addAjConfig=(ruleForm)=>{
let params={};
params= ajConfigFrom.value;
let msg = '';
if (addOrUpdate.value){
proxy.$http.post(`/api-web/ajConfig/updateAj`, params, function (res) {
if (res && res.success == true) {
msg = res.msg;
cacheVisible.value=false;
proxy.$global.showMsg(msg);
clearForm();
getDataList();
}
})
}else{
proxy.$http.post(`/api-web/ajConfig/addAj`, params, function (res) {
if (res && res.success == true) {
msg = res.msg;
cacheVisible.value=false;
proxy.$global.showMsg(msg);
if (params.type==0){
window.history.go(0);
}
clearForm();
getDataList();
}
})
}
}
//清理表单
let clearForm=()=>{
ajConfigFrom.value={
id:'',
type: '0',
designPage: '',
param: '',
resType: '',
firm:'',
resource:'',
remark:'',
creatTime:'',
createName:'',
state:'',
title:'',
menuPid:'',
menuName:''
}
addOrUpdate.value=false;
}
//删除
let handleDelete=(row)=>{
let param={
id:row.id
}
proxy.$http.get(`/api-web/ajConfig/deleteById`, param, function (res) {
if (res && res.success == true) {
let msg = res.msg;
if (!msg) {
msg = "删除失败";
}
if (row.type==0){
history.go(0);
}
proxy.$global.showMsg(msg);
getDataList();
}
})
}
let handleUpdate=(row)=>{
addOrUpdate.value =true;
ajConfigFrom.value=row;
cacheVisible.value=true;
pageList();
menuList();
}
//预览
let preview=(row)=>{
proxy.$global.viewAjView(row,'80%','80%','');
}
//aj报表管理信息
let pageList=()=>{
proxy.$http.get(`/api-web/ajConfig/pageList`, null, function (res) {
if (res && res.success == true) {
let params=res.object.data.records;
params.forEach(function(e){
let report={}
report.label=e.reportName;
report.value=e.reportCode;
options.value.push(report)
});
}
})
}
//菜单
let menuList=()=>{
proxy.$http.get(`/api-user/menus/findAlls`, null, function (res) {
if (res && res.count>0) {
let params=res.data;
params.forEach(function(e){
let menu={}
menu.label=e.name;
menu.value=e.id;
menuOptions.value.push(menu)
});
}
})
}
//AJ设计登录
let handleView=()=>{
window.open(sessionStorage.getItem("ajWeb") + '/#/login?access_token=' + localStorage.getItem("access_token"));
}
//重新加载表格数据
let loadTableDataList = ({page, limit}) => {
currentPage.value=page;
pageSize.value=limit;
getDataList()
}
//获取aj配置信息
let getDataList=()=>{
proxy.$http.get(`/api-web/ajConfig/ajConfigList`,null, function (res) {
if (res && res.data) {
count.value = res.data.length;
tableDataList.value = res.data;
}else{
tableDataList.value='暂无数据';
}
});
}
//关闭弹框
let cancelBtn=()=>{
cacheVisible.value=false;
}
// 挂载完
Vue.onMounted(() => {
getDataList();
})
return {
height,
columns,
currentPage,
count,
pageSize,
keyword,
tableDataList,
checkedId,
addAj,
addAjConfig,
loadTableDataList,
getDataList,
cacheVisible,
titleName,
viewData,
cancelBtn,
ajConfigFrom,
handleDelete,
handleUpdate,
preview,
handleView,
pageList,
radio,
options,
menuList,
menuOptions
}
}
}
<div class="container" :style="{'height':height+'px','max-height':height+'px'}">
<iframe :src="src" width="100%" height="100%" ></iframe>
</div>
export default {
name: 'ajConfigViewIndex',
template: '',
components: {},
data() {
return {
}
},
setup() {
const {proxy} = Vue.getCurrentInstance();
let src = Vue.ref('');
let height = Vue.ref(window.innerHeight - 10);
var reportCode = proxy.$global.getQueryVariable('reportCode');
let url=()=>{
src.value=sessionStorage.getItem("ajWeb")+'/#/bigscreen/viewer?reportCode='+reportCode+'&access_token=' + localStorage.getItem("access_token");
}
// 挂载完
Vue.onMounted(() => {
url();
})
return {
url,
src,
height
}
}
}