Authored by XuHaoJie

Merge branch 'master-500-dev' of http://113.200.75.45:82/monitor_v3/hg-monitor-w…

…eb into master-500-dev-XuHaoJie
... ... @@ -1381,15 +1381,31 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
});
},
viewAjView: function (reportCode) {
viewAjView: function (reportCode,height,width) {
layer.load(2);
admin.req({
url: obj.domainName + '/api-web/ajConfig/findOneById',
data: {id:reportCode},
success(response) {
layer.closeAll('loading');
if (response && response.success) {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode+"?access_token=" + localStorage.getItem('access_token'),
area: ['80%', '80%'],
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + response.object.designPage + response.object.param+"&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: response.object.title
});
} else {
layer.open({
type: 2,
content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode+"&access_token=" + localStorage.getItem('access_token'),
area: [height, width],
title: ''
});
layer.closeAll('loading');
}
}
});
},
viewBizTopo: function (busId) {
layer.load(2);
... ...
... ... @@ -221,9 +221,9 @@ global.viewResTopo = (resId) => {
/**
* aj报表预览
*/
global.viewAjView = (reportCode) => {
global.viewAjView = (reportCode,height,width) => {
let lyaui = global.layui;
lyaui.common.viewAjView(reportCode)
lyaui.common.viewAjView(reportCode,height,width)
}
/**
* 打开资产列表
... ...
<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>
... ...
... ... @@ -174,7 +174,12 @@ const routes = [{
path: '/vue3/ajConfig',
name: 'ajConfig',
component: () => myImport('views/ajConfig/index')
}
},
{
path: '/ajConfig/view',
name: 'ajConfigView',
component: () => myImport('views/ajConfig/view/index')
},
];
// hash模式: createWebHashHistory
... ...
... ... @@ -14,7 +14,7 @@
</div>
<div class="search-table">
<cm-table-page v-if="tableDataList.length" :columns="columns" :dataList="tableDataList" @loaddata="loadTableDataList"
<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)" >
... ... @@ -42,7 +42,7 @@
<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>
<i class="el-icon-view" title="预览" @click="preview(scope.row)"></i>
</span>
</div>
</template>
... ... @@ -71,14 +71,17 @@
<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>
<!-- <div style="height: 15px; color: darkgrey">说明:参数中间用'&'拼接</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-select v-model="ajConfigFrom.menuPid"
filterable
allow-create
default-first-option
:reserve-keyword="false"
placeholder="请选择" style="width: 555px;">
<el-option
v-for="item in menuOptions"
:key="item.value"
... ... @@ -93,8 +96,17 @@
<el-input :size="$global.elementSize" v-model="ajConfigFrom.menuName" clearable></el-input>
</el-form-item>
<el-form-item label="菜单标题" prop="title" v-if="ajConfigFrom.type==1">
<el-input :size="$global.title" v-model="ajConfigFrom.title" clearable></el-input>
</el-form-item>
<el-form-item label="设计页面" prop="designPage">
<el-select v-model="ajConfigFrom.designPage" placeholder="请选择" style="width: 510px;">
<el-select v-model="ajConfigFrom.designPage"
filterable
allow-create
default-first-option
:reserve-keyword="false"
placeholder="请选择" style="width: 510px;">
<el-option
v-for="item in options"
:key="item.value"
... ... @@ -103,12 +115,12 @@
:disabled="item.disabled">
</el-option>
</el-select>
<el-tag @click="preview(ajConfigFrom.designPage)">预览</el-tag>
<el-tag @click="preview(ajConfigFrom.designPage)" style="padding-top:4px;height: 38px;">预览</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>
<div style="height: 15px;color: darkgrey">示例:&test=1&test1=1 说明:'&'开头,并且参数中间用'&'拼接</div>
</el-form-item>
<el-form-item label="资源类型" prop="resType" v-if="ajConfigFrom.type==2">
... ...
... ... @@ -127,6 +127,8 @@ export default {
msg = res.msg;
cacheVisible.value=false;
proxy.$global.showMsg(msg);
clearForm();
getDataList();
}
})
}else{
... ... @@ -135,11 +137,15 @@ export default {
msg = res.msg;
cacheVisible.value=false;
proxy.$global.showMsg(msg);
}
})
if (params.type==0){
window.history.go(0);
}
clearForm();
getDataList();
}
})
}
}
//清理表单
let clearForm=()=>{
... ... @@ -174,6 +180,9 @@ export default {
if (!msg) {
msg = "删除失败";
}
if (row.type==0){
history.go(0);
}
proxy.$global.showMsg(msg);
getDataList();
}
... ... @@ -189,7 +198,13 @@ export default {
//预览
let preview=(row)=>{
proxy.$global.viewAjView(row);
if (row!=undefined&&row!=''&&row.id==''){
proxy.$global.viewAjView(row,'80%','80%');
}else if (row.id!=''){
proxy.$global.viewAjView(row.id,'80%','80%');
}
}
//aj报表管理信息
... ...
<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
}
}
}
... ...