更新ASIN库新需求
This commit is contained in:
@@ -115,7 +115,10 @@
|
||||
function runTabLoader(tabName) {
|
||||
if (tabName === 'users') { loadUsers(1); loadColumnsForPermission(); }
|
||||
else if (tabName === 'columns') loadColumns();
|
||||
else if (tabName === 'dedupe-total-data') loadDedupeTotalData(1);
|
||||
else if (tabName === 'dedupe-total-data') {
|
||||
loadDedupeTotalData(1);
|
||||
loadDedupeGroupSummary();
|
||||
}
|
||||
else if (tabName === 'invalid-asin-data') loadInvalidAsinData(1);
|
||||
else if (tabName === 'shop-keys') loadShopKeys(1);
|
||||
else if (tabName === 'shop-manage') loadShopManage(1);
|
||||
@@ -1407,7 +1410,9 @@
|
||||
function buildDedupeTotalDataQuery(page) {
|
||||
var q = 'page=' + (page || 1) + '&page_size=' + dedupeTotalDataPageSize;
|
||||
var keyword = (document.getElementById('searchDedupeTotalData').value || '').trim();
|
||||
var username = (document.getElementById('searchDedupeTotalDataUsername').value || '').trim();
|
||||
if (keyword) q += '&keyword=' + encodeURIComponent(keyword);
|
||||
if (username) q += '&username=' + encodeURIComponent(username);
|
||||
return q;
|
||||
}
|
||||
function loadDedupeTotalData(page) {
|
||||
@@ -1417,17 +1422,17 @@
|
||||
.then(function (res) {
|
||||
var tbody = document.getElementById('dedupeTotalDataListBody');
|
||||
if (!res.success) {
|
||||
tbody.innerHTML = '<tr><td colspan="4" class="empty-tip">加载失败: ' + (res.error || '') + '</td></tr>';
|
||||
tbody.innerHTML = '<tr><td colspan="5" class="empty-tip">加载失败: ' + escapeHtml(res.error || '') + '</td></tr>';
|
||||
return;
|
||||
}
|
||||
var items = res.items || [];
|
||||
if (items.length === 0) {
|
||||
tbody.innerHTML = '<tr><td colspan="4" class="empty-tip">暂无总数据</td></tr>';
|
||||
tbody.innerHTML = '<tr><td colspan="5" class="empty-tip">暂无总数据</td></tr>';
|
||||
} else {
|
||||
tbody.innerHTML = items.map(function (item) {
|
||||
return '<tr><td>' + item.id + '</td><td>' + (item.data_value || '') + '</td><td>' + (item.created_at || '') + '</td><td>' +
|
||||
'<button class="btn btn-sm" data-dedupe-total-edit="' + item.id + '" data-value="' + (item.data_value || '').replace(/"/g, '"') + '">编辑</button> ' +
|
||||
'<button class="btn btn-sm btn-danger" data-dedupe-total-delete="' + item.id + '" data-value="' + (item.data_value || '').replace(/"/g, '"') + '">删除</button>' +
|
||||
return '<tr><td>' + escapeHtml(item.id) + '</td><td>' + escapeHtml(item.data_value || '') + '</td><td>' + escapeHtml(item.username || '') + '</td><td>' + escapeHtml(item.created_at || '') + '</td><td>' +
|
||||
'<button class="btn btn-sm" data-dedupe-total-edit="' + escapeHtml(item.id) + '" data-value="' + escapeHtml(item.data_value || '') + '">编辑</button> ' +
|
||||
'<button class="btn btn-sm btn-danger" data-dedupe-total-delete="' + escapeHtml(item.id) + '" data-value="' + escapeHtml(item.data_value || '') + '">删除</button>' +
|
||||
'</td></tr>';
|
||||
}).join('');
|
||||
}
|
||||
@@ -1435,7 +1440,7 @@
|
||||
bindDedupeTotalDataActions();
|
||||
})
|
||||
.catch(function () {
|
||||
document.getElementById('dedupeTotalDataListBody').innerHTML = '<tr><td colspan="4" class="empty-tip">请求失败</td></tr>';
|
||||
document.getElementById('dedupeTotalDataListBody').innerHTML = '<tr><td colspan="5" class="empty-tip">请求失败</td></tr>';
|
||||
});
|
||||
}
|
||||
function bindDedupeTotalDataActions() {
|
||||
@@ -2114,6 +2119,38 @@
|
||||
});
|
||||
}
|
||||
|
||||
function renderDedupeGroupSummary() {
|
||||
var summaryEl = document.getElementById('dedupeGroupSummary');
|
||||
if (!summaryEl) return;
|
||||
if (currentUserRole === 'super_admin') {
|
||||
summaryEl.innerHTML = '<span class="dedupe-group-summary-chip">全部分组 · ' +
|
||||
escapeHtml(shopManageGroups.length) + ' 个</span>';
|
||||
return;
|
||||
}
|
||||
if (!shopManageGroups.length) {
|
||||
summaryEl.textContent = '未加入分组';
|
||||
return;
|
||||
}
|
||||
var visibleGroups = shopManageGroups.slice(0, 4);
|
||||
summaryEl.innerHTML = visibleGroups.map(function (group) {
|
||||
var relation = String(group.leader_user_id || '') === String(currentUserId || '') ? '组长' : '组员';
|
||||
return '<span class="dedupe-group-summary-chip" title="' + escapeHtml(group.group_name || '') + '">' +
|
||||
escapeHtml(group.group_name || '') + ' · ' + relation + '</span>';
|
||||
}).join('') + (shopManageGroups.length > visibleGroups.length
|
||||
? '<span>另 ' + escapeHtml(shopManageGroups.length - visibleGroups.length) + ' 个</span>'
|
||||
: '');
|
||||
}
|
||||
|
||||
function loadDedupeGroupSummary(force) {
|
||||
var summaryEl = document.getElementById('dedupeGroupSummary');
|
||||
if (!summaryEl) return Promise.resolve([]);
|
||||
summaryEl.textContent = '正在加载...';
|
||||
return loadShopManageGroups(null, null, force).then(function (groups) {
|
||||
renderDedupeGroupSummary();
|
||||
return groups;
|
||||
});
|
||||
}
|
||||
|
||||
function resetShopManageGroupForm() {
|
||||
document.getElementById('shopManageGroupEditId').value = '';
|
||||
document.getElementById('shopManageGroupLeaderUserId').value = currentUserId || '';
|
||||
@@ -2130,7 +2167,7 @@
|
||||
|
||||
function updateShopManageGroupButtonsAccess() {
|
||||
var canManageGroups = !!currentUserId;
|
||||
['btnManageShopGroups', 'btnManageShopGroupsFromEdit', 'btnManageSkipPriceAsinGroups', 'btnManageQueryAsinGroups'].forEach(function (id) {
|
||||
['btnManageShopGroups', 'btnManageShopGroupsFromEdit', 'btnManageSkipPriceAsinGroups', 'btnManageQueryAsinGroups', 'btnManageDedupeGroups'].forEach(function (id) {
|
||||
var btn = document.getElementById(id);
|
||||
if (btn) btn.style.display = canManageGroups ? '' : 'none';
|
||||
});
|
||||
@@ -2210,6 +2247,7 @@
|
||||
}
|
||||
loadShopManageGroups(null, null, true).then(function () {
|
||||
renderShopManageGroupRows();
|
||||
renderDedupeGroupSummary();
|
||||
loadShopManage(shopManagePage);
|
||||
loadSkipPriceAsin(skipPriceAsinPage);
|
||||
});
|
||||
@@ -2234,6 +2272,10 @@
|
||||
setShopManageGroupGrantRoutes(['query-asin']);
|
||||
openShopManageGroupModal();
|
||||
};
|
||||
document.getElementById('btnManageDedupeGroups').onclick = function () {
|
||||
setShopManageGroupGrantRoutes(['dedupe-total-data']);
|
||||
openShopManageGroupModal();
|
||||
};
|
||||
document.getElementById('btnSearchShopManage').onclick = function () {
|
||||
loadShopManage(1);
|
||||
};
|
||||
@@ -2282,6 +2324,7 @@
|
||||
msgEl.className = 'msg ok';
|
||||
loadShopManageGroups(null, null, true).then(function () {
|
||||
renderShopManageGroupRows();
|
||||
renderDedupeGroupSummary();
|
||||
loadShopManage(shopManagePage);
|
||||
loadSkipPriceAsin(skipPriceAsinPage);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user