|
|
layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect', 'laydate', 'upload'], function (exports) {
|
|
|
layui.define(['table', 'form', 'admin', 'layer', 'common', 'commonDetail','sessions', 'xmSelect', 'laydate', 'upload'], function (exports) {
|
|
|
var $ = layui.$;
|
|
|
var form = layui.form;
|
|
|
var layer = layui.layer;
|
...
|
...
|
@@ -10,7 +10,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
|
var upload = layui.upload;
|
|
|
var domainName = common.domainName;
|
|
|
var xmSelect = layui.xmSelect;
|
|
|
|
|
|
var commonDetail = layui.commonDetail;
|
|
|
//对外暴露的接口
|
|
|
exports('recoveryverifyAdd', function (data) {
|
|
|
var accessToken = localStorage.getItem("accessToken");
|
...
|
...
|
@@ -91,9 +91,38 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
|
return
|
|
|
}
|
|
|
deviceSaveCount += 1;
|
|
|
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>"
|
|
|
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>"
|
|
|
$("#device-table").append(html);
|
|
|
|
|
|
$("input[lay-filter='ip']").keyup(function (){
|
|
|
var ip = $(this).val();
|
|
|
var os = $(this).closest('tr').find('td').find("input[lay-filter='os']");
|
|
|
var databaseVersion = $(this).closest('tr').find('td').find("input[lay-filter='databaseVersion']");
|
|
|
if(commonDetail.validatorIP(ip)){
|
|
|
//获取资源信息
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/resource/page?page=1&limit=1&resType=DATABASE_ORACLE&ipEquals='+ip
|
|
|
}).done(function (response) {
|
|
|
if(response.data!=null && response.data.length>0){
|
|
|
var resource = response.data[0];
|
|
|
os.val(resource.os);
|
|
|
$(this).closest('tr').find('td').find("input[lay-filter='os']").val(resource.os);
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/resource/findById?resId='+resource.resId
|
|
|
}).done(function (response) {
|
|
|
if(response.obj !=null && response.obj.proto){
|
|
|
var obj = response.obj;
|
|
|
if(obj.proto !=null && obj.proto.JDBC){
|
|
|
var version = obj.proto.JDBC.filter(obj=>obj.paramCode==='version');
|
|
|
if(version) {
|
|
|
databaseVersion.val(version[0].paramValue);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
}).keyup();
|
|
|
$("#table-device :button.edit").click(function () {
|
|
|
var toEdit = this.value == '保存';
|
|
|
this.value = toEdit ? '删除' : '保存';
|
...
|
...
|
@@ -123,7 +152,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
|
if (ip != '' && ip != undefined) {
|
|
|
for (let i = 0; i < devicesBak.length; i++) {
|
|
|
if (devicesBak[i].ip == ip) {
|
|
|
devicesBak.pop(devicesBak[i]);
|
|
|
devicesBak.splice(i,1);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
...
|
...
|
@@ -448,11 +478,47 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
|
tdArr.push(this.innerHTML);
|
|
|
|
|
|
} else {
|
|
|
this.innerHTML = '<input type="text" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
}
|
|
|
if(t==0){
|
|
|
this.innerHTML = '<input type="text" lay-filter="ip" width="40px" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
|
|
|
}else if(t==1){
|
|
|
this.innerHTML = '<input type="text" lay-filter="os" width="40px" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
|
|
|
}else {
|
|
|
this.innerHTML = '<input type="text" lay-filter="databaseVersion" width="40px" value="' + this.innerHTML.replace(/"/g, '"').replace(/<\/?.+?>/g, '').replace(/ /g, '') + '"/>';
|
|
|
} }
|
|
|
})
|
|
|
if (toEdit) {
|
|
|
|
|
|
$("input[lay-filter='ip']").keyup(function (){
|
|
|
var ip = $(this).val();
|
|
|
var os = $(this).closest('tr').find('td').find("input[lay-filter='os']");
|
|
|
var databaseVersion = $(this).closest('tr').find('td').find("input[lay-filter='databaseVersion']");
|
|
|
if(commonDetail.validatorIP(ip)){
|
|
|
//获取资源信息
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/resource/page?page=1&limit=1&resType=DATABASE_ORACLE&ipEquals='+ip
|
|
|
}).done(function (response) {
|
|
|
if(response.data!=null && response.data.length>0){
|
|
|
var resource = response.data[0];
|
|
|
os.val(resource.os);
|
|
|
$(this).closest('tr').find('td').find("input[lay-filter='os']").val(resource.os);
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/resource/findById?resId='+resource.resId
|
|
|
}).done(function (response) {
|
|
|
if(response.obj !=null && response.obj.proto){
|
|
|
var obj = response.obj;
|
|
|
if(obj.proto !=null && obj.proto.JDBC){
|
|
|
var version = obj.proto.JDBC.filter(obj=>obj.paramCode==='version');
|
|
|
if(version) {
|
|
|
databaseVersion.val(version[0].paramValue);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
}).keyup();
|
|
|
} else {
|
|
|
if (tdArr.length > 0) {
|
|
|
var deviceObj = {
|
...
|
...
|
@@ -463,12 +529,14 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect |
|
|
'id': id,
|
|
|
'recordId': recordId
|
|
|
}
|
|
|
devicesBak.forEach(e => {
|
|
|
devicesBak = devicesBak.filter((val)=>val.id!=deviceObj.id);
|
|
|
devicesBak.push(deviceObj);
|
|
|
/* devicesBak.forEach(e => {
|
|
|
if (deviceObj.id == e.id) {
|
|
|
devicesBak.pop(e);
|
|
|
devicesBak.push(deviceObj);
|
|
|
}
|
|
|
})
|
|
|
})*/
|
|
|
}
|
|
|
}
|
|
|
});
|
...
|
...
|
|