合并:上报最低价 H5

This commit is contained in:
陈世睿
2026-06-29 17:12:53 +08:00
+19 -9
View File
@@ -526,7 +526,7 @@ body.transitioning-tab { /* no animation */ }
<button class="hist-header-back" type="button" onclick="goBackToProfile()" aria-label="返回我的页面">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 6L9 12L15 18" stroke="#1A1A1A" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
<button class="hist-header-reports" type="button" onclick="go('reports')" aria-label="查看上报记录">上报记录<span class="hist-header-reports-dot"></span></button>
<button class="hist-header-reports" type="button" onclick="goReports()" aria-label="查看上报记录">上报记录<span class="hist-header-reports-dot" style="display:none"></span></button>
<div class="hist-header-title">比价记录</div>
<div class="hist-header-search" onclick="enterSearchMode()" role="button" aria-label="搜索">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#1A1A1A" stroke-width="2.2" stroke-linecap="round">
@@ -626,7 +626,7 @@ body.transitioning-tab { /* no animation */ }
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#1A1A1A" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"/></svg>
</div>
<div class="fb-page-title">上报更低价</div>
<button class="fb-page-reports" type="button" onclick="go('reports')" aria-label="查看上报记录">上报记录<span class="fb-page-reports-dot"></span></button>
<button class="fb-page-reports" type="button" onclick="goReports()" aria-label="查看上报记录">上报记录<span class="fb-page-reports-dot" style="display:none"></span></button>
</div>
<div class="fb-page-body">
@@ -1073,6 +1073,13 @@ function navigateStub(id) {
window.go = navigateStub;
window.goBack = function() { console.log('[nav stub] goBack'); };
// 「上报记录」入口:App 内经原生桥跳上报记录页(REPORT_RECORDS);浏览器预览(无原生 navigate)走 mock。
function goReports() {
if (window.SGBridge && SGBridge.navigate) { SGBridge.navigate('reportRecords'); }
else { go('reports'); }
}
window.goReports = goReports;
// ========== 筛选 tab ==========
function onFilterClick(tab) {
if (document.querySelector('.device').classList.contains('logged-out')) { onEmptyLogin(); return; }
@@ -1429,7 +1436,7 @@ function enterSelectMode() {
// 取消上报:深链(从「我的」进入)则返回「我的」,否则仅退出选择态停留在记录页
function cancelSelect() {
if (cameFromProfile) { go('profile'); return; }
if (cameFromProfile) { goBackToProfile(); return; }
exitSelectMode();
}
@@ -1548,8 +1555,9 @@ document.querySelectorAll('.fb-key').forEach(function(key) {
if (v.indexOf('.') === -1) input.value = v + '.';
} else {
// 数字键
if (v === '0' && k !== '.') input.value = k; // 替代前导 0
else input.value = v + k;
var next = (v === '0') ? k : v + k; // 替代前导 0
var dot = next.indexOf('.');
if (!(dot >= 0 && next.length - dot - 1 > 2)) input.value = next; // 小数点后最多 2 位
}
refreshSubmitBtn();
});
@@ -1669,7 +1677,7 @@ async function submitFeedback() {
// 校验:上报价(元)必须 < 原最低价(bestPriceCents/100),否则拦下
var bestYuan = (selectedRecord.bestPriceCents != null) ? selectedRecord.bestPriceCents / 100 : null;
if (bestYuan != null && !(priceYuan < bestYuan)) {
showToast('要比原价更低才能上报');
showToast('上报价需低于原最低价 ¥' + bestYuan.toFixed(2));
return;
}
@@ -1691,7 +1699,7 @@ async function submitFeedback() {
closeFeedbackSheet();
exitSelectMode();
resetSelectedFiles();
setTimeout(function () { showToast('反馈已提交,等待审核'); }, 220);
setTimeout(function () { showToast('感谢您的反馈'); }, 220);
return;
}
@@ -1731,9 +1739,11 @@ async function submitFeedback() {
closeFeedbackSheet();
exitSelectMode();
resetSelectedFiles();
setTimeout(function () { showToast('反馈已提交,等待审核'); }, 220);
setTimeout(function () { showToast('感谢您的反馈'); }, 220);
} else {
showToast('提交失败(' + res.status + '),请稍后再试');
var detail = '';
try { var j = await res.json(); detail = (j && j.detail) ? j.detail : ''; } catch (e) {}
showToast(detail || ('提交失败(' + res.status + '),请稍后再试'));
}
} catch (e) {
showToast('网络异常,提交失败');