同步失败原因,最近同步成功的时间记录
This commit is contained in:
@@ -99,6 +99,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
||||
operate: false,
|
||||
formatter: Controller.api.formatter.syncDisplay
|
||||
},
|
||||
{
|
||||
field: 'sync_success_text',
|
||||
title: __('Sync success time'),
|
||||
operate: false,
|
||||
formatter: Controller.api.formatter.syncSuccessDisplay
|
||||
},
|
||||
$.extend(
|
||||
{field: 'status', title: __('Status'), searchList: Config.statusList, formatter: Table.api.formatter.toggle, yes: 'normal', no: 'hidden'},
|
||||
searchSelectMeta(false)
|
||||
@@ -137,6 +143,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
||||
|
||||
table.on('load-success.bs.table', function (e, res) {
|
||||
Controller.api.renderSummaryRow(res);
|
||||
Controller.api.initSyncTooltips(table);
|
||||
var pendingIds = window.__splitTicketPendingPostAddSyncIds;
|
||||
if (!pendingIds || !pendingIds.length) {
|
||||
return;
|
||||
@@ -310,11 +317,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
||||
*/
|
||||
finishTicketsSync: function (table) {
|
||||
Controller.api.syncingTicketIds = [];
|
||||
table.bootstrapTable('refresh');
|
||||
table.bootstrapTable('refresh', {
|
||||
silent: true
|
||||
});
|
||||
Controller.api.initSyncTooltips(table);
|
||||
var ids = Table.api.selectedids(table);
|
||||
$('.btn-sync').toggleClass('btn-disabled disabled', ids.length === 0);
|
||||
},
|
||||
|
||||
/**
|
||||
* 初始化同步状态列 tooltip(完整异常原因)
|
||||
*/
|
||||
initSyncTooltips: function (table) {
|
||||
var $container = table.closest('.bootstrap-table');
|
||||
$container.find('[data-sync-tooltip="1"]').tooltip({
|
||||
container: 'body',
|
||||
placement: 'auto top',
|
||||
html: false
|
||||
});
|
||||
},
|
||||
|
||||
formatter: {
|
||||
/**
|
||||
* 操作列:编辑 → 拷贝 → 删除
|
||||
@@ -408,13 +430,38 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
||||
return Controller.api.formatter.syncingDisplayHtml();
|
||||
}
|
||||
var text = value || '';
|
||||
var tooltip = row.sync_tooltip_text ? String(row.sync_tooltip_text).trim() : '';
|
||||
if (tooltip !== '') {
|
||||
tooltip = tooltip.replace(/\r?\n/g, ';');
|
||||
}
|
||||
var hasTooltip = tooltip !== '';
|
||||
var color = 'danger';
|
||||
if (row.sync_status === 'success') {
|
||||
var extraClass = '';
|
||||
if (row.sync_auto_paused) {
|
||||
color = 'warning';
|
||||
extraClass = ' split-ticket-sync-status-paused';
|
||||
} else if (row.sync_status === 'success') {
|
||||
color = 'success';
|
||||
} else if (row.sync_status === 'pending') {
|
||||
color = 'muted';
|
||||
} else if (row.sync_status === 'error') {
|
||||
extraClass = ' split-ticket-sync-status-error';
|
||||
}
|
||||
return '<span class="text-' + color + '">' + Fast.api.escape(text) + '</span>';
|
||||
var attrs = '';
|
||||
if (hasTooltip) {
|
||||
attrs = ' data-sync-tooltip="1" data-toggle="tooltip" title="' + Fast.api.escape(tooltip) + '"';
|
||||
}
|
||||
return '<span class="text-' + color + extraClass + '"' + attrs + '>' + Fast.api.escape(text) + '</span>';
|
||||
},
|
||||
syncSuccessDisplay: function (value, row) {
|
||||
var text = value == null ? '' : String(value).trim();
|
||||
if (text === '') {
|
||||
return '<span class="text-muted">-</span>';
|
||||
}
|
||||
var colorClass = row.status === 'normal'
|
||||
? 'split-sync-success-normal'
|
||||
: 'split-sync-success-stopped';
|
||||
return '<span class="' + colorClass + '">' + Fast.api.escape(text) + '</span>';
|
||||
},
|
||||
syncingDisplayHtml: function () {
|
||||
var label = (typeof Config.syncInProgressMsg !== 'undefined' && Config.syncInProgressMsg)
|
||||
|
||||
Reference in New Issue
Block a user