220 lines
6.6 KiB
Plaintext
220 lines
6.6 KiB
Plaintext
@{
|
|
ViewBag.Title = "国信金阳数据同步";
|
|
Layout = "~/Views/Shared/_MainLayout.cshtml";
|
|
var pageObj = new
|
|
{
|
|
HasGroup = ConsUserGroup.HasGroup
|
|
};
|
|
}
|
|
|
|
@section CSS{
|
|
<style>
|
|
.autobreak {
|
|
white-space: normal !important;
|
|
line-height: 18px!important;
|
|
}
|
|
|
|
.cs-status {
|
|
display: block;
|
|
height: 25px;
|
|
border-width: 1px;
|
|
width: 66px;
|
|
border-style: solid;
|
|
border-radius: 5px;
|
|
line-height: 23px;
|
|
text-align: center;
|
|
margin-left:auto;
|
|
margin-right:auto;
|
|
}
|
|
|
|
.cs-status.cs-wait{
|
|
border-color: gray;
|
|
background-color: lightgray;
|
|
}
|
|
|
|
.cs-status.cs-excuting {
|
|
border-color: blue;
|
|
background-color: dodgerblue;
|
|
}
|
|
|
|
.cs-status.cs-faliure {
|
|
border-color: red;
|
|
background-color:lightsalmon;
|
|
}
|
|
|
|
.cs-status.cs-success {
|
|
border-color: green;
|
|
background-color: lawngreen;
|
|
}
|
|
</style>
|
|
}
|
|
|
|
@section JS{
|
|
<script>
|
|
var page = @Json.Serialize(pageObj);
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(function () {
|
|
var PostData = {};
|
|
|
|
$(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true });
|
|
|
|
@Html.Raw(JqGridSimple.OutGrid("/TaskEvent/GetEventLogs"));
|
|
|
|
document.onkeydown = function (event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
(e.keyCode == 13) && SearchClick(true);
|
|
} catch (e) { }
|
|
};
|
|
});
|
|
window.reloadData = reload;
|
|
|
|
|
|
var colModelGrid = [{
|
|
name: 'id', label: 'id', index: 'id', width: 1, hidden: true
|
|
},
|
|
{
|
|
name: 'DateSelect', label: "日期选择", index: 'DateSelect', width: 250
|
|
},
|
|
{
|
|
name: 'Status', label: '状态', index: 'Status', width: 200, align: "center", classes: "autobreak", formatter: showStatus
|
|
},
|
|
{
|
|
name: 'ErrorMsg', label: '失败信息', index: 'ErrorMsg', width: 400, align: "left", classes: "autobreak"
|
|
},
|
|
{
|
|
name: 'OptName', label: '操作人名', index: 'OptName', width: 100
|
|
},
|
|
{ name: 'OptDate', label: '操作时间', index: 'OptDate', width: 100, formatter: 'date' }
|
|
|
|
];
|
|
|
|
function showStatus(cellValue, options, rowObject) {
|
|
if (cellValue == 0) {
|
|
return '<span class="cs-status cs-wait">等待执行</span>';
|
|
} else if (cellValue == 1) {
|
|
return '<span class="cs-status cs-excuting">同步中</span>';
|
|
}else if (cellValue == 2) {
|
|
return '<span class="cs-status cs-faliure">同步失败</span>';
|
|
} else if (cellValue == 3) {
|
|
return '<span class="cs-status cs-success">同步成功</span>';
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var isgoing=false;
|
|
|
|
|
|
function StartSync(){
|
|
if (isgoing) {
|
|
main.message("请等待当前任务执行完成再开始下一任务");
|
|
return;
|
|
}
|
|
var startDate = $("#DateFromDateSelect").val();
|
|
var endDate = $("#DateToDateSelect").val();
|
|
if(startDate==null||startDate==undefined||startDate==""){
|
|
main.message("请选择时间区间");
|
|
return;
|
|
}
|
|
|
|
if (endDate == null || endDate == undefined || endDate == "") {
|
|
main.message("请选择时间区间");
|
|
return;
|
|
}
|
|
|
|
|
|
var ajaxopt = {
|
|
type: "Post",
|
|
url: "/TaskEvent/AddGxjyDataPushTask",
|
|
data: { StartDate: startDate, EndDate: endDate },
|
|
dataType: "json",
|
|
success: function (data) {
|
|
if(!data.Success){
|
|
main.message(data.ErrorMsg);
|
|
}else{
|
|
$("#syncBar").show();
|
|
times = 0;
|
|
isgoing=true;
|
|
var interval=setInterval(function(){ShowBar(data.PredictTime)}, 1000);
|
|
setTimeout(function () { clearInterval(interval) }, (data.PredictTime+2)*1000);
|
|
|
|
}
|
|
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
}
|
|
main.ajax(ajaxopt);
|
|
}
|
|
|
|
var times=0;
|
|
|
|
function ShowBar(total){
|
|
times++;
|
|
var percent=times*100/total;
|
|
//alert(percent);
|
|
ShowPercent(percent);
|
|
}
|
|
|
|
|
|
function ShowPercent(percent){
|
|
percent = Math.round(percent);
|
|
if(percent<=100){
|
|
$("#syncBar div").css("width",percent+"%");
|
|
$("#syncBar div span").text(percent + "% "+"完成");
|
|
}
|
|
if(percent>100){
|
|
reload();
|
|
$("#syncBar").hide();
|
|
$("#syncBar div").css("width",0+"%");
|
|
$("#syncBar div span").text(0 + "% "+"完成");
|
|
times = 0;
|
|
isgoing=false;
|
|
}
|
|
}
|
|
|
|
|
|
function reload() {
|
|
//重新加载
|
|
SearchClick();
|
|
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', {page: 1});
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
</script>
|
|
}
|
|
|
|
<div class="searchdiv">
|
|
@Html.SearchDateRange("DateSelect", "日期选择")
|
|
@MyControls.Btn("开始同步", "StartSync()")
|
|
|
|
@MyControls.Btn("刷新", "reload()")
|
|
|
|
<div class="progress progress-striped active" id="syncBar" style="width:600px;margin-top:15px;display:none;margin-left:24px;">
|
|
<div class="progress-bar progress-bar-success" role="progressbar"
|
|
aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"
|
|
style="width: 0%;">
|
|
<span>0% 完成</span>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
@Html.Raw(JqGridSimple.OutTable())
|