From c7b4b9a2f4c0f05aeb60a9e3f5fba5d9a3676f3f Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期一, 18 八月 2025 16:22:42 +0800 Subject: [PATCH] 中强恒兴设备管理页面添加 --- src/api/equipmentManagement/brand.js | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 0 deletions(-) diff --git a/src/api/equipmentManagement/brand.js b/src/api/equipmentManagement/brand.js new file mode 100644 index 0000000..fd46a80 --- /dev/null +++ b/src/api/equipmentManagement/brand.js @@ -0,0 +1,92 @@ +// 璁惧鍝佺墝绠$悊 - 鏈湴鍋囨暟鎹� API锛堜娇鐢� localStorage 鎸佷箙鍖栵級 + +const STORAGE_KEY = 'EQUIPMENT_BRANDS'; + +function readStore() { + try { + const raw = localStorage.getItem(STORAGE_KEY); + if (raw) { + const parsed = JSON.parse(raw); + if (Array.isArray(parsed)) return parsed; + } + } catch (e) { + // ignore + } + // 鍒濆鍖栦竴浜涚ず渚嬫暟鎹� + const initial = [ + { id: 1, name: '瑗块棬瀛�', country: '寰峰浗', description: '宸ヤ笟鑷姩鍖栦笌鐢垫皵宸ョ▼鍝佺墝', createdAt: Date.now() - 86400000 * 10 }, + { id: 2, name: '鏂借�愬痉', country: '娉曞浗', description: '鑳芥簮绠$悊涓庤嚜鍔ㄥ寲', createdAt: Date.now() - 86400000 * 7 }, + { id: 3, name: '涓夎彵鐢垫満', country: '鏃ユ湰', description: '鐢垫皵涓庤嚜鍔ㄥ寲璁惧', createdAt: Date.now() - 86400000 * 3 }, + ]; + localStorage.setItem(STORAGE_KEY, JSON.stringify(initial)); + return initial; +} + +function writeStore(list) { + localStorage.setItem(STORAGE_KEY, JSON.stringify(list)); +} + +function nextId(list) { + const maxId = list.reduce((max, item) => Math.max(max, Number(item.id) || 0), 0); + return maxId + 1; +} + +export function getBrandPage(params = {}) { + const { current = 1, size = 10, name } = params; + const list = readStore(); + let filtered = list; + if (name) { + const kw = String(name).trim(); + filtered = filtered.filter((b) => + (b.name && b.name.includes(kw)) || (b.country && b.country.includes(kw)) + ); + } + const start = (current - 1) * size; + const end = start + Number(size); + const records = filtered.slice(start, end); + return Promise.resolve({ + code: 200, + data: { + total: filtered.length, + records, + }, + msg: 'ok', + }); +} + +export function getBrandById(id) { + const list = readStore(); + const item = list.find((i) => String(i.id) === String(id)); + return Promise.resolve({ code: 200, data: item || null, msg: 'ok' }); +} + +export function addBrand(data) { + const list = readStore(); + const item = { ...data }; + item.id = nextId(list); + item.createdAt = Date.now(); + list.unshift(item); + writeStore(list); + return Promise.resolve({ code: 200, data: item, msg: '鏂板鎴愬姛' }); +} + +export function editBrand(data) { + const list = readStore(); + const index = list.findIndex((i) => String(i.id) === String(data.id)); + if (index !== -1) { + list[index] = { ...list[index], ...data }; + writeStore(list); + return Promise.resolve({ code: 200, data: list[index], msg: '淇敼鎴愬姛' }); + } + return Promise.resolve({ code: 404, data: null, msg: '鏈壘鍒拌鍝佺墝' }); +} + +export function delBrand(idOrIds) { + const list = readStore(); + const ids = Array.isArray(idOrIds) ? idOrIds.map(String) : [String(idOrIds)]; + const newList = list.filter((i) => !ids.includes(String(i.id))); + writeStore(newList); + return Promise.resolve({ code: 200, data: null, msg: '鍒犻櫎鎴愬姛' }); +} + + -- Gitblit v1.9.3