feat: 固定创建真实采购任务 (#112)

This commit is contained in:
chengma
2026-08-10 17:52:48 +08:00
parent 29b4491afe
commit e1b32ea024
20 changed files with 185 additions and 82 deletions
+8 -29
View File
@@ -140,33 +140,9 @@
var openButtons = document.querySelectorAll("[data-purchase-open]");
var form = document.querySelector("[data-purchase-form]");
if (!openButtons.length || !form) return;
var modeInputs = form.querySelectorAll("[data-execution-mode]");
var livePanel = form.querySelector("[data-live-confirm-panel]");
var liveAcknowledged = form.querySelector("[data-live-acknowledged]");
var liveConfirmation = form.querySelector("[data-live-confirmation]");
var clientSelect = form.querySelector("select[name=client_id]");
function updateExecutionMode() {
var selected = form.querySelector("[data-execution-mode]:checked");
var isLive = selected && selected.value === "live";
if (livePanel) livePanel.hidden = !isLive;
if (liveAcknowledged) liveAcknowledged.required = isLive;
if (liveConfirmation) liveConfirmation.required = isLive;
if (clientSelect) {
clientSelect.querySelectorAll("option[data-purchase-mode]").forEach(function (option) {
option.disabled = isLive && option.getAttribute("data-purchase-mode") !== "live";
});
if (clientSelect.selectedOptions.length && clientSelect.selectedOptions[0].disabled) {
clientSelect.value = "";
}
}
form.setAttribute("data-confirm-submit", isLive
? "确认创建真实的未付款订单?系统不会自动支付。"
: "确认创建采购演练任务?任务创建后将等待所选客户端领取。");
}
modeInputs.forEach(function (input) {
input.addEventListener("change", updateExecutionMode);
});
updateExecutionMode();
var submitButton = form.querySelector("[data-purchase-submit]");
openButtons.forEach(function (openButton) {
openButton.addEventListener("click", function () {
var selected = {};
@@ -190,14 +166,17 @@
var empty = form.querySelector("[data-purchase-empty]");
if (empty) empty.hidden = shown > 0;
/* 每次打开都回到演练模式,避免上次关闭弹窗后遗留 live 选择。 */
var dryRun = form.querySelector("[data-execution-mode][value=dry_run]");
if (dryRun) dryRun.checked = true;
/* 每次打开都清空真实采购确认,不能沿用上一次未提交的确认。 */
if (liveAcknowledged) liveAcknowledged.checked = false;
if (liveConfirmation) liveConfirmation.value = "";
updateExecutionMode();
});
});
form.addEventListener("submit", function (event) {
if (event.defaultPrevented || !submitButton) return;
submitButton.disabled = true;
submitButton.setAttribute("aria-busy", "true");
submitButton.textContent = "创建中…";
});
}
/* PDD 批量采集弹窗只同步已选数量并提供提交反馈。