feat: 增加真实采购任务安全模式 (#98)
This commit is contained in:
@@ -140,6 +140,33 @@
|
||||
var openButton = document.querySelector("[data-purchase-open]");
|
||||
var form = document.querySelector("[data-purchase-form]");
|
||||
if (!openButton || !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();
|
||||
openButton.addEventListener("click", function () {
|
||||
var selected = {};
|
||||
document.querySelectorAll("tbody input[name=ids]:checked").forEach(function (box) {
|
||||
@@ -156,6 +183,7 @@
|
||||
});
|
||||
var empty = form.querySelector("[data-purchase-empty]");
|
||||
if (empty) empty.hidden = shown > 0;
|
||||
updateExecutionMode();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user