From be125538c6e9c17a923c9dbe1e4cca9962b0ed39 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 08 九月 2025 10:17:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into ywx
---
src/api/equipmentManagement/brand.js | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/src/api/equipmentManagement/brand.js b/src/api/equipmentManagement/brand.js
new file mode 100644
index 0000000..040cb38
--- /dev/null
+++ b/src/api/equipmentManagement/brand.js
@@ -0,0 +1,93 @@
+// 璁惧鍝佺墝绠$悊 - 鏈湴鍋囨暟鎹� 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