Authored by 王涛
@@ -16,6 +16,7 @@ layui.define(['table', 'form', 'laydate', 'laytpl','common','sessions','xmSelect @@ -16,6 +16,7 @@ layui.define(['table', 'form', 'laydate', 'laytpl','common','sessions','xmSelect
16 reportId = ''; 16 reportId = '';
17 } 17 }
18 var sheetCollection = []; // 选择的资源ID 18 var sheetCollection = []; // 选择的资源ID
  19 + var protocolsSelect = {};
19 var sheetNameCollection=[]; 20 var sheetNameCollection=[];
20 var sheetTable; 21 var sheetTable;
21 var sessions = layui.sessions; 22 var sessions = layui.sessions;
@@ -150,7 +151,17 @@ layui.define(['table', 'form', 'laydate', 'laytpl','common','sessions','xmSelect @@ -150,7 +151,17 @@ layui.define(['table', 'form', 'laydate', 'laytpl','common','sessions','xmSelect
150 {type: 'checkbox', width: '3%'} 151 {type: 'checkbox', width: '3%'}
151 , {field: 'sheetName', title: 'sheet页名称', width: '20%'} 152 , {field: 'sheetName', title: 'sheet页名称', width: '20%'}
152 , {field: 'pollName', title: '数据源标识', width: '20%'} 153 , {field: 'pollName', title: '数据源标识', width: '20%'}
153 - , {field: 'headInfo', title: '列信息', width: '50%'} 154 + , {field: 'line', title: '列信息', width: '50%',
  155 + templet: function (d) {
  156 + if(d.line) {
  157 + var array = [];
  158 + $.each(d.line.split(','), function (i, v) {
  159 + array.push(`<span class="layui-badge layui-bg-blue" style="margin:2px">${v}</span>`);
  160 + });
  161 + return array.join("")
  162 + }
  163 + }
  164 + }
154 , {title: '操作', width: '7%', align: 'center', 165 , {title: '操作', width: '7%', align: 'center',
155 toolbar:'<div><span class="link" lay-event="sheetEdit">编辑</span></div>'} 166 toolbar:'<div><span class="link" lay-event="sheetEdit">编辑</span></div>'}
156 ]] 167 ]]
@@ -152,7 +152,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', @@ -152,7 +152,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common',
152 ,type: 1 //Page层类型 152 ,type: 1 //Page层类型
153 , area: ['80%', '90%'] 153 , area: ['80%', '90%']
154 , btn: ['选择', '关闭'] 154 , btn: ['选择', '关闭']
155 - , title: '选择巡检结果通知人' 155 + , title: '报表授权'
156 , shade: 0.6 //遮罩透明度 156 , shade: 0.6 //遮罩透明度
157 , maxmin: false //允许全屏最小化 157 , maxmin: false //允许全屏最小化
158 , anim: 1 //0-6的动画形式,-1不开启 158 , anim: 1 //0-6的动画形式,-1不开启
@@ -24,6 +24,46 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','xmSelect','laydat @@ -24,6 +24,46 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','xmSelect','laydat
24 } 24 }
25 }) 25 })
26 } 26 }
  27 + $("#addSubDom").unbind().on("click",function () {
  28 + layer.open({
  29 + title: '添加子节点集',
  30 + id: 'layer-subscribe-select',
  31 + content:'<form class="layui-form form-edit layui-form-pane" lay-filter="form-add-subDom" onsubmit="return false;">\n' +
  32 + ' <div class="layui-form-item">\n' +
  33 + ' <label class="layui-form-label">子节点key</label>\n' +
  34 + ' <div class="layui-input-block">\n' +
  35 + ' <input id="txt-collector-add-key" placeholder="请输入key" lay-verify="required" class="layui-input" name="key" autocomplete="off"/>\n' +
  36 + ' </div>\n' +
  37 + ' </div>\n' +
  38 + ' <div class="layui-form-item">\n' +
  39 + ' <label class="layui-form-label">子节点value</label>\n' +
  40 + ' <div class="layui-input-block">\n' +
  41 + ' <input id="txt-collector-add-key" placeholder="请输入value" lay-verify="required" class="layui-input" name="value" autocomplete="off"/>\n' +
  42 + ' </div>\n' +
  43 + ' </div>\n' +
  44 + '</form>',
  45 + type: 1,
  46 + area: ['20%', '28%'],
  47 + btn: ['添加', '取消'],
  48 + yes: function (index, layero) {
  49 + layer.close(index);
  50 + //获取增加的key和value
  51 + var kay = $('input[name="key"]').val();
  52 + var value = $('input[name="value"]').val();
  53 + //获取子节点
  54 + var subDom = $('.layui-textarea').val();
  55 + //判断是否为修改
  56 + if (subDom.length<=0){
  57 + var subAdd='[{"key":"'+kay+'","value":"'+value+'"}]';
  58 + }else {
  59 + var subAdd=subDom.substr(0, subDom.length - 1)+',{"key":"'+kay+'","value":"'+value+'"}]';
  60 + }
  61 + //回填子节点集
  62 + $("#reportSelectAddForm").find("textarea[name='subDom']").val(subAdd)
  63 + }
  64 + });
  65 +
  66 + })
27 form.on('submit(reportSelect-add-submit)', function (data) { 67 form.on('submit(reportSelect-add-submit)', function (data) {
28 var bean = data.field; 68 var bean = data.field;
29 var loading = layer.load(2); 69 var loading = layer.load(2);
@@ -71,7 +71,17 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', @@ -71,7 +71,17 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common',
71 field: 'name', title: '组名称', align: 'center', width: '20%', sort: true, 71 field: 'name', title: '组名称', align: 'center', width: '20%', sort: true,
72 templet: '<div><span reportselect-data-edit="{{d.id}}" class="layui-table-link">{{d.name}}</span></div>' 72 templet: '<div><span reportselect-data-edit="{{d.id}}" class="layui-table-link">{{d.name}}</span></div>'
73 } 73 }
74 - , {field: 'subDom', title: '组节点集', width: '40%'} 74 + , {field: 'subDom', title: '组节点集', width: '40%',
  75 + templet: function (d) {
  76 + if(d.child) {
  77 + var array = [];
  78 + $.each(d.child.split(','), function (i, v) {
  79 + array.push(`<span class="layui-badge layui-bg-blue" style="margin:2px">${v}</span>`);
  80 + });
  81 + return array.join("")
  82 + }
  83 + }
  84 + }
75 , {field: 'createTime', title: '创建日期', width: '15%',templet:'<div>{{ layui.util.toDateString(d.createTime, "yyyy-MM-dd HH:mm:ss") }}</div>'} 85 , {field: 'createTime', title: '创建日期', width: '15%',templet:'<div>{{ layui.util.toDateString(d.createTime, "yyyy-MM-dd HH:mm:ss") }}</div>'}
76 , {title: '操作',fixed:'right', align: 'center',templet: '<div><button reportSelect-data-delete="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal" lay-tips="删除"><i class="layui-icon layui-icon-delete"></i></button>'} 86 , {title: '操作',fixed:'right', align: 'center',templet: '<div><button reportSelect-data-delete="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal" lay-tips="删除"><i class="layui-icon layui-icon-delete"></i></button>'}
77 ]], 87 ]],
@@ -20,7 +20,8 @@ @@ -20,7 +20,8 @@
20 <div class="layui-form-item"> 20 <div class="layui-form-item">
21 <label class="layui-form-label textarea-label">子节点<span style="color: red">*</span></label> 21 <label class="layui-form-label textarea-label">子节点<span style="color: red">*</span></label>
22 <div class="layui-input-block"> 22 <div class="layui-input-block">
23 - <textarea name="subDom" class="layui-textarea"></textarea> 23 + <textarea name="subDom" class="layui-textarea" readonly></textarea>
  24 + <button id="addSubDom" type="button" class="layui-btn layui-btn-sm layui-btn-normal"><i class="layui-icon">&#xe654;</i>添加</button>
24 </div> 25 </div>
25 </div> 26 </div>
26 <button type="submit" lay-submit class="reportSelect-add-submit" lay-filter="reportSelect-add-submit" style="display: none">提交</button> 27 <button type="submit" lay-submit class="reportSelect-add-submit" lay-filter="reportSelect-add-submit" style="display: none">提交</button>
@@ -132,22 +132,23 @@ @@ -132,22 +132,23 @@
132 <cm-dialog title="保存场景" width="500px" :showDialogVisible="dialogFormVisible" @hidedialog="showDialogForm" 132 <cm-dialog title="保存场景" width="500px" :showDialogVisible="dialogFormVisible" @hidedialog="showDialogForm"
133 @okfunc="saveAnalysis"> 133 @okfunc="saveAnalysis">
134 <template v-slot> 134 <template v-slot>
135 - <div style="display:inline-block;margin-bottom: 10px"> 135 + <div style="display:inline-block;margin-bottom: 10px" >
136 <el-radio-group v-model="isAdd" @change="analysisChange"> 136 <el-radio-group v-model="isAdd" @change="analysisChange">
137 - <el-radio :label="false" border> 137 + <el-radio :label="false" border :disabled="isEdit">
138 新增场景分类 138 新增场景分类
139 </el-radio> 139 </el-radio>
140 - <el-radio :label="true" border> 140 + <el-radio :label="true" border >
141 追加场景分类 141 追加场景分类
142 </el-radio> 142 </el-radio>
143 </el-radio-group> 143 </el-radio-group>
144 </div> 144 </div>
145 - <div v-if="!isAdd" style="padding: 3px 10px;"> 145 + <div v-if="!isAdd " style="padding: 3px 10px;">
146 <el-input v-model="form.parentName" placeholder="请输入场景分类"/> 146 <el-input v-model="form.parentName" placeholder="请输入场景分类"/>
147 </div> 147 </div>
148 - <div v-if="!isAdd" style="padding: 3px 10px;"> 148 + <div v-if="!isAdd " style="padding: 3px 10px;">
149 <el-input v-model="form.desc" placeholder="请输入场景分类描述"/> 149 <el-input v-model="form.desc" placeholder="请输入场景分类描述"/>
150 </div> 150 </div>
  151 +
151 <div v-else style="padding: 3px 10px;"> 152 <div v-else style="padding: 3px 10px;">
152 <el-select v-model="form.parentId" placeholder="请选择场景分类" style="width: 100%"> 153 <el-select v-model="form.parentId" placeholder="请选择场景分类" style="width: 100%">
153 <el-option 154 <el-option
@@ -147,7 +147,14 @@ export default { @@ -147,7 +147,14 @@ export default {
147 const tabSecondList = Vue.ref([]); 147 const tabSecondList = Vue.ref([]);
148 let dialogFormVisible = Vue.ref(false); 148 let dialogFormVisible = Vue.ref(false);
149 let parentList = Vue.ref([]); 149 let parentList = Vue.ref([]);
150 - let isAdd = Vue.ref(false); 150 +
  151 + var isEdit=Vue.ref(false);
  152 + var isAdd = Vue.ref(false);
  153 + if(false==id){
  154 + isEdit=false;
  155 + }else{
  156 + isEdit=true;
  157 + }
151 let count=Vue.ref(0); 158 let count=Vue.ref(0);
152 let countFirst=Vue.ref(0); 159 let countFirst=Vue.ref(0);
153 160
@@ -167,10 +174,12 @@ export default { @@ -167,10 +174,12 @@ export default {
167 174
168 175
169 let getResType = (arr) => { 176 let getResType = (arr) => {
  177 +
170 var types = arr.map(function (v) { 178 var types = arr.map(function (v) {
171 return v.id; 179 return v.id;
172 }); 180 });
173 resTypeArr.value = types; 181 resTypeArr.value = types;
  182 + getParams.value.resType=resTypeArr.value.join(',');
174 loeadTable(); 183 loeadTable();
175 } 184 }
176 let getKpiType = (arr) => { 185 let getKpiType = (arr) => {
@@ -179,6 +188,7 @@ export default { @@ -179,6 +188,7 @@ export default {
179 return v.kpiId; 188 return v.kpiId;
180 }); 189 });
181 kpiTypeArr.value = types; 190 kpiTypeArr.value = types;
  191 + getParams.value.kpiId= kpiTypeArr.value.join(',');
182 loeadTable(); 192 loeadTable();
183 } 193 }
184 let getBizType = (arr) => { 194 let getBizType = (arr) => {
@@ -186,10 +196,11 @@ export default { @@ -186,10 +196,11 @@ export default {
186 return v.busId; 196 return v.busId;
187 }); 197 });
188 busTypeArr.value = types; 198 busTypeArr.value = types;
  199 + getParams.value.busId = busTypeArr.value.join(',');
189 loeadTable(); 200 loeadTable();
190 } 201 }
191 // 查询参数 202 // 查询参数
192 - let getParams = Vue.ref({ 203 + var getParams = Vue.ref({
193 keyWords: keyWords.value, 204 keyWords: keyWords.value,
194 resType: resTypeArr.value.join(','), 205 resType: resTypeArr.value.join(','),
195 kpiId: kpiTypeArr.value.join(','), 206 kpiId: kpiTypeArr.value.join(','),
@@ -235,7 +246,6 @@ export default { @@ -235,7 +246,6 @@ export default {
235 let getPageInfoSecond = ({page, limit}) => { 246 let getPageInfoSecond = ({page, limit}) => {
236 getParams.value.page = page; 247 getParams.value.page = page;
237 getParams.value.limit = limit; 248 getParams.value.limit = limit;
238 -  
239 // 下一页搜索 249 // 下一页搜索
240 loadSecondList(); 250 loadSecondList();
241 } 251 }
@@ -380,6 +390,11 @@ export default { @@ -380,6 +390,11 @@ export default {
380 390
381 // 点击按钮搜索 391 // 点击按钮搜索
382 let onBtnSearch = () => { 392 let onBtnSearch = () => {
  393 + getParams.value.busId = busTypeArr.value.join(',');
  394 + getParams.value.resType=resTypeArr.value.join(',');
  395 + getParams.value.kpiId= kpiTypeArr.value.join(',');
  396 + getParams.value .keyWords = keyWords.value;
  397 +
383 loeadTable(true); 398 loeadTable(true);
384 } 399 }
385 400
@@ -443,6 +458,10 @@ export default { @@ -443,6 +458,10 @@ export default {
443 } 458 }
444 459
445 let url = ''; 460 let url = '';
  461 + if(id && parentId == ''){
  462 + proxy.$global.showMsg("请切换场景并选择场景分类","warning");
  463 + return;
  464 + }
446 if (isAdd.value == false) { 465 if (isAdd.value == false) {
447 if(parentName == ''){ 466 if(parentName == ''){
448 proxy.$global.showMsg("请输入场景分类!","warning"); 467 proxy.$global.showMsg("请输入场景分类!","warning");
@@ -463,7 +482,7 @@ export default { @@ -463,7 +482,7 @@ export default {
463 proxy.$http.post(url, addParam, function (res) { 482 proxy.$http.post(url, addParam, function (res) {
464 if (res && res.success) { 483 if (res && res.success) {
465 proxy.$global.showMsg("添加成功!"); 484 proxy.$global.showMsg("添加成功!");
466 - 485 + showDialogForm(false);
467 onReset(); 486 onReset();
468 // 清空数据 487 // 清空数据
469 form.value = { 488 form.value = {
@@ -482,7 +501,7 @@ export default { @@ -482,7 +501,7 @@ export default {
482 // 已选择列表 501 // 已选择列表
483 tabFirstList.value = []; 502 tabFirstList.value = [];
484 // 关闭谈画框 503 // 关闭谈画框
485 - showDialogForm(false); 504 +
486 505
487 // window.top.location.href = window.top.location.origin + "/#/analysis/view/id=105" 506 // window.top.location.href = window.top.location.origin + "/#/analysis/view/id=105"
488 window.top.location.href = window.top.location.origin + '/#/' + res.str; 507 window.top.location.href = window.top.location.origin + '/#/' + res.str;
@@ -579,6 +598,7 @@ export default { @@ -579,6 +598,7 @@ export default {
579 timeRangeChange, 598 timeRangeChange,
580 599
581 isAdd, 600 isAdd,
  601 + isEdit,
582 analysisChange, 602 analysisChange,
583 dialogFormVisible, 603 dialogFormVisible,
584 showDialogForm, 604 showDialogForm,