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 @@
-
-
-
设备
-
-
-
-
-
-
-
-
-
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"));
}