fix: clarify explicit zero prices in manual review
This commit is contained in:
1 parent
9487634f83
commit
5acbec75fe
7 files changed
+98
-11
No files matched your search
@@ -1204,7 +1204,7 @@
|
||||
}
|
||||
|
||||
function strictReviewPrice(value) {
|
||||
return /^(?:0|[1-9]\d{0,15})$/.test(String(value || "").trim());
|
||||
return /^(?:0|[1-9]\d{0,15})$/.test(String(value ?? "").trim());
|
||||
}
|
||||
|
||||
function setDailyPriceReviewMessage(copy = "", isError = false) {
|
||||
@@ -1273,7 +1273,7 @@
|
||||
reviewCopy.hidden = retryable;
|
||||
reviewCopy.textContent = processing
|
||||
? (I18N?.t("daily_review.processing_instruction") || "正在使用已冻结的价格清单重放原始 XML;此时无法修改。")
|
||||
: (I18N?.t("daily_review.default_instruction") || "请为所有缺少固定价的价格键填写每晚价格。相同键只需填写一次。");
|
||||
: (I18N?.t("daily_review.default_instruction") || "请填写每晚处理价,可填 0。每项填写后点击“暂存”,全部暂存后生成日报。");
|
||||
const finalize = $("#daily-price-review-finalize");
|
||||
const cancel = $("#daily-price-review-cancel");
|
||||
finalize.disabled = busy || !dailyPriceReviewCanFinalize(review);
|
||||
@@ -1316,7 +1316,7 @@
|
||||
<td data-label="${escapeHtml(labels.roomsNights)}">${formatInteger(item.affected_rooms)} / ${formatInteger(item.affected_room_nights)}</td>
|
||||
<td data-label="${escapeHtml(labels.manualPrice)}">
|
||||
<label class="sr-only" for="${inputId}">${escapeHtml(inputLabel)}</label>
|
||||
<input class="daily-price-review-input" id="${inputId}" data-daily-price-review-price value="${escapeHtml(reviewPriceInput(item.real_price))}" inputmode="numeric" autocomplete="off" pattern="(?:0|[1-9][0-9]{0,15})" placeholder="0" aria-describedby="daily-price-review-copy" ${disabled ? "disabled" : ""} />
|
||||
<input class="daily-price-review-input" id="${inputId}" data-daily-price-review-price value="${escapeHtml(reviewPriceInput(item.real_price))}" inputmode="numeric" autocomplete="off" pattern="(?:0|[1-9][0-9]{0,15})" placeholder="${escapeHtml(I18N?.t("daily_review.price_placeholder") || "请输入价格(可填 0)")}" aria-describedby="daily-price-review-copy" ${disabled ? "disabled" : ""} />
|
||||
</td>
|
||||
<td class="daily-price-review-row-actions" data-label="${escapeHtml(labels.actions)}">
|
||||
<span class="daily-price-review-status${saved ? " is-complete" : " is-pending"}">${escapeHtml(saved ? (I18N?.t("daily_review.saved") || "已暂存") : (I18N?.t("daily_review.awaiting_input") || "待填写"))}</span>
|
||||
@@ -1372,7 +1372,7 @@
|
||||
const jobId = state.dailyPriceReviewJobId;
|
||||
const itemId = Number(row?.dataset.dailyPriceReviewItemId);
|
||||
const input = $("[data-daily-price-review-price]", row);
|
||||
const realPrice = String(input?.value || "").trim();
|
||||
const realPrice = String(input?.value ?? "").trim();
|
||||
if (!review || !jobId || !Number.isInteger(itemId) || itemId < 1) return;
|
||||
if (!strictReviewPrice(realPrice)) {
|
||||
setDailyPriceReviewMessage(I18N?.t("daily_review.integer_required") || "人工价格必须是非负整数,例如 0。", true);
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
"daily_review.progress_short": ["复核 {completed} / {total}", "Review {completed} / {total}", "ตรวจสอบ {completed} / {total}"],
|
||||
"daily_review.step": ["价格复核 / 待处理", "PRICE REVIEW / REQUIRED", "ตรวจสอบราคา / ต้องดำเนินการ"],
|
||||
"daily_review.title": ["人工价格复核", "Manual price review", "ตรวจสอบราคาด้วยตนเอง"],
|
||||
"daily_review.default_instruction": ["请为所有缺少固定价的价格键填写每晚价格。相同键只需填写一次。", "Enter a nightly price for every price key missing a fixed price. Enter each identical key only once.", "กรอกราคาต่อคืนสำหรับทุกคีย์ราคาที่ไม่มีราคาคงที่ โดยคีย์เดียวกันกรอกเพียงครั้งเดียว"],
|
||||
"daily_review.default_instruction": ["请填写每晚处理价,可填 0。每项填写后点击“暂存”,全部暂存后生成日报。相同价格项只需填写一次。", "Enter the nightly price; 0 is allowed. Save each item, then generate the daily report when all items are saved. Enter each identical price key only once.", "กรอกราคาต่อคืน สามารถกรอก 0 ได้ กดบันทึกแต่ละรายการ แล้วสร้างรายงานรายวันเมื่อบันทึกครบทุกรายการ คีย์ราคาเดียวกันกรอกเพียงครั้งเดียว"],
|
||||
"daily_review.processing_instruction": ["正在使用已冻结的价格清单重放原始 XML;此时无法修改。", "The original XML is being replayed with the frozen price list. Prices cannot be changed now.", "กำลังประมวลผล XML ต้นทางซ้ำด้วยรายการราคาที่ตรึงไว้ ขณะนี้ไม่สามารถแก้ไขราคาได้"],
|
||||
"daily_review.progress_aria": ["人工价格复核进度", "Manual price review progress", "ความคืบหน้าการตรวจสอบราคาด้วยตนเอง"],
|
||||
"daily_review.completed": ["已填写", "Completed", "กรอกแล้ว"],
|
||||
@@ -265,6 +265,7 @@
|
||||
"daily_review.affected_records": ["影响记录", "Affected records", "รายการที่ได้รับผลกระทบ"],
|
||||
"daily_review.rooms_nights": ["房数 / 房晚", "Rooms / room nights", "ห้อง / คืนห้องพัก"],
|
||||
"daily_review.manual_price": ["人工价格", "Manual price", "ราคาที่กำหนดด้วยตนเอง"],
|
||||
"daily_review.price_placeholder": ["请输入价格(可填 0)", "Enter price (0 allowed)", "กรอกราคา (กรอก 0 ได้)"],
|
||||
"daily_review.no_candidates": ["暂无同公司 / Rate Code 固定价", "No fixed price for the same company / Rate Code", "ไม่มีราคาคงที่สำหรับบริษัท / Rate Code เดียวกัน"],
|
||||
"daily_review.price_key": ["价格键", "price key", "คีย์ราคา"],
|
||||
"daily_review.manual_price_label": ["{company} {rateCode} 的人工价格", "Manual price for {company} {rateCode}", "ราคาที่กำหนดด้วยตนเองสำหรับ {company} {rateCode}"],
|
||||
|
||||
Reference in new issue
Block a user