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) { @@ -1381,15 +1381,31 @@ layui.define(['xmSelect', 'md5'], function (exports) {
1381 } 1381 }
1382 }); 1382 });
1383 }, 1383 },
1384 - viewAjView: function (reportCode) { 1384 + viewAjView: function (reportCode,height,width) {
1385 layer.load(2); 1385 layer.load(2);
1386 - layer.open({  
1387 - type: 2,  
1388 - content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode+"?access_token=" + localStorage.getItem('access_token'),  
1389 - area: ['80%', '80%'],  
1390 - title: '' 1386 + admin.req({
  1387 + url: obj.domainName + '/api-web/ajConfig/findOneById',
  1388 + data: {id:reportCode},
  1389 + success(response) {
  1390 + layer.closeAll('loading');
  1391 + if (response && response.success) {
  1392 + layer.open({
  1393 + type: 2,
  1394 + content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + response.object.designPage + response.object.param+"&access_token=" + localStorage.getItem('access_token'),
  1395 + area: [height, width],
  1396 + title: response.object.title
  1397 + });
  1398 + } else {
  1399 + layer.open({
  1400 + type: 2,
  1401 + content: obj.ajScreenStatement + "/#/bigscreen/viewer?reportCode=" + reportCode+"&access_token=" + localStorage.getItem('access_token'),
  1402 + area: [height, width],
  1403 + title: ''
  1404 + });
  1405 + layer.closeAll('loading');
  1406 + }
  1407 + }
1391 }); 1408 });
1392 - layer.closeAll('loading');  
1393 }, 1409 },
1394 viewBizTopo: function (busId) { 1410 viewBizTopo: function (busId) {
1395 layer.load(2); 1411 layer.load(2);
@@ -221,9 +221,9 @@ global.viewResTopo = (resId) => { @@ -221,9 +221,9 @@ global.viewResTopo = (resId) => {
221 /** 221 /**
222 * aj报表预览 222 * aj报表预览
223 */ 223 */
224 -global.viewAjView = (reportCode) => { 224 +global.viewAjView = (reportCode,height,width) => {
225 let lyaui = global.layui; 225 let lyaui = global.layui;
226 - lyaui.common.viewAjView(reportCode) 226 + lyaui.common.viewAjView(reportCode,height,width)
227 } 227 }
228 /** 228 /**
229 * 打开资产列表 229 * 打开资产列表
  1 +<title>设计器预览</title>
  2 +<script type="text/html" template>
  3 + {{#
  4 + var viewURL = window.location.origin + '/vue3/index.html#/ajConfig/view';
  5 + layui.use(['sessions','common','admin'], function () {
  6 + var $ = layui.$;
  7 + var common = layui.common;
  8 + var admin = layui.admin;
  9 + var arr = [];
  10 + window.location.hash.split('/').forEach(function (v, i) {
  11 + if (v.indexOf('=') != -1) {
  12 + arr.push(v);
  13 + }
  14 + });
  15 +
  16 + if (arr.length > 0) {
  17 + viewURL += "?" + arr.join("&");
  18 + }
  19 + $('#actionListIframe').attr('src',viewURL);
  20 + });
  21 + }}
  22 + <iframe id="actionListIframe" src="{{viewURL}}" frameborder="0" class="layadmin-iframe" style="height: 99.5%!important;"></iframe>
  23 +</script>
@@ -174,7 +174,12 @@ const routes = [{ @@ -174,7 +174,12 @@ const routes = [{
174 path: '/vue3/ajConfig', 174 path: '/vue3/ajConfig',
175 name: 'ajConfig', 175 name: 'ajConfig',
176 component: () => myImport('views/ajConfig/index') 176 component: () => myImport('views/ajConfig/index')
177 - } 177 + },
  178 + {
  179 + path: '/ajConfig/view',
  180 + name: 'ajConfigView',
  181 + component: () => myImport('views/ajConfig/view/index')
  182 + },
178 ]; 183 ];
179 184
180 // hash模式: createWebHashHistory 185 // hash模式: createWebHashHistory
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 </div> 14 </div>
15 15
16 <div class="search-table"> 16 <div class="search-table">
17 - <cm-table-page v-if="tableDataList.length" :columns="columns" :dataList="tableDataList" @loaddata="loadTableDataList" 17 + <cm-table-page :columns="columns" :dataList="tableDataList" @loaddata="loadTableDataList"
18 :showIndex="true" :total="count" :showSelection="true" 18 :showIndex="true" :total="count" :showSelection="true"
19 :showBorder="true" :loading="false" :pageSize="pageSize" 19 :showBorder="true" :loading="false" :pageSize="pageSize"
20 :showPage="true" :showTools="true" :height="(height - 130)" > 20 :showPage="true" :showTools="true" :height="(height - 130)" >
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 <i class="el-icon-edit-outline" title="修改" @click="handleUpdate(scope.row)"></i> 42 <i class="el-icon-edit-outline" title="修改" @click="handleUpdate(scope.row)"></i>
43 </span> 43 </span>
44 <span class="icon-bg"> 44 <span class="icon-bg">
45 - <i class="el-icon-view" title="预览" @click="handleView(scope.row)"></i> 45 + <i class="el-icon-view" title="预览" @click="preview(scope.row)"></i>
46 </span> 46 </span>
47 </div> 47 </div>
48 </template> 48 </template>
@@ -71,14 +71,17 @@ @@ -71,14 +71,17 @@
71 <el-radio v-model="ajConfigFrom.type" label="0" size="large">菜单</el-radio> 71 <el-radio v-model="ajConfigFrom.type" label="0" size="large">菜单</el-radio>
72 <el-radio v-model="ajConfigFrom.type" label="1" size="large">按钮</el-radio> 72 <el-radio v-model="ajConfigFrom.type" label="1" size="large">按钮</el-radio>
73 <el-radio v-model="ajConfigFrom.type" label="2" size="large">详情页</el-radio> 73 <el-radio v-model="ajConfigFrom.type" label="2" size="large">详情页</el-radio>
74 - <div>  
75 - <span>示例:12345646 说明:12132123</span>  
76 - </div> 74 +<!-- <div style="height: 15px; color: darkgrey">说明:参数中间用'&'拼接</div>-->
77 </el-form-item> 75 </el-form-item>
78 76
79 77
80 <el-form-item label="父菜单" prop="menuPid" v-if="ajConfigFrom.type==0"> 78 <el-form-item label="父菜单" prop="menuPid" v-if="ajConfigFrom.type==0">
81 - <el-select v-model="ajConfigFrom.menuPid" placeholder="请选择" style="width: 555px;"> 79 + <el-select v-model="ajConfigFrom.menuPid"
  80 + filterable
  81 + allow-create
  82 + default-first-option
  83 + :reserve-keyword="false"
  84 + placeholder="请选择" style="width: 555px;">
82 <el-option 85 <el-option
83 v-for="item in menuOptions" 86 v-for="item in menuOptions"
84 :key="item.value" 87 :key="item.value"
@@ -93,8 +96,17 @@ @@ -93,8 +96,17 @@
93 <el-input :size="$global.elementSize" v-model="ajConfigFrom.menuName" clearable></el-input> 96 <el-input :size="$global.elementSize" v-model="ajConfigFrom.menuName" clearable></el-input>
94 </el-form-item> 97 </el-form-item>
95 98
  99 + <el-form-item label="菜单标题" prop="title" v-if="ajConfigFrom.type==1">
  100 + <el-input :size="$global.title" v-model="ajConfigFrom.title" clearable></el-input>
  101 + </el-form-item>
  102 +
96 <el-form-item label="设计页面" prop="designPage"> 103 <el-form-item label="设计页面" prop="designPage">
97 - <el-select v-model="ajConfigFrom.designPage" placeholder="请选择" style="width: 510px;"> 104 + <el-select v-model="ajConfigFrom.designPage"
  105 + filterable
  106 + allow-create
  107 + default-first-option
  108 + :reserve-keyword="false"
  109 + placeholder="请选择" style="width: 510px;">
98 <el-option 110 <el-option
99 v-for="item in options" 111 v-for="item in options"
100 :key="item.value" 112 :key="item.value"
@@ -103,12 +115,12 @@ @@ -103,12 +115,12 @@
103 :disabled="item.disabled"> 115 :disabled="item.disabled">
104 </el-option> 116 </el-option>
105 </el-select> 117 </el-select>
106 - <el-tag @click="preview(ajConfigFrom.designPage)">预览</el-tag> 118 + <el-tag @click="preview(ajConfigFrom.designPage)" style="padding-top:4px;height: 38px;">预览</el-tag>
107 </el-form-item> 119 </el-form-item>
108 120
109 <el-form-item label="传递参数" prop="param"> 121 <el-form-item label="传递参数" prop="param">
110 <el-input :size="$global.elementSize" v-model="ajConfigFrom.param" clearable></el-input> 122 <el-input :size="$global.elementSize" v-model="ajConfigFrom.param" clearable></el-input>
111 - <span>示例:12345646 说明:12132123</span> 123 + <div style="height: 15px;color: darkgrey">示例:&test=1&test1=1 说明:'&'开头,并且参数中间用'&'拼接</div>
112 </el-form-item> 124 </el-form-item>
113 125
114 <el-form-item label="资源类型" prop="resType" v-if="ajConfigFrom.type==2"> 126 <el-form-item label="资源类型" prop="resType" v-if="ajConfigFrom.type==2">
@@ -127,6 +127,8 @@ export default { @@ -127,6 +127,8 @@ export default {
127 msg = res.msg; 127 msg = res.msg;
128 cacheVisible.value=false; 128 cacheVisible.value=false;
129 proxy.$global.showMsg(msg); 129 proxy.$global.showMsg(msg);
  130 + clearForm();
  131 + getDataList();
130 } 132 }
131 }) 133 })
132 }else{ 134 }else{
@@ -135,11 +137,15 @@ export default { @@ -135,11 +137,15 @@ export default {
135 msg = res.msg; 137 msg = res.msg;
136 cacheVisible.value=false; 138 cacheVisible.value=false;
137 proxy.$global.showMsg(msg); 139 proxy.$global.showMsg(msg);
  140 + if (params.type==0){
  141 + window.history.go(0);
  142 + }
  143 + clearForm();
  144 + getDataList();
  145 +
138 } 146 }
139 }) 147 })
140 } 148 }
141 - clearForm();  
142 - getDataList();  
143 } 149 }
144 //清理表单 150 //清理表单
145 let clearForm=()=>{ 151 let clearForm=()=>{
@@ -174,6 +180,9 @@ export default { @@ -174,6 +180,9 @@ export default {
174 if (!msg) { 180 if (!msg) {
175 msg = "删除失败"; 181 msg = "删除失败";
176 } 182 }
  183 + if (row.type==0){
  184 + history.go(0);
  185 + }
177 proxy.$global.showMsg(msg); 186 proxy.$global.showMsg(msg);
178 getDataList(); 187 getDataList();
179 } 188 }
@@ -189,7 +198,13 @@ export default { @@ -189,7 +198,13 @@ export default {
189 198
190 //预览 199 //预览
191 let preview=(row)=>{ 200 let preview=(row)=>{
192 - proxy.$global.viewAjView(row); 201 + if (row!=undefined&&row!=''&&row.id==''){
  202 + proxy.$global.viewAjView(row,'80%','80%');
  203 + }else if (row.id!=''){
  204 + proxy.$global.viewAjView(row.id,'80%','80%');
  205 + }
  206 +
  207 +
193 } 208 }
194 209
195 //aj报表管理信息 210 //aj报表管理信息
  1 +<div class="container" :style="{'height':height+'px','max-height':height+'px'}">
  2 + <iframe :src="src" width="100%" height="100%" ></iframe>
  3 +</div>
  1 +export default {
  2 + name: 'ajConfigViewIndex',
  3 + template: '',
  4 + components: {},
  5 +
  6 + data() {
  7 + return {
  8 + }
  9 + },
  10 + setup() {
  11 + const {proxy} = Vue.getCurrentInstance();
  12 + let src = Vue.ref('');
  13 + let height = Vue.ref(window.innerHeight - 10);
  14 + var reportCode = proxy.$global.getQueryVariable('reportCode');
  15 +
  16 + let url=()=>{
  17 + src.value=sessionStorage.getItem("ajWeb")+'/#/bigscreen/viewer?reportCode='+reportCode+'&access_token=' + localStorage.getItem("access_token");
  18 + }
  19 + // 挂载完
  20 + Vue.onMounted(() => {
  21 + url();
  22 + })
  23 +
  24 + return {
  25 + url,
  26 + src,
  27 + height
  28 + }
  29 + }
  30 +}