diff --git a/web/feeder/html/equipment-panel.html b/web/feeder/html/equipment-panel.html deleted file mode 100644 index 8210d4e..0000000 --- a/web/feeder/html/equipment-panel.html +++ /dev/null @@ -1,17 +0,0 @@ -
-
-

设备

- -
-
- - -
-
-
已选 0 台设备
- - - -
-
-
diff --git a/web/feeder/js/app.js b/web/feeder/js/app.js index c7df84a..55f4208 100644 --- a/web/feeder/js/app.js +++ b/web/feeder/js/app.js @@ -4,9 +4,7 @@ import { dom } from "./dom.js"; import { closeApiDocDrawer, openApiDocDrawer, openReadmeDrawer } from "./docs.js"; import { loadEvents } from "./events.js"; import { - applyBatchEquipmentUnit, clearPointBinding, - clearSelectedEquipments, closeEquipmentModal, loadEquipments, openCreateEquipmentModal, @@ -105,9 +103,6 @@ function bindEvents() { dom.refreshEquipmentBtn.addEventListener("click", () => withStatus(loadEquipments())); dom.newEquipmentBtn.addEventListener("click", openCreateEquipmentModal); dom.closeEquipmentModalBtn.addEventListener("click", closeEquipmentModal); - dom.applyEquipmentUnitBtn.addEventListener("click", () => withStatus(applyBatchEquipmentUnit())); - dom.clearEquipmentSelectionBtn.addEventListener("click", clearSelectedEquipments); - dom.openPointModalBtn.addEventListener("click", openPointCreateModal); dom.pointSourceSelect.addEventListener("change", () => { dom.nodeTree.innerHTML = '
Click "Load Nodes" to fetch node tree
'; diff --git a/web/feeder/js/dom.js b/web/feeder/js/dom.js index 7f22f17..a110310 100644 --- a/web/feeder/js/dom.js +++ b/web/feeder/js/dom.js @@ -61,8 +61,6 @@ export const dom = { equipmentDescription: byId("equipmentDescription"), equipmentResetBtn: byId("equipmentReset"), equipmentKeyword: byId("equipmentKeyword"), - equipmentBatchUnitId: byId("equipmentBatchUnitId"), - selectedEquipmentSummary: byId("selectedEquipmentSummary"), equipmentList: byId("equipmentList"), refreshUnitBtn: byId("refreshUnitBtn"), newUnitBtn: byId("newUnitBtn"), @@ -77,8 +75,6 @@ export const dom = { closeUnitModalBtn: byId("closeUnitModal"), closeEquipmentModalBtn: byId("closeEquipmentModal"), refreshEventBtn: byId("refreshEventBtn"), - applyEquipmentUnitBtn: byId("applyEquipmentUnitBtn"), - clearEquipmentSelectionBtn: byId("clearEquipmentSelectionBtn"), pointBindingForm: byId("pointBindingForm"), bindingPointId: byId("bindingPointId"), bindingPointName: byId("bindingPointName"), diff --git a/web/feeder/js/equipment.js b/web/feeder/js/equipment.js index e6e8d14..7f01372 100644 --- a/web/feeder/js/equipment.js +++ b/web/feeder/js/equipment.js @@ -40,26 +40,6 @@ function renderEquipmentUnitOptions(selected = "", target = dom.equipmentUnitId) target.innerHTML = options.join(""); } -function renderBatchUnitOptions(selected = "") { - if (!dom.equipmentBatchUnitId) { - return; - } - - const options = ['']; - state.units.forEach((unit) => { - const isSelected = unit.id === selected ? "selected" : ""; - options.push(``); - }); - dom.equipmentBatchUnitId.innerHTML = options.join(""); -} - -function updateSelectedEquipmentSummary() { - if (!dom.selectedEquipmentSummary) { - return; - } - dom.selectedEquipmentSummary.textContent = `已选 ${state.selectedEquipmentIds.size} 台设备`; -} - export function renderBindingEquipmentOptions(selected = "", target = dom.bindingEquipmentId) { const options = ['']; filteredEquipments().forEach((item) => { @@ -119,21 +99,6 @@ async function selectEquipment(equipmentId) { await loadPoints(); } -function toggleEquipmentSelection(equipmentId, checked) { - if (checked) { - state.selectedEquipmentIds.add(equipmentId); - } else { - state.selectedEquipmentIds.delete(equipmentId); - } - updateSelectedEquipmentSummary(); -} - -export function clearSelectedEquipments() { - state.selectedEquipmentIds.clear(); - renderEquipments(); - updateSelectedEquipmentSummary(); -} - export function clearEquipmentFilter() { state.selectedEquipmentId = null; state.pointsPage = 1; @@ -144,7 +109,6 @@ export function clearEquipmentFilter() { export function renderEquipments() { dom.equipmentList.innerHTML = ""; - updateSelectedEquipmentSummary(); const items = filteredEquipments(); if (!items.length) { @@ -157,10 +121,6 @@ export function renderEquipments() { const box = document.createElement("div"); box.className = `list-item equipment-card ${state.selectedEquipmentId === equipment.id ? "selected" : ""}`; box.innerHTML = ` -
${equipment.code} ${item.point_count ?? 0} pts @@ -177,14 +137,6 @@ export function renderEquipments() { }); }); - const checkbox = box.querySelector('input[data-equipment-select="true"]'); - checkbox.addEventListener("click", (event) => { - event.stopPropagation(); - }); - checkbox.addEventListener("change", (event) => { - toggleEquipmentSelection(equipment.id, event.target.checked); - }); - const actionRow = box.querySelector(".equipment-card-actions"); const editBtn = document.createElement("button"); @@ -254,14 +206,7 @@ export async function loadEquipments() { }), ); - state.selectedEquipmentIds.forEach((id) => { - if (!state.equipmentMap.has(id)) { - state.selectedEquipmentIds.delete(id); - } - }); - renderEquipmentUnitOptions(dom.equipmentUnitId?.value || ""); - renderBatchUnitOptions(dom.equipmentBatchUnitId?.value || ""); dom.equipmentKind.innerHTML = renderEquipmentKindOptions(dom.equipmentKind?.value || ""); renderBindingEquipmentOptions(); renderBatchBindingDefaults(); @@ -301,25 +246,6 @@ export async function saveEquipment(event) { await loadPoints(); } -export async function applyBatchEquipmentUnit() { - if (!state.selectedEquipmentIds.size) { - throw new Error("请先选择设备"); - } - - const value = dom.equipmentBatchUnitId.value; - await apiFetch("/api/equipment/batch/set-unit", { - method: "PUT", - body: JSON.stringify({ - equipment_ids: Array.from(state.selectedEquipmentIds), - unit_id: value || null, - }), - }); - - clearSelectedEquipments(); - renderBatchUnitOptions(""); - await loadEquipments(); -} - export async function deleteEquipment(equipmentId) { if (!window.confirm("Delete this equipment?")) { return; @@ -329,7 +255,6 @@ export async function deleteEquipment(equipmentId) { if (state.selectedEquipmentId === equipmentId) { state.selectedEquipmentId = null; } - state.selectedEquipmentIds.delete(equipmentId); resetEquipmentForm(); closeEquipmentModal(); clearSelectedPoints(); diff --git a/web/feeder/js/state.js b/web/feeder/js/state.js index 4c70a2a..fad3909 100644 --- a/web/feeder/js/state.js +++ b/web/feeder/js/state.js @@ -7,7 +7,6 @@ export const state = { equipments: [], equipmentMap: new Map(), selectedEquipmentId: null, - selectedEquipmentIds: new Set(), selectedSourceId: null, selectedNodeIds: new Set(), selectedPointIds: new Set(), diff --git a/web/feeder/js/units.js b/web/feeder/js/units.js index b55c4df..103757e 100644 --- a/web/feeder/js/units.js +++ b/web/feeder/js/units.js @@ -240,7 +240,6 @@ export async function loadUnits() { renderUnits(); renderUnitOptions(dom.equipmentUnitId?.value || "", dom.equipmentUnitId); - renderUnitOptions(dom.equipmentBatchUnitId?.value || "", dom.equipmentBatchUnitId); document.dispatchEvent(new Event("units-loaded")); }