Authored by xwx

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

…eb into master-500-dev-xwx
@@ -187,7 +187,7 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se @@ -187,7 +187,7 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
187 }) 187 })
188 } 188 }
189 189
190 - function savemenu(id) { 190 + function savemenu(id,type) {
191 layer.open({ 191 layer.open({
192 type: 1 192 type: 1
193 , title: '<a class="layui-icon layui-icon-edit win_title_icon"></a>' + id ? "编辑" : "新增" 193 , title: '<a class="layui-icon layui-icon-edit win_title_icon"></a>' + id ? "编辑" : "新增"
@@ -196,6 +196,11 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se @@ -196,6 +196,11 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
196 , content: $('#menuEdit').html() 196 , content: $('#menuEdit').html()
197 , btn: ["保存", "取消"] 197 , btn: ["保存", "取消"]
198 , success: function (layero, index) { 198 , success: function (layero, index) {
  199 + if(type==1 || type==2 ||type==3 ||type==4 ||type==5 ||type==6){
  200 + $('.layui-layer-btn0').show();
  201 + }else{
  202 + $('.layui-layer-btn0').hide();
  203 + }
199 var selectdata = menuTable.options.data; 204 var selectdata = menuTable.options.data;
200 parentSelect = xmSelect.render({ 205 parentSelect = xmSelect.render({
201 el: '#rt_menu_pid', 206 el: '#rt_menu_pid',
@@ -375,6 +380,7 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se @@ -375,6 +380,7 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
375 '<div>' + 380 '<div>' +
376 ' <span' + 381 ' <span' +
377 ' data-id="{{d.id}}" ' + 382 ' data-id="{{d.id}}" ' +
  383 + ' data-type="{{d.type}}" ' +
378 ' class="layui-table-link btn-menu-edit">{{d.name}}' + 384 ' class="layui-table-link btn-menu-edit">{{d.name}}' +
379 ' </span>' + 385 ' </span>' +
380 '</div>' 386 '</div>'
@@ -427,12 +433,27 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se @@ -427,12 +433,27 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
427 } 433 }
428 , { 434 , {
429 title: '操作', align: 'center', width: '5%' 435 title: '操作', align: 'center', width: '5%'
430 - , toolbar:  
431 - '<div class="layui-row">' +  
432 - ' <div>' +  
433 - ' <button data-id="{{d.id}}" data-isLeaf="{{d.isLeaf}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-menu-btn"><i class="layui-icon layui-icon-delete"></i></button>' +  
434 - ' </div>' +  
435 - '</div>' 436 + , templet:function(d){
  437 + //lsq 菜单类型,1:监控菜单,2:巡检菜单,3:个人工作台,4:系统菜单,5:跳转菜单,6:报表菜单 可以删除和编辑 2022-08-26
  438 + let str='';
  439 + if(d.type==1 || d.type==2 ||d.type==3 ||d.type==4 ||d.type==5 ||d.type==6){
  440 + str='<div class="layui-row">' +-
  441 + ' <div>' +
  442 + ' <button data-id="{{d.id}}" data-isLeaf="{{d.isLeaf}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-menu-btn"><i class="layui-icon layui-icon-delete"></i></button>' +
  443 + ' </div>' +
  444 + '</div>'
  445 + }else{
  446 + str='<div>' +
  447 + ' <span' +
  448 + ' data-id="'+d.id+'" ' +
  449 + ' data-type="'+d.type+'" ' +
  450 + ' class="layui-table-link btn-menu-edit">查看' +
  451 + ' </span>' +
  452 + '</div>';
  453 + }
  454 + return str;
  455 + }
  456 +
436 } 457 }
437 ] 458 ]
438 }); 459 });
@@ -523,7 +544,7 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se @@ -523,7 +544,7 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
523 layer.msg('暂无权限', {icon: 7, time: 3000}) 544 layer.msg('暂无权限', {icon: 7, time: 3000})
524 return false; 545 return false;
525 } 546 }
526 - savemenu($(this).data("id")) 547 + savemenu($(this).data("id"),$(this).data('type'))
527 }) 548 })
528 } 549 }
529 , error(error) { 550 , error(error) {
1 -<title>CMDB数据同步</title> 1 +<title>资产数据同步</title>
2 <iframe class="layadmin-iframe" frameborder="0" src="/vue3/index.html#/cmdbdatasync" style="height: 99.5%!important;"/> 2 <iframe class="layadmin-iframe" frameborder="0" src="/vue3/index.html#/cmdbdatasync" style="height: 99.5%!important;"/>
  1 +<div class="layadmin-user-login layadmin-user-display-show setting">
  2 + <div class="layadmin-user-login-main">
  3 + <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
  4 + <div class="layui-form-item hide">
  5 + <label class="layadmin-user-login-icon layui-icon layui-icon-password"></label>
  6 + <input type="text" name="username" lay-verify="required" placeholder="监控账号" class="layui-input">
  7 + </div>
  8 + <div class="layui-form-item">
  9 + <div class="">
  10 + <select id="refSystem" name="refSystem" lay-filter="refSystem" lay-verify="required" class="layui-select layui-input"></select>
  11 + </div>
  12 + </div>
  13 + <div class="layui-form-item">
  14 + <label class="layadmin-user-login-icon"></label>
  15 + <input type="text" name="account" lay-verify="required" placeholder="系统账号" class="layui-input">
  16 + </div>
  17 + <div class="layui-form-item">
  18 + <label class="layadmin-user-login-icon"></label>
  19 + <input type="password" name="password" lay-verify="required" placeholder="系统密码" class="layui-input">
  20 + </div>
  21 + <div class="layui-form-item">
  22 + <div class="setting-btn">
  23 + <button class="layui-btn" id="setCommit" lay-submit lay-filter="setAccount">保存</button>
  24 + <button class="layui-btn layui-btn-primary" id="setClose">取消</button>
  25 + </div>
  26 + </div>
  27 + </div>
  28 + </div>
  29 +</div>
  30 +
  31 +<script>
  32 + layui.use(['admin', 'form','common','sessions'], function () {
  33 + var $ = layui.$;
  34 + var admin = layui.admin;
  35 + var form = layui.form;
  36 + var common = layui.common;
  37 + var sessions = layui.sessions;
  38 + var accessToken = sessions.getToken().access_token;
  39 + form.render();
  40 +
  41 + //填充用户监控账号
  42 + var username = localStorage.getItem("lgn");
  43 + $('input[name="username"]').val(username);
  44 +
  45 + //第三方系统下拉框切换事件监听
  46 + form.on('select(refSystem)', function(data){
  47 + if (data.value != ''){
  48 + getOldAccountAndPwd(username,data.value);
  49 + }
  50 + });
  51 +
  52 + //第三方系统下拉框数据填充 //lsq 重新更换第三方系统数据字典 2022-08-26
  53 + common.ddicSelect('refSystem','account_binding',function (datalist) {
  54 + if (datalist.length == 1){
  55 + $('#refSystem').val(datalist[0].ddicCode);
  56 + getOldAccountAndPwd(username,datalist[0].ddicCode);
  57 + }
  58 + form.render('select');
  59 + });
  60 +
  61 + $('#setClose').on('click',function () {
  62 + layer.closeAll();
  63 + });
  64 +
  65 + //保存点击事件
  66 + form.on('submit(setAccount)', function (obj) {
  67 + var userRefSystem = {};
  68 + //修改密码
  69 + userRefSystem.username = $('input[name="username"]').val();
  70 + userRefSystem.refSystem = $('#refSystem').val();
  71 + userRefSystem.account = $('input[name="account"]').val();
  72 + userRefSystem.password = $('input[name="password"]').val();
  73 + saveOrUpdate(userRefSystem);
  74 + });
  75 +
  76 + //增加或更细第三方账号关联信息
  77 + function saveOrUpdate(data) {
  78 + admin.req({
  79 + url: common.domainName + '/api-web/userRefSystem/saveOrUpdate?access_token='+accessToken,
  80 + type: "POST",
  81 + dataType: "json",
  82 + contentType: 'application/json; charset=utf-8',
  83 + data: JSON.stringify(data),
  84 + success: function (res) {
  85 + if (res){
  86 + var icon = 7;
  87 + if (res.success){
  88 + icon = 1;
  89 + }
  90 + layer.msg(res.msg, { offset: '15px' , icon: icon , time: 1000 },function (){
  91 + if (res.success){
  92 + layer.closeAll();
  93 + }
  94 + });
  95 + }
  96 +
  97 + }
  98 + })
  99 + }
  100 +
  101 + //根据监控账号及第三方系统,查找关联信息
  102 + function getOldAccountAndPwd(username,refSystem) {
  103 + admin.req({
  104 + url: common.domainName + '/api-web/userRefSystem/getByUsernameAndSystem',
  105 + type: "GET",
  106 + dataType: "json",
  107 + data:{
  108 + username: username,
  109 + refSystem: refSystem
  110 + },
  111 + success: function (res) {
  112 + if (res && res.success){
  113 + if (res.object){ //如果有绑定
  114 + $('#resSystem').val(res.object.refSystem);
  115 + $('input[name="account"]').val(res.object.account);
  116 + $('input[name="password"]').val(common.Base64.decode(res.object.password));
  117 + }else{ //如果未绑定
  118 + $('input[name="account"]').val(localStorage.getItem("lgn"));
  119 + }
  120 + }
  121 + form.render();
  122 + },
  123 + error: function () {
  124 + layer.msg('获取第三方账号异常', { offset: '15px' , icon: 1 , time: 1000 },function (){
  125 + });
  126 + }
  127 + })
  128 + }
  129 + });
  130 +</script>
@@ -1927,7 +1927,8 @@ layui.define(['xmSelect', 'md5'], function (exports) { @@ -1927,7 +1927,8 @@ layui.define(['xmSelect', 'md5'], function (exports) {
1927 url = url.replace('{USERNAME}', res.object.account).replace('{PASSWORD}', obj.Base64.decode(res.object.password)) 1927 url = url.replace('{USERNAME}', res.object.account).replace('{PASSWORD}', obj.Base64.decode(res.object.password))
1928 window.open(url); 1928 window.open(url);
1929 } else { 1929 } else {
1930 - layer.alert('请先绑定科来账号'); 1930 + // layer.alert('请先绑定科来账号');
  1931 + admin.events.setAccount();
1931 } 1932 }
1932 } 1933 }
1933 }) 1934 })