1
|
-layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect', 'laydate', 'upload'], function (exports) {
|
1
|
+layui.define(['table', 'form', 'admin', 'layer', 'common', 'commonDetail','sessions', 'xmSelect', 'laydate', 'upload'], function (exports) {
|
2
|
var $ = layui.$;
|
2
|
var $ = layui.$;
|
3
|
var form = layui.form;
|
3
|
var form = layui.form;
|
4
|
var layer = layui.layer;
|
4
|
var layer = layui.layer;
|
|
@@ -10,7 +10,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
@@ -10,7 +10,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
10
|
var upload = layui.upload;
|
10
|
var upload = layui.upload;
|
11
|
var domainName = common.domainName;
|
11
|
var domainName = common.domainName;
|
12
|
var xmSelect = layui.xmSelect;
|
12
|
var xmSelect = layui.xmSelect;
|
13
|
-
|
13
|
+ var commonDetail = layui.commonDetail;
|
14
|
//对外暴露的接口
|
14
|
//对外暴露的接口
|
15
|
exports('recoveryverifyAdd', function (data) {
|
15
|
exports('recoveryverifyAdd', function (data) {
|
16
|
var accessToken = localStorage.getItem("accessToken");
|
16
|
var accessToken = localStorage.getItem("accessToken");
|
|
@@ -91,9 +91,38 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
@@ -91,9 +91,38 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
91
|
return
|
91
|
return
|
92
|
}
|
92
|
}
|
93
|
deviceSaveCount += 1;
|
93
|
deviceSaveCount += 1;
|
94
|
- var html = "<tr><td><select class='layui-select' style='display: block' lay-verify = 'required'><option value='0'>备份服务器</option><option value='1'>源端生产服务器</option><option value='2'>恢复服务器</option></select></td><td><input type='text' width='40px' class='layui-input' lay-verify = 'required'/></td><td><input type='text' class='layui-input' width='40px' lay-verify = 'required'/></td><td><input type='text' width='40px' class='layui-input' lay-verify = 'required'/></td><td><input type='button' value='保存' class='edit' style='background-color: #b71010;line-height: 18px'/></td></tr>"
|
94
|
+ var html = "<tr><td><select class='layui-select' style='display: block' lay-verify = 'required'><option value='0'>备份服务器</option><option value='1'>源端生产服务器</option><option value='2'>恢复服务器</option></select></td><td><input type='text' width='40px' lay-filter='ip' class='layui-input' lay-verify = 'required'/></td><td><input type='text' class='layui-input' width='40px' lay-filter='os' lay-verify = 'required'/></td><td><input type='text' width='40px' lay-filter='databaseVersion' class='layui-input' lay-verify = 'required'/></td><td><input type='button' value='保存' class='edit' style='background-color: #b71010;line-height: 18px'/></td></tr>"
|
95
|
$("#device-table").append(html);
|
95
|
$("#device-table").append(html);
|
96
|
-
|
96
|
+ $("input[lay-filter='ip']").keyup(function (){
|
|
|
97
|
+ var ip = $(this).val();
|
|
|
98
|
+ var os = $(this).closest('tr').find('td').find("input[lay-filter='os']");
|
|
|
99
|
+ var databaseVersion = $(this).closest('tr').find('td').find("input[lay-filter='databaseVersion']");
|
|
|
100
|
+ if(commonDetail.validatorIP(ip)){
|
|
|
101
|
+ //获取资源信息
|
|
|
102
|
+ admin.req({
|
|
|
103
|
+ url: domainName + '/api-web/manage/resource/page?page=1&limit=1&resType=DATABASE_ORACLE&ipEquals='+ip
|
|
|
104
|
+ }).done(function (response) {
|
|
|
105
|
+ if(response.data!=null && response.data.length>0){
|
|
|
106
|
+ var resource = response.data[0];
|
|
|
107
|
+ os.val(resource.os);
|
|
|
108
|
+ $(this).closest('tr').find('td').find("input[lay-filter='os']").val(resource.os);
|
|
|
109
|
+ admin.req({
|
|
|
110
|
+ url: domainName + '/api-web/manage/resource/findById?resId='+resource.resId
|
|
|
111
|
+ }).done(function (response) {
|
|
|
112
|
+ if(response.obj !=null && response.obj.proto){
|
|
|
113
|
+ var obj = response.obj;
|
|
|
114
|
+ if(obj.proto !=null && obj.proto.JDBC){
|
|
|
115
|
+ var version = obj.proto.JDBC.filter(obj=>obj.paramCode==='version');
|
|
|
116
|
+ if(version) {
|
|
|
117
|
+ databaseVersion.val(version[0].paramValue);
|
|
|
118
|
+ }
|
|
|
119
|
+ }
|
|
|
120
|
+ }
|
|
|
121
|
+ });
|
|
|
122
|
+ }
|
|
|
123
|
+ });
|
|
|
124
|
+ };
|
|
|
125
|
+ }).keyup();
|
97
|
$("#table-device :button.edit").click(function () {
|
126
|
$("#table-device :button.edit").click(function () {
|
98
|
var toEdit = this.value == '保存';
|
127
|
var toEdit = this.value == '保存';
|
99
|
this.value = toEdit ? '删除' : '保存';
|
128
|
this.value = toEdit ? '删除' : '保存';
|
|
@@ -123,7 +152,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
@@ -123,7 +152,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
123
|
if (ip != '' && ip != undefined) {
|
152
|
if (ip != '' && ip != undefined) {
|
124
|
for (let i = 0; i < devicesBak.length; i++) {
|
153
|
for (let i = 0; i < devicesBak.length; i++) {
|
125
|
if (devicesBak[i].ip == ip) {
|
154
|
if (devicesBak[i].ip == ip) {
|
126
|
- devicesBak.pop(devicesBak[i]);
|
155
|
+ devicesBak.splice(i,1);
|
|
|
156
|
+ break;
|
127
|
}
|
157
|
}
|
128
|
}
|
158
|
}
|
129
|
}
|
159
|
}
|
|
@@ -448,11 +478,47 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
@@ -448,11 +478,47 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
448
|
tdArr.push(this.innerHTML);
|
478
|
tdArr.push(this.innerHTML);
|
449
|
|
479
|
|
450
|
} else {
|
480
|
} else {
|
451
|
- this.innerHTML = '<input type="text" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
452
|
- }
|
481
|
+ if(t==0){
|
|
|
482
|
+ this.innerHTML = '<input type="text" lay-filter="ip" width="40px" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
483
|
+
|
|
|
484
|
+ }else if(t==1){
|
|
|
485
|
+ this.innerHTML = '<input type="text" lay-filter="os" width="40px" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
486
|
+
|
|
|
487
|
+ }else {
|
|
|
488
|
+ this.innerHTML = '<input type="text" lay-filter="databaseVersion" width="40px" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
489
|
+ } }
|
453
|
})
|
490
|
})
|
454
|
if (toEdit) {
|
491
|
if (toEdit) {
|
455
|
-
|
492
|
+ $("input[lay-filter='ip']").keyup(function (){
|
|
|
493
|
+ var ip = $(this).val();
|
|
|
494
|
+ var os = $(this).closest('tr').find('td').find("input[lay-filter='os']");
|
|
|
495
|
+ var databaseVersion = $(this).closest('tr').find('td').find("input[lay-filter='databaseVersion']");
|
|
|
496
|
+ if(commonDetail.validatorIP(ip)){
|
|
|
497
|
+ //获取资源信息
|
|
|
498
|
+ admin.req({
|
|
|
499
|
+ url: domainName + '/api-web/manage/resource/page?page=1&limit=1&resType=DATABASE_ORACLE&ipEquals='+ip
|
|
|
500
|
+ }).done(function (response) {
|
|
|
501
|
+ if(response.data!=null && response.data.length>0){
|
|
|
502
|
+ var resource = response.data[0];
|
|
|
503
|
+ os.val(resource.os);
|
|
|
504
|
+ $(this).closest('tr').find('td').find("input[lay-filter='os']").val(resource.os);
|
|
|
505
|
+ admin.req({
|
|
|
506
|
+ url: domainName + '/api-web/manage/resource/findById?resId='+resource.resId
|
|
|
507
|
+ }).done(function (response) {
|
|
|
508
|
+ if(response.obj !=null && response.obj.proto){
|
|
|
509
|
+ var obj = response.obj;
|
|
|
510
|
+ if(obj.proto !=null && obj.proto.JDBC){
|
|
|
511
|
+ var version = obj.proto.JDBC.filter(obj=>obj.paramCode==='version');
|
|
|
512
|
+ if(version) {
|
|
|
513
|
+ databaseVersion.val(version[0].paramValue);
|
|
|
514
|
+ }
|
|
|
515
|
+ }
|
|
|
516
|
+ }
|
|
|
517
|
+ });
|
|
|
518
|
+ }
|
|
|
519
|
+ });
|
|
|
520
|
+ };
|
|
|
521
|
+ }).keyup();
|
456
|
} else {
|
522
|
} else {
|
457
|
if (tdArr.length > 0) {
|
523
|
if (tdArr.length > 0) {
|
458
|
var deviceObj = {
|
524
|
var deviceObj = {
|
|
@@ -463,12 +529,14 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
@@ -463,12 +529,14 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
463
|
'id': id,
|
529
|
'id': id,
|
464
|
'recordId': recordId
|
530
|
'recordId': recordId
|
465
|
}
|
531
|
}
|
466
|
- devicesBak.forEach(e => {
|
532
|
+ devicesBak = devicesBak.filter((val)=>val.id!=deviceObj.id);
|
|
|
533
|
+ devicesBak.push(deviceObj);
|
|
|
534
|
+ /* devicesBak.forEach(e => {
|
467
|
if (deviceObj.id == e.id) {
|
535
|
if (deviceObj.id == e.id) {
|
468
|
devicesBak.pop(e);
|
536
|
devicesBak.pop(e);
|
469
|
devicesBak.push(deviceObj);
|
537
|
devicesBak.push(deviceObj);
|
470
|
}
|
538
|
}
|
471
|
- })
|
539
|
+ })*/
|
472
|
}
|
540
|
}
|
473
|
}
|
541
|
}
|
474
|
});
|
542
|
});
|