diff --git a/plugins/mysql-apt/js/mysql-apt.js b/plugins/mysql-apt/js/mysql-apt.js
index 134254c57..430dd633c 100755
--- a/plugins/mysql-apt/js/mysql-apt.js
+++ b/plugins/mysql-apt/js/mysql-apt.js
@@ -1924,6 +1924,7 @@ function getFullSyncStatus(db){
\
\
开始\
+ 手动命令\
\
",
cancel: function(){
@@ -1942,10 +1943,36 @@ function getFullSyncStatus(db){
fullSync(db,sign,0);
}, 1000);
$(this).data('status','starting');
+ $('#begin_full_sync').text("同步中");
} else {
layer.msg("正在同步中..",{icon:0});
}
});
+
+ $('#full_sync_cmd').click(function(){
+ myPostN('full_sync_cmd', {'db':db,'sign':''}, function(rdata){
+ var rdata = $.parseJSON(rdata.data);
+ layer.open({
+ title: "手动执行命令CMD",
+ area: ['600px', '180px'],
+ type:1,
+ closeBtn: 1,
+ shadeClose: false,
+ btn:["复制","取消"],
+ content: '',
+ success:function(){
+ copyText(rdata.data);
+ },
+ yes:function(){
+ copyText(rdata.data);
+ }
+ });
+ });
+ });
}
});
});
@@ -1961,10 +1988,89 @@ function getFullSyncStatus(db){
if (rdata['code']==6 ||rdata['code']<0){
layer.msg(rdata['msg']);
clearInterval(timeId);
- $("#begin_full_sync").data('data','init');
+ $('#begin_full_sync').text("同步结束,再次同步?");
+ $("#begin_full_sync").attr('data-status','init');
+ }
+ });
+ }
+}
+
+function dataSyncVerify(db){
+ var reqTimer = null;
+
+ function requestLogs(layerIndex){
+ myPostN('sync_database_repair_log', {db:db, sign:'',op:'get'}, function(rdata){
+ var rdata = $.parseJSON(rdata.data);
+
+ if(!rdata.status) {
+ layer.close(layerIndex);
+ layer.msg(rdata.msg,{icon:2, time:2000});
+ clearInterval(reqTimer);
+ return;
+ };
+
+ if (rdata.msg == ''){
+ rdata.msg = '暂无数据!';
}
+
+ $("#data_verify_log").html(rdata.msg);
+ //滚动到最低
+ var ob = document.getElementById('data_verify_log');
+ ob.scrollTop = ob.scrollHeight;
});
}
+
+ layer.open({
+ type: 1,
+ title: '同步数据库['+db+']数据校验',
+ area: '500px',
+ btn:[ "开始","取消","手动"],
+ content:"",
+ cancel: function(){
+ if (reqTimer){
+ clearInterval(reqTimer);
+ }
+ },
+ yes:function(index,layer_index){
+ myPostN('sync_database_repair_log', {db:db, sign:'',op:'do'}, function(data){});
+ layer.msg("执行成功");
+
+ requestLogs(layer_index);
+ reqTimer = setInterval(function(){
+ requestLogs(layer_index);
+ },3000);
+ },
+ success:function(){
+ },
+ btn3: function(){
+ myPostN('sync_database_repair_log', {db:db, sign:'',op:'cmd'}, function(rdata){
+ var rdata = $.parseJSON(rdata.data);
+ layer.open({
+ title: "手动执行命令CMD",
+ area: ['600px', '180px'],
+ type:1,
+ closeBtn: 1,
+ shadeClose: false,
+ btn:["复制","取消"],
+ content: '',
+ success:function(){
+ copyText(rdata.data);
+ },
+ yes:function(){
+ copyText(rdata.data);
+ }
+ });
+ });
+ return false;
+ }
+
+ });
}
function addSlaveSSH(ip=''){
@@ -2636,6 +2742,7 @@ function masterOrSlaveConf(version=''){
list += '' +
''+(rdata.data[i]['slave']?'退出':'加入')+' | ' +
'同步' +
+ '数据校验' +
' | ';
list += '';
}