feat: 固定创建真实采购任务 (#112)
This commit is contained in:
+8
-29
@@ -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 批量采集弹窗只同步已选数量并提供提交反馈。
|
||||
|
||||
Reference in New Issue
Block a user