diff --git a/Src/command_center/web-command-center/backend/.env b/Src/command_center/web-command-center/backend/.env index 6f097398..9ecaa0de 100644 --- a/Src/command_center/web-command-center/backend/.env +++ b/Src/command_center/web-command-center/backend/.env @@ -2,7 +2,7 @@ DB_HOST=localhost DB_PORT=3306 DB_USER=root -DB_PASSWORD=227622 +DB_PASSWORD=yyb123456 DB_NAME=command_center # 服务器配置 diff --git a/Src/command_center/web-command-center/backend/src/connect_tello.py b/Src/command_center/web-command-center/backend/src/connect_tello.py new file mode 100644 index 00000000..c87d2cad --- /dev/null +++ b/Src/command_center/web-command-center/backend/src/connect_tello.py @@ -0,0 +1,10 @@ +from djitellopy import Tello +try: + drone = Tello() + drone.connect() + if drone.get_battery() > 0: + print('connected') + else: + print('failed') +except Exception as e: + print('failed') \ No newline at end of file diff --git a/Src/command_center/web-command-center/backend/src/routes/drones.js b/Src/command_center/web-command-center/backend/src/routes/drones.js index df027c23..759909e7 100644 --- a/Src/command_center/web-command-center/backend/src/routes/drones.js +++ b/Src/command_center/web-command-center/backend/src/routes/drones.js @@ -1,6 +1,9 @@ const express = require('express'); const router = express.Router(); const { authenticateToken } = require('../middleware/auth'); +const pool = require('../config/database'); +const { exec } = require('child_process'); +const dgram = require('dgram'); // 内存中的无人机数据存储 let dronesData = [ @@ -41,18 +44,26 @@ let dronesData = [ let nextId = 4; +// 在文件顶部添加定时器管理对象 +const droneTimers = {}; + +// 在文件顶部添加飞行状态管理对象 +const droneFlightState = {}; + // 获取所有无人机 router.get('/', authenticateToken, async (req, res) => { try { + const [rows] = await pool.query('SELECT * FROM drones ORDER BY id ASC'); res.json({ success: true, - data: dronesData + data: rows }); } catch (error) { console.error('获取无人机列表失败:', error); res.status(500).json({ success: false, - message: '获取无人机列表失败' + message: '获取无人机列表失败', + error: error.message }); } }); @@ -117,32 +128,32 @@ router.put('/:id/status', authenticateToken, async (req, res) => { // 添加新无人机 router.post('/', authenticateToken, async (req, res) => { - const { name, type, status, latitude, longitude } = req.body; + const { name, type, serial_number, app_key, app_secret, description } = req.body; try { - const newDrone = { - id: nextId++, - name: name || `无人机-${nextId - 1}`, - type: type || '通用型', - status: status || 'idle', - latitude: latitude ? parseFloat(latitude) : 28.1941, - longitude: longitude ? parseFloat(longitude) : 112.9823, - battery: 100, - created_at: new Date().toISOString(), - updated_at: new Date().toISOString() - }; - - dronesData.push(newDrone); - + // 检查序列号唯一性 + const [existRows] = await pool.query('SELECT id FROM drones WHERE serial_number = ?', [serial_number]); + if (existRows.length > 0) { + return res.status(400).json({ success: false, message: '该序列号已存在' }); + } + // 插入新无人机 + const [result] = await pool.query( + `INSERT INTO drones (name, type, serial_number, app_key, app_secret, description, status, battery, latitude, longitude, last_heartbeat_at) + VALUES (?, ?, ?, ?, ?, ?, 'disconnected', NULL, NULL, NULL, NULL)`, + [name, type, serial_number, app_key, app_secret, description] + ); + // 查询插入后的完整数据 + const [rows] = await pool.query('SELECT * FROM drones WHERE id = ?', [result.insertId]); res.json({ success: true, message: '无人机添加成功', - data: newDrone + data: rows[0] }); } catch (error) { console.error('添加无人机失败:', error); res.status(500).json({ success: false, - message: '添加无人机失败' + message: '添加无人机失败', + error: error.message }); } }); @@ -150,16 +161,14 @@ router.post('/', authenticateToken, async (req, res) => { // 删除无人机 router.delete('/:id', authenticateToken, async (req, res) => { try { - const droneIndex = dronesData.findIndex(d => d.id === parseInt(req.params.id)); - if (droneIndex === -1) { + const id = parseInt(req.params.id); + const [result] = await pool.query('DELETE FROM drones WHERE id = ?', [id]); + if (result.affectedRows === 0) { return res.status(404).json({ success: false, message: '无人机不存在' }); } - - dronesData.splice(droneIndex, 1); - res.json({ success: true, message: '无人机删除成功' @@ -168,8 +177,286 @@ router.delete('/:id', authenticateToken, async (req, res) => { console.error('删除无人机失败:', error); res.status(500).json({ success: false, - message: '删除无人机失败' + message: '删除无人机失败', + error: error.message + }); + } +}); + +// 连接无人机(模拟WiFi连接) +router.put('/:id/connect', authenticateToken, async (req, res) => { + try { + const id = parseInt(req.params.id); + const [rows] = await pool.query('SELECT * FROM drones WHERE id = ?', [id]); + if (rows.length === 0) { + return res.status(404).json({ success: false, message: '无人机不存在' }); + } + const drone = rows[0]; + // 判断无人机类型 + if (drone.type && drone.type.toLowerCase() === 'tello') { + exec('python3 ./connect_tello.py', (error, stdout, stderr) => { + if (error) { + return res.status(500).json({ success: false, message: '连接脚本执行失败', error: stderr }); + } + if (stdout.includes('connected')) { + pool.query('UPDATE drones SET status = ? WHERE id = ?', ['connected', id]); + return res.json({ success: true, message: 'Tello无人机连接成功', data: { id, status: 'connected' } }); + } else { + return res.status(500).json({ success: false, message: 'Tello无人机连接失败', error: stdout }); + } + }); + } else { + return res.status(400).json({ success: false, message: `暂不支持该型号无人机的连接: ${drone.type}` }); + } + } catch (error) { + res.status(500).json({ success: false, message: '无人机连接失败', error: error.message }); + } +}); + +// 执行路径规划(模拟无人机行进) +router.post('/:id/execute-path', authenticateToken, async (req, res) => { + const id = parseInt(req.params.id); + const { pathPoints, speed, pathId } = req.body; // speed: 米/秒, pathId: 路径规划ID + if (!Array.isArray(pathPoints) || pathPoints.length < 2) { + return res.status(400).json({ success: false, message: '路径点无效' }); + } + try { + // 彻底清理旧的飞行状态 + if (droneFlightState[id] && droneFlightState[id].timer) { + clearTimeout(droneFlightState[id].timer); + } + delete droneFlightState[id]; + // 初始化飞行状态 + droneFlightState[id] = { + pathPoints: pathPoints, + speed: speed, + currIndex: 0, + currLat: pathPoints[0].lat, + currLng: pathPoints[0].lng, + nextIndex: 1, + timer: null, + paused: false, + pathId: pathId || null + }; + await pool.query('UPDATE drones SET status=?, latitude=?, longitude=?, last_heartbeat_at=NOW() WHERE id=?', ['flying', pathPoints[0].lat, pathPoints[0].lng, id]); + + // Haversine公式计算两点间距离(米) + function haversine(lat1, lng1, lat2, lng2) { + const toRad = deg => deg * Math.PI / 180; + const R = 6371000; // 地球半径(米) + const dLat = toRad(lat2 - lat1); + const dLng = toRad(lng2 - lng1); + const a = Math.sin(dLat/2) * Math.sin(dLat/2) + + Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * + Math.sin(dLng/2) * Math.sin(dLng/2); + const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); + return R * c; + } + + function interpolate(lat1, lng1, lat2, lng2, t) { + return { + lat: lat1 + (lat2 - lat1) * t, + lng: lng1 + (lng2 - lng1) * t + }; + } + + function isClose(a, b, epsilon = 1e-6) { + return Math.abs(a - b) < epsilon; + } + + // 优化:明确传递droneId和pathId + async function checkAndUpdateWaypointArrived(droneId, pathId) { + if (!pathId) return; + // 1. 查询无人机当前经纬度(从数据库) + const [droneRows] = await pool.query('SELECT latitude, longitude FROM drones WHERE id=?', [droneId]); + if (!droneRows.length) return; + const droneLat = droneRows[0].latitude; + const droneLng = droneRows[0].longitude; + // 2. 查询waypoints + const [rows] = await pool.query('SELECT waypoints FROM path_plans WHERE id=?', [pathId]); + if (!rows.length) return; + let waypoints; + try { + waypoints = typeof rows[0].waypoints === 'string' ? JSON.parse(rows[0].waypoints) : rows[0].waypoints; + } catch (e) { return; } + let updated = false; + for (let i = 0; i < waypoints.length; i++) { + if (!waypoints[i].arrived) { + const dist = haversine(droneLat, droneLng, waypoints[i].lat, waypoints[i].lng); + if (dist < 5) { // 5米内视为到达 + waypoints[i].arrived = true; + updated = true; + } + } + } + if (updated) { + await pool.query('UPDATE path_plans SET waypoints=? WHERE id=?', [JSON.stringify(waypoints), pathId]); + } + } + + async function moveStep() { + const state = droneFlightState[id]; + if (!state || state.paused) return; + if (state.nextIndex >= state.pathPoints.length) { + pool.query('UPDATE drones SET status=? WHERE id=?', ['paused', id]); + state.timer = null; + return; + } + const nextLat = state.pathPoints[state.nextIndex].lat; + const nextLng = state.pathPoints[state.nextIndex].lng; + let dist = haversine(state.currLat, state.currLng, nextLat, nextLng); + const step = state.speed * (1000 / 1000); // interval=1000ms + if (dist <= step) { + state.currLat = nextLat; + state.currLng = nextLng; + state.currIndex = state.nextIndex; + state.nextIndex++; + } else { + const t = step / dist; + const pos = interpolate(state.currLat, state.currLng, nextLat, nextLng, t); + state.currLat = pos.lat; + state.currLng = pos.lng; + } + pool.query( + 'UPDATE drones SET latitude=?, longitude=?, last_heartbeat_at=NOW(), status=? WHERE id=?', + [state.currLat, state.currLng, 'flying', id] + ); + pool.query( + 'INSERT INTO drone_tracks (drone_id, latitude, longitude) VALUES (?, ?, ?)', + [id, state.currLat, state.currLng] + ); + // 检查waypoint到达 + await checkAndUpdateWaypointArrived(id, state.pathId); + if (state.nextIndex < state.pathPoints.length || (!isClose(state.currLat, state.pathPoints[state.pathPoints.length-1].lat) || !isClose(state.currLng, state.pathPoints[state.pathPoints.length-1].lng))) { + state.timer = setTimeout(moveStep, 1000); + } else { + pool.query('UPDATE drones SET status=? WHERE id=?', ['paused', id]); + state.timer = null; + } + } + moveStep(); + res.json({ success: true, message: '无人机开始匀速执行路径规划', reachedTarget: false }); + } catch (error) { + res.status(500).json({ success: false, message: '执行路径规划失败', error: error.message }); + } +}); + +// 新增:暂停无人机模拟飞行 +router.post('/:id/pause', authenticateToken, async (req, res) => { + const id = parseInt(req.params.id); + try { + if (droneFlightState[id] && droneFlightState[id].timer) { + clearTimeout(droneFlightState[id].timer); + droneFlightState[id].timer = null; + droneFlightState[id].paused = true; + await pool.query('UPDATE drones SET status=? WHERE id=?', ['paused', id]); + res.json({ success: true, message: '无人机已暂停' }); + } else { + await pool.query('UPDATE drones SET status=? WHERE id=?', ['paused', id]); + res.json({ success: false, message: '无人机未在飞行,无需暂停' }); + } + } catch (error) { + res.status(500).json({ success: false, message: '暂停失败', error: error.message }); + } +}); + +// 新增:继续无人机模拟飞行 +router.post('/:id/resume', authenticateToken, async (req, res) => { + const id = parseInt(req.params.id); + try { + const state = droneFlightState[id]; + if (!state || !state.paused) { + return res.json({ success: false, message: '无人机未暂停或无法继续' }); + } + state.paused = false; + await pool.query('UPDATE drones SET status=? WHERE id=?', ['flying', id]); + function moveStep() { + if (!droneFlightState[id] || droneFlightState[id].paused) return; + const s = droneFlightState[id]; + if (s.nextIndex >= s.pathPoints.length) { + pool.query('UPDATE drones SET status=? WHERE id=?', ['paused', id]); + s.timer = null; + return; + } + const nextLat = s.pathPoints[s.nextIndex].lat; + const nextLng = s.pathPoints[s.nextIndex].lng; + let dist = Math.sqrt(Math.pow(nextLat - s.currLat, 2) + Math.pow(nextLng - s.currLng, 2)); + const step = s.speed * (1000 / 1000); + if (dist <= step) { + s.currLat = nextLat; + s.currLng = nextLng; + s.currIndex = s.nextIndex; + s.nextIndex++; + } else { + const t = step / dist; + const pos = { + lat: s.currLat + (nextLat - s.currLat) * t, + lng: s.currLng + (nextLng - s.currLng) * t + }; + s.currLat = pos.lat; + s.currLng = pos.lng; + } + pool.query( + 'UPDATE drones SET latitude=?, longitude=?, last_heartbeat_at=NOW(), status=? WHERE id=?', + [s.currLat, s.currLng, 'flying', id] + ); + pool.query( + 'INSERT INTO drone_tracks (drone_id, latitude, longitude) VALUES (?, ?, ?)', + [id, s.currLat, s.currLng] + ); + if (s.nextIndex < s.pathPoints.length || (!isClose(s.currLat, s.pathPoints[s.pathPoints.length-1].lat) || !isClose(s.currLng, s.pathPoints[s.pathPoints.length-1].lng))) { + s.timer = setTimeout(moveStep, 1000); + } else { + pool.query('UPDATE drones SET status=? WHERE id=?', ['paused', id]); + s.timer = null; + } + } + state.timer = setTimeout(moveStep, 1000); + res.json({ success: true, message: '无人机已继续飞行' }); + } catch (error) { + res.status(500).json({ success: false, message: '继续飞行失败', error: error.message }); + } +}); + +// 检测robmastertt连接 +router.post('/api/robmastertt/:id/connect', async (req, res) => { + const { id } = req.params; + try { + // 假设有getDroneById函数或直接查数据库 + const drone = await req.db.get('drones').findOne({ id: Number(id) }); + if (!drone || drone.type !== 'robmastertt') { + return res.json({ success: false, message: '未找到robmastertt类型无人机' }); + } + const ROBOT_IP = drone.target_ip || '192.168.2.1'; + const ROBOT_PORT = parseInt(drone.target_port) || 8888; + const client = dgram.createSocket('udp4'); + let isOk = false; + let timer; + client.on('message', (msg) => { + if (msg.toString().trim() === 'ok') { + isOk = true; + clearTimeout(timer); + client.close(); + return res.json({ success: true, message: 'robmastertt连接成功' }); + } + }); + // 超时处理 + timer = setTimeout(() => { + if (!isOk) { + client.close(); + return res.json({ success: false, message: '连接超时,无响应' }); + } + }, 2000); + // 发送command命令 + client.send('command', ROBOT_PORT, ROBOT_IP, (err) => { + if (err) { + clearTimeout(timer); + client.close(); + return res.json({ success: false, message: 'UDP发送失败' }); + } }); + } catch (e) { + return res.json({ success: false, message: '后端异常: ' + e.message }); } }); diff --git a/Src/command_center/web-command-center/backend/src/routes/pathPlanning.js b/Src/command_center/web-command-center/backend/src/routes/pathPlanning.js index 94b9e3cf..55603ac0 100644 --- a/Src/command_center/web-command-center/backend/src/routes/pathPlanning.js +++ b/Src/command_center/web-command-center/backend/src/routes/pathPlanning.js @@ -1702,29 +1702,62 @@ router.post('/', async (req, res) => { const startTime = Date.now() console.log('=== 改进版路径规划请求 ==='); console.log('请求数据:', JSON.stringify(req.body, null, 2)); - try { const { + droneId, // 新增:无人机ID startPoint, targetPoints, endPoint, // 兼容单目标 algorithm = 'astar', flightAltitude = 100, flightSpeed = 10, - threatZones = [] + threatZones = [], + pathId, // 新增:当前路径ID + newTargetPoints = [] // 新增:新加目标点 } = req.body; - - // 验证起点 - if (!startPoint || typeof startPoint.lng !== 'number' || typeof startPoint.lat !== 'number') { - return res.status(400).json({ - success: false, - message: '起点坐标无效' - }); + + let realStartPoint = startPoint; + // 新增逻辑:如果传入了droneId,且数据库中有该无人机的经纬度,则以无人机当前位置为起点 + if (droneId) { + const [droneRows] = await db.execute('SELECT latitude, longitude FROM drones WHERE id = ?', [droneId]); + if (droneRows.length > 0 && droneRows[0].latitude !== null && droneRows[0].longitude !== null) { + realStartPoint = { + lng: parseFloat(droneRows[0].longitude), + lat: parseFloat(droneRows[0].latitude), + altitude: flightAltitude + }; + console.log('以无人机当前位置为起点:', realStartPoint); + } else { + console.log('无人机无经纬度,仍以传入起点为起点'); + } } - - // 处理目标点(支持单目标和多目标) + + // ====== 新增:断点续飞+增量目标点 ===== let targets = []; - if (targetPoints && Array.isArray(targetPoints)) { + if (pathId) { + // 查询当前路径未到达的waypoints + const [rows] = await db.execute('SELECT waypoints FROM path_plans WHERE id = ?', [pathId]); + let unarrived = []; + if (rows.length > 0 && rows[0].waypoints) { + try { + const waypoints = typeof rows[0].waypoints === 'string' ? JSON.parse(rows[0].waypoints) : rows[0].waypoints; + unarrived = waypoints.filter(wp => !wp.arrived); + } catch (e) { unarrived = []; } + } + // 合并未到达目标点和新目标点,去重 + const allTargets = [...unarrived, ...(Array.isArray(newTargetPoints) ? newTargetPoints : [])]; + // 去重(按lng+lat) + const deduped = []; + const seen = new Set(); + for (const t of allTargets) { + const key = `${t.lng},${t.lat}`; + if (!seen.has(key)) { + deduped.push(t); + seen.add(key); + } + } + targets = deduped; + } else if (targetPoints && Array.isArray(targetPoints)) { targets = targetPoints; } else if (endPoint) { targets = [endPoint]; @@ -1735,17 +1768,20 @@ router.post('/', async (req, res) => { }); } - // 验证目标点 - for (let i = 0; i < targets.length; i++) { - const target = targets[i]; - if (!target || typeof target.lng !== 'number' || typeof target.lat !== 'number') { - return res.status(400).json({ - success: false, - message: `目标点${i + 1}坐标无效` - }); - } + // 验证起点 + if (!realStartPoint || typeof realStartPoint.lng !== 'number' || typeof realStartPoint.lat !== 'number') { + return res.status(400).json({ + success: false, + message: '起点坐标无效' + }); } + // 新增:输出所有初始点日志 + console.log('[路径规划输入] 起点:', realStartPoint); + console.log('[路径规划输入] 目标点:', targets); + + // 处理目标点(支持单目标和多目标),已合并到下方断点续飞逻辑 + console.log(`处理威胁区域数据: ${threatZones.length}个威胁区`); threatZones.forEach((zone, index) => { console.log(`威胁区${index + 1}:`, { @@ -1758,7 +1794,7 @@ router.post('/', async (req, res) => { }); // 添加高度信息 - const startWithAltitude = { ...startPoint, altitude: flightAltitude }; + const startWithAltitude = { ...realStartPoint, altitude: flightAltitude }; const targetsWithAltitude = targets.map(t => ({ ...t, altitude: flightAltitude })); // 执行改进的路径规划 @@ -1833,12 +1869,20 @@ router.post('/', async (req, res) => { const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548']; const randomColor = colors[Math.floor(Math.random() * colors.length)]; + // 构建waypoints数组,包含初始目标点和arrived状态 + const waypoints = targets.map(t => ({ + lng: t.lng, + lat: t.lat, + arrived: false, + ...(t.altitude !== undefined ? { altitude: t.altitude } : {}) + })); + // 保存到数据库 const pathData = { name: pathName, description: pathDescription, - start_latitude: startPoint.lat, - start_longitude: startPoint.lng, + start_latitude: realStartPoint.lat, // 修正为实际起点 + start_longitude: realStartPoint.lng, // 修正为实际起点 end_latitude: targets[targets.length - 1].lat, end_longitude: targets[targets.length - 1].lng, path_points: JSON.stringify(smoothedPath), // 保存平滑后的路径作为主要路径 @@ -1861,7 +1905,8 @@ router.post('/', async (req, res) => { status: 'planned', visibility: 'public', color: randomColor, - created_by: req.user?.id || null // 如果有用户认证信息 + created_by: req.user?.id || null, // 如果有用户认证信息 + waypoints: JSON.stringify(waypoints) }; const [insertResult] = await db.execute(` @@ -1870,15 +1915,15 @@ router.post('/', async (req, res) => { path_points, smoothed_path_points, original_path_points, algorithm, distance, estimated_time, flight_altitude, flight_speed, waypoint_count, threat_zones_avoided, threat_zones_passed, target_order, planning_options, status, visibility, color, - created_by, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) + created_by, waypoints, created_at, updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) `, [ pathData.name, pathData.description, pathData.start_latitude, pathData.start_longitude, pathData.end_latitude, pathData.end_longitude, pathData.path_points, pathData.smoothed_path_points, pathData.original_path_points, pathData.algorithm, pathData.distance, pathData.estimated_time, pathData.flight_altitude, pathData.flight_speed, pathData.waypoint_count, pathData.threat_zones_avoided, pathData.threat_zones_passed, pathData.target_order, pathData.planning_options, pathData.status, - pathData.visibility, pathData.color, pathData.created_by + pathData.visibility, pathData.color, pathData.created_by, pathData.waypoints ]); // 记录成功日志 @@ -1916,7 +1961,8 @@ router.post('/', async (req, res) => { waypoint_count: smoothedPath.length, color: randomColor, threat_zones_avoided: result.threatZonesAvoided || [], - threat_zones_passed: result.threatZonesPassed || [] + threat_zones_passed: result.threatZonesPassed || [], + waypoints: waypoints }, details: { totalDistance: result.distance, diff --git a/Src/command_center/web-command-center/database/init.sql b/Src/command_center/web-command-center/database/init.sql index 6894d6f7..90b9ae38 100644 --- a/Src/command_center/web-command-center/database/init.sql +++ b/Src/command_center/web-command-center/database/init.sql @@ -371,6 +371,40 @@ FROM path_plans GROUP BY algorithm, status ORDER BY algorithm, status; +-- ============================================ +-- 7. 无人机信息表 +-- ============================================ + +DROP TABLE IF EXISTS drones; +CREATE TABLE drones ( + id INT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(100) NOT NULL COMMENT '无人机名称', + type VARCHAR(100) NOT NULL COMMENT '无人机类型/型号', + serial_number VARCHAR(100) NOT NULL UNIQUE COMMENT '无人机序列号', + app_key VARCHAR(255) NOT NULL COMMENT 'DJI App Key', + app_secret VARCHAR(255) NOT NULL COMMENT 'DJI App Secret', + description TEXT DEFAULT NULL COMMENT '备注/描述', + latitude DECIMAL(10,7) DEFAULT NULL COMMENT '当前纬度', + longitude DECIMAL(10,7) DEFAULT NULL COMMENT '当前经度', + battery INT DEFAULT NULL COMMENT '当前电量百分比', + status ENUM('connected','disconnected','flying','paused') NOT NULL DEFAULT 'disconnected' COMMENT '无人机状态', + last_heartbeat_at TIMESTAMP NULL COMMENT '最后一次收到消息时间', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='无人机信息表'; + +-- ============================================ +-- 8. 无人机历史轨迹表 +-- ============================================ +CREATE TABLE IF NOT EXISTS drone_tracks ( + id INT PRIMARY KEY AUTO_INCREMENT, + drone_id INT NOT NULL, + latitude DECIMAL(10,7) NOT NULL, + longitude DECIMAL(10,7) NOT NULL, + recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (drone_id) REFERENCES drones(id) ON DELETE CASCADE +) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='无人机历史轨迹点'; + -- ============================================ -- 初始化完成 -- ============================================ diff --git a/Src/command_center/web-command-center/database/ulter.sql b/Src/command_center/web-command-center/database/ulter.sql new file mode 100644 index 00000000..541eb0a5 --- /dev/null +++ b/Src/command_center/web-command-center/database/ulter.sql @@ -0,0 +1,2 @@ +ALTER TABLE path_plans +ADD COLUMN waypoints JSON NULL; \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00093415cd62f384f7f163595463fbcab1d9c52a222dd8f2164506d33b900610.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00093415cd62f384f7f163595463fbcab1d9c52a222dd8f2164506d33b900610.json new file mode 100644 index 00000000..c897bc27 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00093415cd62f384f7f163595463fbcab1d9c52a222dd8f2164506d33b900610.json @@ -0,0 +1 @@ +{"ast":null,"code":"const DROPDOWN_INJECTION_KEY = Symbol(\"elDropdown\");\nconst DROPDOWN_INSTANCE_INJECTION_KEY = \"elDropdown\";\nexport { DROPDOWN_INJECTION_KEY, DROPDOWN_INSTANCE_INJECTION_KEY };","map":{"version":3,"names":["DROPDOWN_INJECTION_KEY","Symbol","DROPDOWN_INSTANCE_INJECTION_KEY"],"sources":["../../../../../../packages/components/dropdown/src/tokens.ts"],"sourcesContent":["import { PopperProps } from '@element-plus/components/popper'\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\n\nexport type ElDropdownInjectionContext = {\n contentRef: Ref\n role: ComputedRef\n triggerId: ComputedRef\n isUsingKeyboard: Ref\n onItemLeave: (e: PointerEvent) => void\n onItemEnter: (e: PointerEvent) => void\n}\n\nexport const DROPDOWN_INJECTION_KEY: InjectionKey =\n Symbol('elDropdown')\n\nexport const DROPDOWN_INSTANCE_INJECTION_KEY = 'elDropdown'\n"],"mappings":"AAAY,MAACA,sBAAsB,GAAGC,MAAM,CAAC,YAAY;AAC7C,MAACC,+BAA+B,GAAG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/003e3ec0d5a9798c05705e98d158db52a21d6bfd36b833d9694229ce9b11455f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/003e3ec0d5a9798c05705e98d158db52a21d6bfd36b833d9694229ce9b11455f.json new file mode 100644 index 00000000..e632140b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/003e3ec0d5a9798c05705e98d158db52a21d6bfd36b833d9694229ce9b11455f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import escapeHtmlChar from './_escapeHtmlChar.js';\nimport toString from './toString.js';\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"']/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = toString(string);\n return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string;\n}\nexport default escape;","map":{"version":3,"names":["escapeHtmlChar","toString","reUnescapedHtml","reHasUnescapedHtml","RegExp","source","escape","string","test","replace"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/escape.js"],"sourcesContent":["import escapeHtmlChar from './_escapeHtmlChar.js';\nimport toString from './toString.js';\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"']/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n}\n\nexport default escape;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,sBAAsB;AACjD,OAAOC,QAAQ,MAAM,eAAe;;AAEpC;AACA,IAAIC,eAAe,GAAG,UAAU;EAC5BC,kBAAkB,GAAGC,MAAM,CAACF,eAAe,CAACG,MAAM,CAAC;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,MAAM,EAAE;EACtBA,MAAM,GAAGN,QAAQ,CAACM,MAAM,CAAC;EACzB,OAAQA,MAAM,IAAIJ,kBAAkB,CAACK,IAAI,CAACD,MAAM,CAAC,GAC7CA,MAAM,CAACE,OAAO,CAACP,eAAe,EAAEF,cAAc,CAAC,GAC/CO,MAAM;AACZ;AAEA,eAAeD,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/005e17c6836a3e4fdbaf1752b04118662a84f6f19b54fdd05d5efb81d0797bfb.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/005e17c6836a3e4fdbaf1752b04118662a84f6f19b54fdd05d5efb81d0797bfb.json new file mode 100644 index 00000000..61ec6482 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/005e17c6836a3e4fdbaf1752b04118662a84f6f19b54fdd05d5efb81d0797bfb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps } from '../../../../utils/vue/props/runtime.mjs';\nimport { componentSizes } from '../../../../constants/size.mjs';\nconst paginationJumperProps = buildProps({\n size: {\n type: String,\n values: componentSizes\n }\n});\nexport { paginationJumperProps };","map":{"version":3,"names":["paginationJumperProps","buildProps","size","type","String","values","componentSizes"],"sources":["../../../../../../../packages/components/pagination/src/components/jumper.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Jumper from './jumper.vue'\n\nexport const paginationJumperProps = buildProps({\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\n\nexport type PaginationJumperProps = ExtractPropTypes<\n typeof paginationJumperProps\n>\n\nexport type PaginationJumperInstance = InstanceType & unknown\n"],"mappings":";;AAEY,MAACA,qBAAqB,GAAGC,UAAU,CAAC;EAC9CC,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAM;IACZC,MAAM,EAAEC;EACZ;AACA,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/006bb0ee53795fc7515d230a533765e922672b8caff19e386948bb7f7d41a4a5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/006bb0ee53795fc7515d230a533765e922672b8caff19e386948bb7f7d41a4a5.json new file mode 100644 index 00000000..c9c0ad1b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/006bb0ee53795fc7515d230a533765e922672b8caff19e386948bb7f7d41a4a5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { h } from 'vue';\nimport { ElCheckbox } from '../../checkbox/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { ArrowRight, Loading } from '@element-plus/icons-vue';\nimport { isNumber, isBoolean } from '../../../utils/types.mjs';\nimport { isFunction } from '@vue/shared';\nimport { getProp } from '../../../utils/objects.mjs';\nconst defaultClassNames = {\n selection: \"table-column--selection\",\n expand: \"table__expand-column\"\n};\nconst cellStarts = {\n default: {\n order: \"\"\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: \"\"\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: \"\"\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: \"\"\n }\n};\nconst getDefaultClassName = type => {\n return defaultClassNames[type] || \"\";\n};\nconst cellForced = {\n selection: {\n renderHeader({\n store,\n column\n }) {\n function isDisabled() {\n return store.states.data.value && store.states.data.value.length === 0;\n }\n return h(ElCheckbox, {\n disabled: isDisabled(),\n size: store.states.tableSize.value,\n indeterminate: store.states.selection.value.length > 0 && !store.states.isAllSelected.value,\n \"onUpdate:modelValue\": store.toggleAllSelection,\n modelValue: store.states.isAllSelected.value,\n ariaLabel: column.label\n });\n },\n renderCell({\n row,\n column,\n store,\n $index\n }) {\n return h(ElCheckbox, {\n disabled: column.selectable ? !column.selectable.call(null, row, $index) : false,\n size: store.states.tableSize.value,\n onChange: () => {\n store.commit(\"rowSelectedChanged\", row);\n },\n onClick: event => event.stopPropagation(),\n modelValue: store.isSelected(row),\n ariaLabel: column.label\n });\n },\n sortable: false,\n resizable: false\n },\n index: {\n renderHeader({\n column\n }) {\n return column.label || \"#\";\n },\n renderCell({\n column,\n $index\n }) {\n let i = $index + 1;\n const index = column.index;\n if (isNumber(index)) {\n i = $index + index;\n } else if (isFunction(index)) {\n i = index($index);\n }\n return h(\"div\", {}, [i]);\n },\n sortable: false\n },\n expand: {\n renderHeader({\n column\n }) {\n return column.label || \"\";\n },\n renderCell({\n column,\n row,\n store,\n expanded\n }) {\n const {\n ns\n } = store;\n const classes = [ns.e(\"expand-icon\")];\n if (!column.renderExpand && expanded) {\n classes.push(ns.em(\"expand-icon\", \"expanded\"));\n }\n const callback = function (e) {\n e.stopPropagation();\n store.toggleRowExpansion(row);\n };\n return h(\"div\", {\n class: classes,\n onClick: callback\n }, {\n default: () => {\n if (column.renderExpand) {\n return [column.renderExpand({\n expanded\n })];\n }\n return [h(ElIcon, null, {\n default: () => {\n return [h(ArrowRight)];\n }\n })];\n }\n });\n },\n sortable: false,\n resizable: false\n }\n};\nfunction defaultRenderCell({\n row,\n column,\n $index\n}) {\n var _a;\n const property = column.property;\n const value = property && getProp(row, property).value;\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index);\n }\n return ((_a = value == null ? void 0 : value.toString) == null ? void 0 : _a.call(value)) || \"\";\n}\nfunction treeCellPrefix({\n row,\n treeNode,\n store\n}, createPlaceholder = false) {\n const {\n ns\n } = store;\n if (!treeNode) {\n if (createPlaceholder) {\n return [h(\"span\", {\n class: ns.e(\"placeholder\")\n })];\n }\n return null;\n }\n const ele = [];\n const callback = function (e) {\n e.stopPropagation();\n if (treeNode.loading) {\n return;\n }\n store.loadOrToggle(row);\n };\n if (treeNode.indent) {\n ele.push(h(\"span\", {\n class: ns.e(\"indent\"),\n style: {\n \"padding-left\": `${treeNode.indent}px`\n }\n }));\n }\n if (isBoolean(treeNode.expanded) && !treeNode.noLazyChildren) {\n const expandClasses = [ns.e(\"expand-icon\"), treeNode.expanded ? ns.em(\"expand-icon\", \"expanded\") : \"\"];\n let icon = ArrowRight;\n if (treeNode.loading) {\n icon = Loading;\n }\n ele.push(h(\"div\", {\n class: expandClasses,\n onClick: callback\n }, {\n default: () => {\n return [h(ElIcon, {\n class: {\n [ns.is(\"loading\")]: treeNode.loading\n }\n }, {\n default: () => [h(icon)]\n })];\n }\n }));\n } else {\n ele.push(h(\"span\", {\n class: ns.e(\"placeholder\")\n }));\n }\n return ele;\n}\nexport { cellForced, cellStarts, defaultRenderCell, getDefaultClassName, treeCellPrefix };","map":{"version":3,"names":["defaultClassNames","selection","expand","cellStarts","default","order","width","minWidth","realWidth","index","getDefaultClassName","type","cellForced","renderHeader","store","column","isDisabled","states","data","value","length","h","ElCheckbox","disabled","size","tableSize","indeterminate","isAllSelected","toggleAllSelection","modelValue","ariaLabel","label","renderCell","row","$index","selectable","call","onChange","commit","onClick","event","stopPropagation","isSelected","sortable","resizable","i","isNumber","isFunction","expanded","ns","classes","e","renderExpand","push","em","callback","toggleRowExpansion","class","ElIcon","ArrowRight","defaultRenderCell","_a","property","getProp","formatter","toString","treeCellPrefix","treeNode","createPlaceholder","ele","loading","loadOrToggle","indent","style","isBoolean","noLazyChildren","expandClasses","icon","Loading","is"],"sources":["../../../../../../packages/components/table/src/config.ts"],"sourcesContent":["// @ts-nocheck\nimport { h } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowRight, Loading } from '@element-plus/icons-vue'\nimport { getProp, isBoolean, isFunction, isNumber } from '@element-plus/utils'\n\nimport type { VNode } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { Store } from './store'\nimport type { TreeNode } from './table/defaults'\n\nconst defaultClassNames = {\n selection: 'table-column--selection',\n expand: 'table__expand-column',\n}\n\nexport const cellStarts = {\n default: {\n order: '',\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n}\n\nexport const getDefaultClassName = (type) => {\n return defaultClassNames[type] || ''\n}\n\n// 这些选项不应该被覆盖\nexport const cellForced = {\n selection: {\n renderHeader({ store, column }: { store: Store }) {\n function isDisabled() {\n return store.states.data.value && store.states.data.value.length === 0\n }\n return h(ElCheckbox, {\n disabled: isDisabled(),\n size: store.states.tableSize.value,\n indeterminate:\n store.states.selection.value.length > 0 &&\n !store.states.isAllSelected.value,\n 'onUpdate:modelValue': store.toggleAllSelection,\n modelValue: store.states.isAllSelected.value,\n ariaLabel: column.label,\n })\n },\n renderCell({\n row,\n column,\n store,\n $index,\n }: {\n row: T\n column: TableColumnCtx\n store: Store\n $index: string\n }) {\n return h(ElCheckbox, {\n disabled: column.selectable\n ? !column.selectable.call(null, row, $index)\n : false,\n size: store.states.tableSize.value,\n onChange: () => {\n store.commit('rowSelectedChanged', row)\n },\n onClick: (event: Event) => event.stopPropagation(),\n modelValue: store.isSelected(row),\n ariaLabel: column.label,\n })\n },\n sortable: false,\n resizable: false,\n },\n index: {\n renderHeader({ column }: { column: TableColumnCtx }) {\n return column.label || '#'\n },\n renderCell({\n column,\n $index,\n }: {\n column: TableColumnCtx\n $index: number\n }) {\n let i = $index + 1\n const index = column.index\n\n if (isNumber(index)) {\n i = $index + index\n } else if (isFunction(index)) {\n i = index($index)\n }\n return h('div', {}, [i])\n },\n sortable: false,\n },\n expand: {\n renderHeader({ column }: { column: TableColumnCtx }) {\n return column.label || ''\n },\n renderCell({\n column,\n row,\n store,\n expanded,\n }: {\n column: TableColumnCtx\n row: T\n store: Store\n expanded: boolean\n }) {\n const { ns } = store\n const classes = [ns.e('expand-icon')]\n\n if (!column.renderExpand && expanded) {\n classes.push(ns.em('expand-icon', 'expanded'))\n }\n const callback = function (e: Event) {\n e.stopPropagation()\n store.toggleRowExpansion(row)\n }\n return h(\n 'div',\n {\n class: classes,\n onClick: callback,\n },\n {\n default: () => {\n if (column.renderExpand) {\n return [\n column.renderExpand({\n expanded,\n }),\n ]\n }\n\n return [\n h(ElIcon, null, {\n default: () => {\n return [h(ArrowRight)]\n },\n }),\n ]\n },\n }\n )\n },\n sortable: false,\n resizable: false,\n },\n}\n\nexport function defaultRenderCell({\n row,\n column,\n $index,\n}: {\n row: T\n column: TableColumnCtx\n $index: number\n}) {\n const property = column.property\n const value = property && getProp(row, property).value\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index)\n }\n return value?.toString?.() || ''\n}\n\nexport function treeCellPrefix(\n {\n row,\n treeNode,\n store,\n }: {\n row: T\n treeNode: TreeNode\n store: Store\n },\n createPlaceholder = false\n) {\n const { ns } = store\n if (!treeNode) {\n if (createPlaceholder) {\n return [\n h('span', {\n class: ns.e('placeholder'),\n }),\n ]\n }\n return null\n }\n const ele: VNode[] = []\n const callback = function (e) {\n e.stopPropagation()\n if (treeNode.loading) {\n return\n }\n store.loadOrToggle(row)\n }\n if (treeNode.indent) {\n ele.push(\n h('span', {\n class: ns.e('indent'),\n style: { 'padding-left': `${treeNode.indent}px` },\n })\n )\n }\n if (isBoolean(treeNode.expanded) && !treeNode.noLazyChildren) {\n const expandClasses = [\n ns.e('expand-icon'),\n treeNode.expanded ? ns.em('expand-icon', 'expanded') : '',\n ]\n let icon = ArrowRight\n if (treeNode.loading) {\n icon = Loading\n }\n\n ele.push(\n h(\n 'div',\n {\n class: expandClasses,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(\n ElIcon,\n { class: { [ns.is('loading')]: treeNode.loading } },\n {\n default: () => [h(icon)],\n }\n ),\n ]\n },\n }\n )\n )\n } else {\n ele.push(\n h('span', {\n class: ns.e('placeholder'),\n })\n )\n }\n return ele\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/008053a72c47d694e3ad76506354174e0d06d630c281a1d765aeb762a126081c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/008053a72c47d694e3ad76506354174e0d06d630c281a1d765aeb762a126081c.json new file mode 100644 index 00000000..42779096 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/008053a72c47d694e3ad76506354174e0d06d630c281a1d765aeb762a126081c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import toString from './toString.js';\n\n/**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\nfunction replace() {\n var args = arguments,\n string = toString(args[0]);\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n}\nexport default replace;","map":{"version":3,"names":["toString","replace","args","arguments","string","length"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/replace.js"],"sourcesContent":["import toString from './toString.js';\n\n/**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\nfunction replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n}\n\nexport default replace;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,eAAe;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAAA,EAAG;EACjB,IAAIC,IAAI,GAAGC,SAAS;IAChBC,MAAM,GAAGJ,QAAQ,CAACE,IAAI,CAAC,CAAC,CAAC,CAAC;EAE9B,OAAOA,IAAI,CAACG,MAAM,GAAG,CAAC,GAAGD,MAAM,GAAGA,MAAM,CAACH,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;AACpE;AAEA,eAAeD,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/009731b6ce78c0e90f749e162441e94551035ac07c87343d6660e27c09ffaacd.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/009731b6ce78c0e90f749e162441e94551035ac07c87343d6660e27c09ffaacd.json new file mode 100644 index 00000000..b6ce4bd7 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/009731b6ce78c0e90f749e162441e94551035ac07c87343d6660e27c09ffaacd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nimport axios from 'axios';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const droneMarkers = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.ControlBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving', 'AMap.PolyEditor']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 20,\n center: [113.0434, 28.2592],\n // 精确定位到指定坐标\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n\n // 添加3D控制条,用于控制3D视图的旋转、倾斜等\n const controlBar = new AMap.ControlBar({\n position: {\n top: '80px',\n right: '10px'\n },\n showZoomBar: false,\n showControlButton: true\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n mapInstance.value.addControl(controlBar);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n console.log('地图初始化完成');\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 确保其他已启用的图层在卫星图层之上显示\n updateOverlayLayers();\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 确保其他已启用的图层在暗色地图上正确显示\n updateOverlayLayers();\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 确保其他已启用的图层在标准地图上正确显示\n updateOverlayLayers();\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n console.log('更新图层状态:', overlayLayers.value);\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n }\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n }\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n }\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n\n // 天气图层\n if (overlayLayers.value.includes('weather')) {\n // 显示天气信息\n showWeatherInfo();\n } else {\n // 隐藏天气信息\n hideWeatherInfo();\n }\n\n // 威胁区域图层\n if (overlayLayers.value.includes('threats')) {\n // 威胁区域图层处理逻辑\n console.log('威胁区域图层暂未实现');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 显示天气信息\n const showWeatherInfo = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 如果已有天气信息标记,先清除\n if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) {\n layerInstances.value.weatherMarkers.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n }\n\n // 初始化天气标记数组\n layerInstances.value.weatherMarkers = [];\n\n // 创建天气查询服务(如果不存在)\n if (!layerInstances.value.weatherService) {\n layerInstances.value.weatherService = new window.AMap.Weather();\n }\n\n // 主要城市天气信息\n const cities = [{\n name: '北京',\n position: [116.397428, 39.90923]\n }, {\n name: '上海',\n position: [121.473667, 31.230525]\n }, {\n name: '广州',\n position: [113.264385, 23.129112]\n }, {\n name: '深圳',\n position: [114.057868, 22.543099]\n }, {\n name: '成都',\n position: [104.065735, 30.659462]\n }];\n\n // 查询每个城市的天气\n cities.forEach(city => {\n layerInstances.value.weatherService.getLive(city.name, (err, data) => {\n if (!err && data) {\n // 创建天气信息内容\n const weatherInfo = `\n
\n

${city.name}天气

\n

天气: ${data.weather}

\n

温度: ${data.temperature}°C

\n

风向: ${data.windDirection}

\n

风力: ${data.windPower}

\n

湿度: ${data.humidity}%

\n
\n `;\n\n // 创建天气图标\n const weatherIcon = getWeatherIcon(data.weather);\n\n // 创建标记\n const marker = new window.AMap.Marker({\n position: city.position,\n content: `
${weatherIcon}
`,\n offset: new window.AMap.Pixel(-15, -15),\n zIndex: 120,\n title: `${city.name}天气: ${data.weather}, ${data.temperature}°C`\n });\n\n // 创建信息窗体\n const infoWindow = new window.AMap.InfoWindow({\n content: weatherInfo,\n offset: new window.AMap.Pixel(0, -30)\n });\n\n // 绑定点击事件\n marker.on('click', () => {\n infoWindow.open(mapInstance.value, city.position);\n });\n\n // 添加到地图\n mapInstance.value.add(marker);\n\n // 保存标记引用\n layerInstances.value.weatherMarkers.push(marker);\n }\n });\n });\n console.log('已添加天气信息图层');\n } catch (error) {\n console.error('天气图层添加失败:', error);\n }\n };\n\n // 隐藏天气信息\n const hideWeatherInfo = () => {\n if (!mapInstance.value) return;\n\n // 移除所有天气标记\n if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) {\n layerInstances.value.weatherMarkers.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n layerInstances.value.weatherMarkers = [];\n console.log('已移除天气信息图层');\n }\n };\n\n // 获取天气图标\n const getWeatherIcon = weather => {\n // 根据天气状况返回不同的图标\n const icons = {\n '晴': '',\n '多云': '',\n '阴': '',\n '雨': '',\n '雪': ''\n };\n\n // 匹配天气关键词\n for (const key in icons) {\n if (weather.includes(key)) {\n return icons[key];\n }\n }\n\n // 默认图标\n return '天气';\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n\n // 定时轮询无人机位置并渲染/移动Marker\n const updateDroneMarkers = async () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n const drones = res.data.data;\n drones.forEach(drone => {\n if (drone.latitude && drone.longitude) {\n const position = [drone.longitude, drone.latitude];\n if (!droneMarkers.value[drone.id]) {\n // 创建无人机Marker\n droneMarkers.value[drone.id] = new window.AMap.Marker({\n position,\n map: mapInstance.value,\n icon: new window.AMap.Icon({\n image: require('@/assets/drone.svg'),\n size: new window.AMap.Size(40, 40),\n imageSize: new window.AMap.Size(40, 40)\n }),\n offset: new window.AMap.Pixel(-20, -20),\n title: drone.name + '(' + drone.status + ')'\n });\n } else {\n // 平滑移动\n droneMarkers.value[drone.id].setPosition(position);\n droneMarkers.value[drone.id].setTitle(drone.name + '(' + drone.status + ')');\n }\n } else if (droneMarkers.value[drone.id]) {\n // 无经纬度时移除Marker\n mapInstance.value.remove(droneMarkers.value[drone.id]);\n delete droneMarkers.value[drone.id];\n }\n });\n }\n } catch (e) {\n // 忽略错误\n }\n };\n\n // 启动定时器\n let droneTimer = null;\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n droneTimer = setInterval(updateDroneMarkers, 1000);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n if (droneTimer) clearInterval(droneTimer);\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","axios","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","viewMode","currentMapStyle","overlayLayers","layerInstances","droneMarkers","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","controlBar","ControlBar","showZoomBar","showControlButton","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","message","changeMapStyle","style","add","remove","setMapStyle","changeViewMode","setViewMode","setPitch","terrain","getTileUrl","x","y","z","showWeatherInfo","hideWeatherInfo","weatherMarkers","length","forEach","marker","cities","city","weatherInfo","temperature","windDirection","windPower","humidity","weatherIcon","getWeatherIcon","Marker","content","offset","Pixel","title","infoWindow","InfoWindow","open","push","icons","resizeHandler","resize","updateDroneMarkers","token","localStorage","getItem","res","get","headers","Authorization","success","drones","drone","latitude","longitude","id","map","icon","Icon","image","require","size","Size","imageSize","status","setPosition","setTitle","droneTimer","addEventListener","setInterval","removeEventListener","destroy","clearInterval","getMap"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00a0042faccce41aa9f90893ed85f743866700b8c5d7864b4cee222aae325303.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00a0042faccce41aa9f90893ed85f743866700b8c5d7864b4cee222aae325303.json new file mode 100644 index 00000000..fce2b547 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00a0042faccce41aa9f90893ed85f743866700b8c5d7864b4cee222aae325303.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isClient } from '@vueuse/core';\nexport { isClient, isIOS } from '@vueuse/core';\nconst isFirefox = () => isClient && /firefox/i.test(window.navigator.userAgent);\nexport { isFirefox };","map":{"version":3,"names":["isFirefox","isClient","test","window","navigator","userAgent"],"sources":["../../../../packages/utils/browser.ts"],"sourcesContent":["import { isClient, isIOS } from '@vueuse/core'\n\nexport const isFirefox = (): boolean =>\n isClient && /firefox/i.test(window.navigator.userAgent)\n\nexport { isClient, isIOS }\n"],"mappings":";;AACY,MAACA,SAAS,GAAGA,CAAA,KAAMC,QAAQ,IAAI,UAAU,CAACC,IAAI,CAACC,MAAM,CAACC,SAAS,CAACC,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00baa4dcf8c588d5865f8f5753dbab218b531784b19960e7f6dff8c6bd7ea02c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00baa4dcf8c588d5865f8f5753dbab218b531784b19960e7f6dff8c6bd7ea02c.json new file mode 100644 index 00000000..627e0644 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00baa4dcf8c588d5865f8f5753dbab218b531784b19960e7f6dff8c6bd7ea02c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\nimport isPlainObject from './isPlainObject.js';\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag || typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value);\n}\nexport default isError;","map":{"version":3,"names":["baseGetTag","isObjectLike","isPlainObject","domExcTag","errorTag","isError","value","tag","message","name"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isError.js"],"sourcesContent":["import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\nimport isPlainObject from './isPlainObject.js';\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n}\n\nexport default isError;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,OAAOC,aAAa,MAAM,oBAAoB;;AAE9C;AACA,IAAIC,SAAS,GAAG,uBAAuB;EACnCC,QAAQ,GAAG,gBAAgB;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,KAAK,EAAE;EACtB,IAAI,CAACL,YAAY,CAACK,KAAK,CAAC,EAAE;IACxB,OAAO,KAAK;EACd;EACA,IAAIC,GAAG,GAAGP,UAAU,CAACM,KAAK,CAAC;EAC3B,OAAOC,GAAG,IAAIH,QAAQ,IAAIG,GAAG,IAAIJ,SAAS,IACvC,OAAOG,KAAK,CAACE,OAAO,IAAI,QAAQ,IAAI,OAAOF,KAAK,CAACG,IAAI,IAAI,QAAQ,IAAI,CAACP,aAAa,CAACI,KAAK,CAAE;AAChG;AAEA,eAAeD,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00ebfe1a7c519d5239b60b3234c69fbad0a71ac76d5e4a3f47fa9def7d1b2499.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00ebfe1a7c519d5239b60b3234c69fbad0a71ac76d5e4a3f47fa9def7d1b2499.json new file mode 100644 index 00000000..91c7a7d1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00ebfe1a7c519d5239b60b3234c69fbad0a71ac76d5e4a3f47fa9def7d1b2499.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { get, set } from 'lodash-unified';\nexport { hasOwn } from '@vue/shared';\nconst keysOf = arr => Object.keys(arr);\nconst entriesOf = arr => Object.entries(arr);\nconst getProp = (obj, path, defaultValue) => {\n return {\n get value() {\n return get(obj, path, defaultValue);\n },\n set value(val) {\n set(obj, path, val);\n }\n };\n};\nexport { entriesOf, getProp, keysOf };","map":{"version":3,"names":["keysOf","arr","Object","keys","entriesOf","entries","getProp","obj","path","defaultValue","value","get","val","set"],"sources":["../../../../packages/utils/objects.ts"],"sourcesContent":["import { get, set } from 'lodash-unified'\nimport type { Entries } from 'type-fest'\nimport type { Arrayable } from '.'\n\nexport const keysOf = (arr: T) =>\n Object.keys(arr) as Array\nexport const entriesOf = (arr: T) =>\n Object.entries(arr) as Entries\nexport { hasOwn } from '@vue/shared'\n\nexport const getProp = (\n obj: Record,\n path: Arrayable,\n defaultValue?: any\n): { value: T } => {\n return {\n get value() {\n return get(obj, path, defaultValue)\n },\n set value(val: any) {\n set(obj, path, val)\n },\n }\n}\n"],"mappings":";;AACY,MAACA,MAAM,GAAIC,GAAG,IAAKC,MAAM,CAACC,IAAI,CAACF,GAAG;AAClC,MAACG,SAAS,GAAIH,GAAG,IAAKC,MAAM,CAACG,OAAO,CAACJ,GAAG;AAExC,MAACK,OAAO,GAAGA,CAACC,GAAG,EAAEC,IAAI,EAAEC,YAAY,KAAK;EAClD,OAAO;IACL,IAAIC,KAAKA,CAAA,EAAG;MACV,OAAOC,GAAG,CAACJ,GAAG,EAAEC,IAAI,EAAEC,YAAY,CAAC;IACzC,CAAK;IACD,IAAIC,KAAKA,CAACE,GAAG,EAAE;MACbC,GAAG,CAACN,GAAG,EAAEC,IAAI,EAAEI,GAAG,CAAC;IACzB;EACA,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00ece7a8143f1f049c1062bbcf964e93ad7c4595e7a41611699c748aed491797.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00ece7a8143f1f049c1062bbcf964e93ad7c4595e7a41611699c748aed491797.json new file mode 100644 index 00000000..62bcb20e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/00ece7a8143f1f049c1062bbcf964e93ad7c4595e7a41611699c748aed491797.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, withModifiers as _withModifiers, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\";\nconst _hoisted_1 = {\n class: \"path-planning-panel\"\n};\nconst _hoisted_2 = {\n class: \"card-header\"\n};\nconst _hoisted_3 = {\n class: \"section\"\n};\nconst _hoisted_4 = {\n class: \"section\"\n};\nconst _hoisted_5 = {\n class: \"planning-info\"\n};\nconst _hoisted_6 = {\n class: \"mode-buttons\"\n};\nconst _hoisted_7 = {\n class: \"history-buttons\",\n style: {\n \"margin-bottom\": \"10px\"\n }\n};\nconst _hoisted_8 = {\n class: \"path-points-list\"\n};\nconst _hoisted_9 = {\n class: \"point-info\"\n};\nconst _hoisted_10 = {\n class: \"point-coords\"\n};\nconst _hoisted_11 = {\n class: \"point-type\"\n};\nconst _hoisted_12 = {\n key: 0,\n class: \"empty-hint\"\n};\nconst _hoisted_13 = {\n key: 1,\n class: \"hint\"\n};\nconst _hoisted_14 = {\n key: 2,\n class: \"summary\"\n};\nconst _hoisted_15 = {\n class: \"section\"\n};\nconst _hoisted_16 = {\n key: 0,\n class: \"section\"\n};\nconst _hoisted_17 = {\n class: \"path-info\"\n};\nconst _hoisted_18 = {\n class: \"info-item\"\n};\nconst _hoisted_19 = {\n class: \"value\"\n};\nconst _hoisted_20 = {\n class: \"info-item\"\n};\nconst _hoisted_21 = {\n class: \"value\"\n};\nconst _hoisted_22 = {\n class: \"info-item\"\n};\nconst _hoisted_23 = {\n class: \"value\"\n};\nconst _hoisted_24 = {\n class: \"info-item\"\n};\nconst _hoisted_25 = {\n class: \"value\"\n};\nconst _hoisted_26 = {\n key: 0,\n class: \"info-item threat-avoided\"\n};\nconst _hoisted_27 = {\n class: \"value\"\n};\nconst _hoisted_28 = {\n key: 1,\n class: \"info-item\"\n};\nconst _hoisted_29 = {\n class: \"section\"\n};\nconst _hoisted_30 = {\n class: \"map-controls\"\n};\nconst _hoisted_31 = {\n class: \"history-dialog-content\"\n};\nconst _hoisted_32 = {\n class: \"filter-section\"\n};\nconst _hoisted_33 = {\n class: \"history-paths-list\"\n};\nconst _hoisted_34 = [\"onClick\"];\nconst _hoisted_35 = {\n class: \"path-header\"\n};\nconst _hoisted_36 = {\n class: \"path-info\"\n};\nconst _hoisted_37 = {\n class: \"path-name\"\n};\nconst _hoisted_38 = {\n class: \"name\"\n};\nconst _hoisted_39 = {\n class: \"path-meta\"\n};\nconst _hoisted_40 = {\n class: \"distance\"\n};\nconst _hoisted_41 = {\n class: \"waypoints\"\n};\nconst _hoisted_42 = {\n class: \"algorithm\"\n};\nconst _hoisted_43 = {\n class: \"path-actions\"\n};\nconst _hoisted_44 = {\n key: 0,\n class: \"path-description\"\n};\nconst _hoisted_45 = {\n class: \"path-footer\"\n};\nconst _hoisted_46 = {\n class: \"created-time\"\n};\nconst _hoisted_47 = {\n key: 0,\n class: \"empty-state\"\n};\nconst _hoisted_48 = {\n class: \"dialog-footer\"\n};\nconst _hoisted_49 = {\n class: \"path-count\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_input_number = _resolveComponent(\"el-input-number\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_scrollbar = _resolveComponent(\"el-scrollbar\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_el_card, {\n class: \"planning-controls\"\n }, {\n header: _withCtx(() => [_createElementVNode(\"div\", _hoisted_2, [_cache[16] || (_cache[16] = _createElementVNode(\"span\", null, \"一对多路径规划\", -1 /* HOISTED */)), _createVNode(_component_el_button, {\n type: \"danger\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('clear-all'))\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\" 清除所有 \")])),\n _: 1 /* STABLE */,\n __: [15]\n })])]),\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_form, {\n inline: \"\",\n \"label-width\": \"80px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"选择无人机\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.localSelectedDroneId,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.localSelectedDroneId = $event),\n placeholder: \"请选择无人机\",\n style: {\n \"width\": \"200px\"\n },\n onChange: $setup.onDroneChange\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.drones, drone => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: drone.id,\n label: drone.name,\n value: drone.id\n }, null, 8 /* PROPS */, [\"label\", \"value\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), _createElementVNode(\"div\", _hoisted_4, [_cache[21] || (_cache[21] = _createElementVNode(\"h4\", null, \"路径规划 (1对多)\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_el_alert, {\n type: \"info\",\n closable: false,\n \"show-icon\": \"\",\n style: {\n \"margin-bottom\": \"12px\"\n }\n }, {\n default: _withCtx(() => _cache[17] || (_cache[17] = [_createElementVNode(\"div\", {\n style: {\n \"font-size\": \"12px\"\n }\n }, [_createElementVNode(\"p\", null, \"• 第1个点为起点,其余为目标点\"), _createElementVNode(\"p\", null, \"• 系统将按最优顺序访问所有目标点\"), _createElementVNode(\"p\", null, \"• 优先访问安全区域的目标点\")], -1 /* HOISTED */)])),\n _: 1 /* STABLE */\n })]), _createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_el_button, {\n type: $props.addMode ? 'success' : 'default',\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = $event => _ctx.$emit('toggle-add-mode'))\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($props.addMode ? '停止添加' : '添加路径点'), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"type\"]), _createVNode(_component_el_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = $event => _ctx.$emit('plan-path')),\n disabled: $props.pathPoints.length < 2\n }, {\n default: _withCtx(() => _cache[18] || (_cache[18] = [_createTextVNode(\" A*规划路径 \")])),\n _: 1 /* STABLE */,\n __: [18]\n }, 8 /* PROPS */, [\"disabled\"])]), _createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_el_button, {\n type: \"info\",\n size: \"small\",\n onClick: $setup.showHistoryDialog,\n icon: \"FolderOpened\"\n }, {\n default: _withCtx(() => _cache[19] || (_cache[19] = [_createTextVNode(\" 历史路径 \")])),\n _: 1 /* STABLE */,\n __: [19]\n }, 8 /* PROPS */, [\"onClick\"]), _createVNode(_component_el_button, {\n type: \"warning\",\n size: \"small\",\n onClick: $setup.clearCurrentPath,\n icon: \"Delete\",\n disabled: $props.pathPoints.length === 0\n }, {\n default: _withCtx(() => _cache[20] || (_cache[20] = [_createTextVNode(\" 清空当前 \")])),\n _: 1 /* STABLE */,\n __: [20]\n }, 8 /* PROPS */, [\"onClick\", \"disabled\"])]), _createElementVNode(\"div\", _hoisted_8, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.pathPoints, (point, index) => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: _normalizeClass([\"path-point-item\", {\n 'start-point': index === 0,\n 'target-point': index > 0\n }])\n }, [_createElementVNode(\"span\", {\n class: _normalizeClass([\"point-index\", {\n 'start': index === 0\n }])\n }, _toDisplayString(index === 0 ? '起' : index), 3 /* TEXT, CLASS */), _createElementVNode(\"div\", _hoisted_9, [_createElementVNode(\"div\", _hoisted_10, _toDisplayString(point.lng.toFixed(4)) + \", \" + _toDisplayString(point.lat.toFixed(4)), 1 /* TEXT */), _createElementVNode(\"div\", _hoisted_11, _toDisplayString(index === 0 ? '起点' : `目标点${index}`), 1 /* TEXT */)]), _createVNode(_component_el_button, {\n type: \"danger\",\n size: \"small\",\n icon: \"Delete\",\n circle: \"\",\n onClick: $event => _ctx.$emit('remove-point', index),\n style: {\n \"margin-left\": \"auto\"\n }\n }, null, 8 /* PROPS */, [\"onClick\"])], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */)), $props.pathPoints.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, \" 点击地图添加路径点 \")) : _createCommentVNode(\"v-if\", true), $props.pathPoints.length === 1 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, \" 再添加至少1个目标点 \")) : _createCommentVNode(\"v-if\", true), $props.pathPoints.length > 1 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, \" 总计: 1个起点 + \" + _toDisplayString($props.pathPoints.length - 1) + \"个目标点 \", 1 /* TEXT */)) : _createCommentVNode(\"v-if\", true)])]), _createElementVNode(\"div\", _hoisted_15, [_cache[25] || (_cache[25] = _createElementVNode(\"h4\", null, \"A*算法参数\", -1 /* HOISTED */)), _createVNode(_component_el_form, {\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"算法\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.algorithm,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.algorithm = $event),\n style: {\n \"width\": \"100%\"\n },\n onChange: $setup.onAlgorithmChange,\n disabled: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"A*算法 (威胁区避障)\",\n value: \"astar\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"]), _cache[22] || (_cache[22] = _createElementVNode(\"div\", {\n class: \"algorithm-desc\"\n }, \" 智能避开威胁区域,优化访问顺序 \", -1 /* HOISTED */))]),\n _: 1 /* STABLE */,\n __: [22]\n }), _createVNode(_component_el_form_item, {\n label: \"飞行高度\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.altitude,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $setup.altitude = $event),\n min: 10,\n max: 500,\n step: 10,\n style: {\n \"width\": \"100%\"\n },\n onChange: $setup.onAltitudeChange\n }, null, 8 /* PROPS */, [\"modelValue\", \"onChange\"]), _cache[23] || (_cache[23] = _createElementVNode(\"span\", {\n class: \"unit\"\n }, \"米\", -1 /* HOISTED */))]),\n _: 1 /* STABLE */,\n __: [23]\n }), _createVNode(_component_el_form_item, {\n label: \"飞行速度\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.speed,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.speed = $event),\n min: 1,\n max: 50,\n step: 1,\n style: {\n \"width\": \"100%\"\n },\n onChange: $setup.onSpeedChange\n }, null, 8 /* PROPS */, [\"modelValue\", \"onChange\"]), _cache[24] || (_cache[24] = _createElementVNode(\"span\", {\n class: \"unit\"\n }, \"m/s\", -1 /* HOISTED */))]),\n _: 1 /* STABLE */,\n __: [24]\n })]),\n _: 1 /* STABLE */\n })]), $props.pathInfo ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [_cache[33] || (_cache[33] = _createElementVNode(\"h4\", null, \"路径规划结果\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_17, [_createElementVNode(\"div\", _hoisted_18, [_cache[26] || (_cache[26] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"算法:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_19, _toDisplayString($setup.getAlgorithmName($props.pathInfo.algorithm)), 1 /* TEXT */)]), _createElementVNode(\"div\", _hoisted_20, [_cache[27] || (_cache[27] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"总距离:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_21, _toDisplayString(($props.pathInfo.distance / 1000).toFixed(2)) + \" km\", 1 /* TEXT */)]), _createElementVNode(\"div\", _hoisted_22, [_cache[28] || (_cache[28] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"预计时间:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_23, _toDisplayString($props.pathInfo.duration) + \" 分钟\", 1 /* TEXT */)]), _createElementVNode(\"div\", _hoisted_24, [_cache[29] || (_cache[29] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"路径点数:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_25, _toDisplayString($props.pathInfo.pointCount) + \" 个\", 1 /* TEXT */)]), $props.pathInfo.threatZonesAvoided && $props.pathInfo.threatZonesAvoided.length > 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [_cache[30] || (_cache[30] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"避开威胁:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_27, _toDisplayString($props.pathInfo.threatZonesAvoided.length) + \" 个区域\", 1 /* TEXT */)])) : _createCommentVNode(\"v-if\", true), $props.pathInfo.targetOrder && $props.pathInfo.targetOrder.length > 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, _cache[31] || (_cache[31] = [_createElementVNode(\"span\", {\n class: \"label\"\n }, \"访问顺序:\", -1 /* HOISTED */), _createElementVNode(\"span\", {\n class: \"value\"\n }, \"已优化\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true)]), _createVNode(_component_el_button, {\n type: \"success\",\n onClick: _cache[7] || (_cache[7] = $event => _ctx.$emit('execute-path')),\n style: {\n \"width\": \"100%\",\n \"margin-top\": \"12px\"\n }\n }, {\n default: _withCtx(() => _cache[32] || (_cache[32] = [_createTextVNode(\" 执行路径规划 \")])),\n _: 1 /* STABLE */,\n __: [32]\n })])) : _createCommentVNode(\"v-if\", true), _createElementVNode(\"div\", _hoisted_29, [_cache[37] || (_cache[37] = _createElementVNode(\"h4\", null, \"地图显示\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_30, [_createVNode(_component_el_button_group, {\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n type: \"default\",\n size: \"small\",\n disabled: $props.pathPoints.length === 0,\n onClick: _cache[8] || (_cache[8] = $event => _ctx.$emit('center-to-start')),\n style: {\n \"width\": \"33%\"\n }\n }, {\n default: _withCtx(() => _cache[34] || (_cache[34] = [_createTextVNode(\" 起点 \")])),\n _: 1 /* STABLE */,\n __: [34]\n }, 8 /* PROPS */, [\"disabled\"]), _createVNode(_component_el_button, {\n type: \"default\",\n size: \"small\",\n disabled: $props.pathPoints.length < 2,\n onClick: _cache[9] || (_cache[9] = $event => _ctx.$emit('center-to-end')),\n style: {\n \"width\": \"33%\"\n }\n }, {\n default: _withCtx(() => _cache[35] || (_cache[35] = [_createTextVNode(\" 终点 \")])),\n _: 1 /* STABLE */,\n __: [35]\n }, 8 /* PROPS */, [\"disabled\"]), _createVNode(_component_el_button, {\n type: \"default\",\n size: \"small\",\n disabled: $props.pathPoints.length === 0,\n onClick: _cache[10] || (_cache[10] = $event => _ctx.$emit('fit-to-path')),\n style: {\n \"width\": \"34%\"\n }\n }, {\n default: _withCtx(() => _cache[36] || (_cache[36] = [_createTextVNode(\" 全路径 \")])),\n _: 1 /* STABLE */,\n __: [36]\n }, 8 /* PROPS */, [\"disabled\"])]),\n _: 1 /* STABLE */\n })])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 历史路径选择对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.historyDialogVisible,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => $setup.historyDialogVisible = $event),\n title: \"选择历史路径\",\n width: \"800px\",\n onClose: $setup.resetHistoryDialog\n }, {\n footer: _withCtx(() => [_createElementVNode(\"div\", _hoisted_48, [_createElementVNode(\"span\", _hoisted_49, \"共 \" + _toDisplayString($setup.filteredHistoryPaths.length) + \" 条路径\", 1 /* TEXT */), _createElementVNode(\"div\", null, [_createVNode(_component_el_button, {\n onClick: _cache[13] || (_cache[13] = $event => $setup.historyDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[41] || (_cache[41] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [41]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.confirmLoadPath,\n disabled: !$setup.selectedHistoryPath\n }, {\n default: _withCtx(() => _cache[42] || (_cache[42] = [_createTextVNode(\" 确定加载 \")])),\n _: 1 /* STABLE */,\n __: [42]\n }, 8 /* PROPS */, [\"onClick\", \"disabled\"])])])]),\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_31, [_createCommentVNode(\" 筛选区域 \"), _createElementVNode(\"div\", _hoisted_32, [_createVNode(_component_el_row, {\n gutter: 10\n }, {\n default: _withCtx(() => [_createVNode(_component_el_col, {\n span: 8\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.filterStatus,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => $setup.filterStatus = $event),\n placeholder: \"筛选状态\",\n size: \"small\",\n onChange: $setup.loadHistoryPaths\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"全部状态\",\n value: \"\"\n }), _createVNode(_component_el_option, {\n label: \"已规划\",\n value: \"planned\"\n }), _createVNode(_component_el_option, {\n label: \"执行中\",\n value: \"executing\"\n }), _createVNode(_component_el_option, {\n label: \"已完成\",\n value: \"completed\"\n }), _createVNode(_component_el_option, {\n label: \"已失败\",\n value: \"failed\"\n }), _createVNode(_component_el_option, {\n label: \"已取消\",\n value: \"cancelled\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_col, {\n span: 8\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.filterAlgorithm,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => $setup.filterAlgorithm = $event),\n placeholder: \"筛选算法\",\n size: \"small\",\n onChange: $setup.loadHistoryPaths\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"全部算法\",\n value: \"\"\n }), _createVNode(_component_el_option, {\n label: \"A*算法\",\n value: \"astar\"\n }), _createVNode(_component_el_option, {\n label: \"直线规划\",\n value: \"straight\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_col, {\n span: 8\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $setup.loadHistoryPaths,\n icon: \"Refresh\"\n }, {\n default: _withCtx(() => _cache[38] || (_cache[38] = [_createTextVNode(\" 刷新 \")])),\n _: 1 /* STABLE */,\n __: [38]\n }, 8 /* PROPS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), _createCommentVNode(\" 历史路径列表 \"), _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_33, [_createVNode(_component_el_scrollbar, {\n height: \"400px\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.filteredHistoryPaths, path => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: path.id,\n class: _normalizeClass([\"history-path-item\", {\n 'selected': $setup.selectedHistoryPath?.id === path.id\n }]),\n onClick: $event => $setup.selectHistoryPath(path)\n }, [_createElementVNode(\"div\", _hoisted_35, [_createElementVNode(\"div\", _hoisted_36, [_createElementVNode(\"div\", _hoisted_37, [_createElementVNode(\"span\", {\n class: \"color-indicator\",\n style: _normalizeStyle({\n backgroundColor: path.color\n })\n }, null, 4 /* STYLE */), _createElementVNode(\"span\", _hoisted_38, _toDisplayString(path.name), 1 /* TEXT */), _createVNode(_component_el_tag, {\n type: $setup.getStatusType(path.status),\n size: \"small\",\n class: \"status-tag\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.getStatusText(path.status)), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"type\"])]), _createElementVNode(\"div\", _hoisted_39, [_createElementVNode(\"span\", _hoisted_40, _toDisplayString($setup.formatDistance(path.distance)), 1 /* TEXT */), _createElementVNode(\"span\", _hoisted_41, _toDisplayString(path.waypoint_count) + \"个点\", 1 /* TEXT */), _createElementVNode(\"span\", _hoisted_42, _toDisplayString(path.algorithm.toUpperCase()), 1 /* TEXT */)])]), _createElementVNode(\"div\", _hoisted_43, [_createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: _withModifiers($event => $setup.loadHistoryPath(path), [\"stop\"])\n }, {\n default: _withCtx(() => [...(_cache[39] || (_cache[39] = [_createTextVNode(\" 加载路径 \")]))]),\n _: 2 /* DYNAMIC */,\n __: [39]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])])]), path.description ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_createElementVNode(\"p\", null, _toDisplayString(path.description), 1 /* TEXT */)])) : _createCommentVNode(\"v-if\", true), _createElementVNode(\"div\", _hoisted_45, [_createElementVNode(\"span\", _hoisted_46, _toDisplayString($setup.formatTime(path.created_at)), 1 /* TEXT */)])], 10 /* CLASS, PROPS */, _hoisted_34);\n }), 128 /* KEYED_FRAGMENT */)), $setup.filteredHistoryPaths.length === 0 && !$setup.historyLoading ? (_openBlock(), _createElementBlock(\"div\", _hoisted_47, _cache[40] || (_cache[40] = [_createElementVNode(\"p\", null, \"暂无历史路径\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true)]),\n _: 1 /* STABLE */\n })])), [[_directive_loading, $setup.historyLoading]])])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onClose\"])]);\n}","map":{"version":3,"names":["class","style","_createElementBlock","_hoisted_1","_createVNode","_component_el_card","header","_withCtx","_createElementVNode","_hoisted_2","_component_el_button","type","size","onClick","_cache","$event","_ctx","$emit","_hoisted_3","_component_el_form","inline","_component_el_form_item","label","_component_el_select","$setup","localSelectedDroneId","placeholder","onChange","onDroneChange","_Fragment","_renderList","$props","drones","drone","_createBlock","_component_el_option","key","id","name","value","_hoisted_4","_hoisted_5","_component_el_alert","closable","default","_hoisted_6","addMode","disabled","pathPoints","length","_hoisted_7","showHistoryDialog","icon","clearCurrentPath","_hoisted_8","point","index","_normalizeClass","_hoisted_9","_hoisted_10","_toDisplayString","lng","toFixed","lat","_hoisted_11","circle","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","algorithm","onAlgorithmChange","_component_el_input_number","altitude","min","max","step","onAltitudeChange","speed","onSpeedChange","pathInfo","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","getAlgorithmName","_hoisted_20","_hoisted_21","distance","_hoisted_22","_hoisted_23","duration","_hoisted_24","_hoisted_25","pointCount","threatZonesAvoided","_hoisted_26","_hoisted_27","targetOrder","_hoisted_28","_hoisted_29","_hoisted_30","_component_el_button_group","_createCommentVNode","_component_el_dialog","historyDialogVisible","title","width","onClose","resetHistoryDialog","footer","_hoisted_48","_hoisted_49","filteredHistoryPaths","confirmLoadPath","selectedHistoryPath","_hoisted_31","_hoisted_32","_component_el_row","gutter","_component_el_col","span","filterStatus","loadHistoryPaths","filterAlgorithm","_hoisted_33","_component_el_scrollbar","height","path","selectHistoryPath","_hoisted_35","_hoisted_36","_hoisted_37","_normalizeStyle","backgroundColor","color","_hoisted_38","_component_el_tag","getStatusType","status","getStatusText","_hoisted_39","_hoisted_40","formatDistance","_hoisted_41","waypoint_count","_hoisted_42","toUpperCase","_hoisted_43","_withModifiers","loadHistoryPath","description","_hoisted_44","_hoisted_45","_hoisted_46","formatTime","created_at","historyLoading","_hoisted_47"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\map-panels\\PathPlanningPanel.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/011d6280ad11febee478badbd4a383f80d16932daf33278119e1e83676988dc6.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/011d6280ad11febee478badbd4a383f80d16932daf33278119e1e83676988dc6.json new file mode 100644 index 00000000..db76287a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/011d6280ad11febee478badbd4a383f80d16932daf33278119e1e83676988dc6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { rowKey, columns, dataType, fixedDataType, expandKeys, classType, requiredNumber } from './common.mjs';\nimport { tableV2RowProps } from './row.mjs';\nimport { tableV2HeaderProps } from './header.mjs';\nimport { tableV2GridProps } from './grid.mjs';\nimport { virtualizedGridProps, virtualizedScrollbarProps } from '../../virtual-list/src/props.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nconst tableV2Props = buildProps({\n cache: tableV2GridProps.cache,\n estimatedRowHeight: tableV2RowProps.estimatedRowHeight,\n rowKey,\n headerClass: {\n type: definePropType([String, Function])\n },\n headerProps: {\n type: definePropType([Object, Function])\n },\n headerCellProps: {\n type: definePropType([Object, Function])\n },\n headerHeight: tableV2HeaderProps.headerHeight,\n footerHeight: {\n type: Number,\n default: 0\n },\n rowClass: {\n type: definePropType([String, Function])\n },\n rowProps: {\n type: definePropType([Object, Function])\n },\n rowHeight: {\n type: Number,\n default: 50\n },\n cellProps: {\n type: definePropType([Object, Function])\n },\n columns,\n data: dataType,\n dataGetter: {\n type: definePropType(Function)\n },\n fixedData: fixedDataType,\n expandColumnKey: tableV2RowProps.expandColumnKey,\n expandedRowKeys: expandKeys,\n defaultExpandedRowKeys: expandKeys,\n class: classType,\n fixed: Boolean,\n style: {\n type: definePropType(Object)\n },\n width: requiredNumber,\n height: requiredNumber,\n maxHeight: Number,\n useIsScrolling: Boolean,\n indentSize: {\n type: Number,\n default: 12\n },\n iconSize: {\n type: Number,\n default: 12\n },\n hScrollbarSize: virtualizedGridProps.hScrollbarSize,\n vScrollbarSize: virtualizedGridProps.vScrollbarSize,\n scrollbarAlwaysOn: virtualizedScrollbarProps.alwaysOn,\n sortBy: {\n type: definePropType(Object),\n default: () => ({})\n },\n sortState: {\n type: definePropType(Object),\n default: void 0\n },\n onColumnSort: {\n type: definePropType(Function)\n },\n onExpandedRowsChange: {\n type: definePropType(Function)\n },\n onEndReached: {\n type: definePropType(Function)\n },\n onRowExpand: tableV2RowProps.onRowExpand,\n onScroll: tableV2GridProps.onScroll,\n onRowsRendered: tableV2GridProps.onRowsRendered,\n rowEventHandlers: tableV2RowProps.rowEventHandlers\n});\nexport { tableV2Props };","map":{"version":3,"names":["tableV2Props","buildProps","cache","tableV2GridProps","estimatedRowHeight","tableV2RowProps","rowKey","headerClass","type","definePropType","String","Function","headerProps","Object","headerCellProps","headerHeight","tableV2HeaderProps","footerHeight","Number","default","rowClass","rowProps","rowHeight","cellProps","columns","data","dataType","dataGetter","fixedData","fixedDataType","expandColumnKey","expandedRowKeys","expandKeys","defaultExpandedRowKeys","class","classType","fixed","Boolean","style","width","requiredNumber","height","maxHeight","useIsScrolling","indentSize","iconSize","hScrollbarSize","virtualizedGridProps","vScrollbarSize","scrollbarAlwaysOn","virtualizedScrollbarProps","alwaysOn","sortBy","sortState","onColumnSort","onExpandedRowsChange","onEndReached","onRowExpand","onScroll","onRowsRendered","rowEventHandlers"],"sources":["../../../../../../packages/components/table-v2/src/table.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport {\n virtualizedGridProps,\n virtualizedScrollbarProps,\n} from '@element-plus/components/virtual-list'\nimport {\n classType,\n columns,\n dataType,\n expandKeys,\n fixedDataType,\n requiredNumber,\n rowKey,\n} from './common'\nimport { tableV2RowProps } from './row'\nimport { tableV2HeaderProps } from './header'\nimport { tableV2GridProps } from './grid'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { SortOrder } from './constants'\nimport type {\n Column,\n ColumnCommonParams,\n DataGetter,\n KeyType,\n RowCommonParams,\n SortBy,\n SortState,\n} from './types'\n\n/**\n * Param types\n */\nexport type ColumnSortParams = {\n column: Column\n key: KeyType\n order: SortOrder\n}\n\n/**\n * Renderer/Getter types\n */\n\nexport type ExtraCellPropGetter = (\n params: ColumnCommonParams &\n RowCommonParams & { cellData: T; rowData: any }\n) => any\n\nexport type ExtractHeaderPropGetter = (params: {\n columns: Column[]\n headerIndex: number\n}) => any\n\nexport type ExtractHeaderCellPropGetter = (\n params: ColumnCommonParams & { headerIndex: number }\n) => any\n\nexport type ExtractRowPropGetter = (\n params: { columns: Column[] } & RowCommonParams\n) => any\n\nexport type HeaderClassNameGetter = (params: {\n columns: Column[]\n headerIndex: number\n}) => string\n\nexport type RowClassNameGetter = (\n params: { columns: Column[] } & RowCommonParams\n) => string\n\n/**\n * Handler types\n */\nexport type ColumnSortHandler = (params: ColumnSortParams) => void\nexport type ColumnResizeHandler = (column: Column, width: number) => void\nexport type ExpandedRowsChangeHandler = (expandedRowKeys: KeyType[]) => void\n\nexport const tableV2Props = buildProps({\n cache: tableV2GridProps.cache,\n estimatedRowHeight: tableV2RowProps.estimatedRowHeight,\n rowKey,\n // Header attributes\n headerClass: {\n type: definePropType>([\n String,\n Function,\n ]),\n },\n headerProps: {\n type: definePropType>([\n Object,\n Function,\n ]),\n },\n headerCellProps: {\n type: definePropType>([\n Object,\n Function,\n ]),\n },\n headerHeight: tableV2HeaderProps.headerHeight,\n /**\n * Footer attributes\n */\n footerHeight: {\n type: Number,\n default: 0,\n },\n /**\n * Row attributes\n */\n rowClass: {\n type: definePropType>([String, Function]),\n },\n rowProps: {\n type: definePropType | any>([Object, Function]),\n },\n rowHeight: {\n type: Number,\n default: 50,\n },\n\n /**\n * Cell attributes\n */\n cellProps: {\n type: definePropType | ExtraCellPropGetter>([\n Object,\n Function,\n ]),\n },\n /**\n * Data models\n */\n columns,\n data: dataType,\n dataGetter: {\n type: definePropType>(Function),\n },\n fixedData: fixedDataType,\n /**\n * Expanded keys\n */\n expandColumnKey: tableV2RowProps.expandColumnKey,\n expandedRowKeys: expandKeys,\n defaultExpandedRowKeys: expandKeys,\n\n /**\n * Attributes\n */\n class: classType,\n // disabled: Boolean,\n fixed: Boolean,\n style: {\n type: definePropType(Object),\n },\n width: requiredNumber,\n height: requiredNumber,\n maxHeight: Number,\n useIsScrolling: Boolean,\n indentSize: {\n type: Number,\n default: 12,\n },\n iconSize: {\n type: Number,\n default: 12,\n },\n hScrollbarSize: virtualizedGridProps.hScrollbarSize,\n vScrollbarSize: virtualizedGridProps.vScrollbarSize,\n scrollbarAlwaysOn: virtualizedScrollbarProps.alwaysOn,\n\n /**\n * Sorting\n */\n sortBy: {\n type: definePropType(Object),\n default: () => ({} as { key: KeyType; order: SortOrder }),\n },\n sortState: {\n type: definePropType(Object),\n default: undefined,\n },\n\n /**\n * Handlers\n */\n onColumnSort: {\n type: definePropType>(Function),\n },\n onExpandedRowsChange: {\n type: definePropType(Function),\n },\n onEndReached: {\n type: definePropType<(remainDistance: number) => void>(Function),\n },\n onRowExpand: tableV2RowProps.onRowExpand,\n onScroll: tableV2GridProps.onScroll,\n onRowsRendered: tableV2GridProps.onRowsRendered,\n rowEventHandlers: tableV2RowProps.rowEventHandlers,\n} as const)\n\nexport type TableV2Props = ExtractPropTypes\n"],"mappings":";;;;;;AAiBY,MAACA,YAAY,GAAGC,UAAU,CAAC;EACrCC,KAAK,EAAEC,gBAAgB,CAACD,KAAK;EAC7BE,kBAAkB,EAAEC,eAAe,CAACD,kBAAkB;EACtDE,MAAM;EACNC,WAAW,EAAE;IACXC,IAAI,EAAEC,cAAc,CAAC,CACnBC,MAAM,EACNC,QAAQ,CACT;EACL,CAAG;EACDC,WAAW,EAAE;IACXJ,IAAI,EAAEC,cAAc,CAAC,CACnBI,MAAM,EACNF,QAAQ,CACT;EACL,CAAG;EACDG,eAAe,EAAE;IACfN,IAAI,EAAEC,cAAc,CAAC,CACnBI,MAAM,EACNF,QAAQ,CACT;EACL,CAAG;EACDI,YAAY,EAAEC,kBAAkB,CAACD,YAAY;EAC7CE,YAAY,EAAE;IACZT,IAAI,EAAEU,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDC,QAAQ,EAAE;IACRZ,IAAI,EAAEC,cAAc,CAAC,CAACC,MAAM,EAAEC,QAAQ,CAAC;EAC3C,CAAG;EACDU,QAAQ,EAAE;IACRb,IAAI,EAAEC,cAAc,CAAC,CAACI,MAAM,EAAEF,QAAQ,CAAC;EAC3C,CAAG;EACDW,SAAS,EAAE;IACTd,IAAI,EAAEU,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDI,SAAS,EAAE;IACTf,IAAI,EAAEC,cAAc,CAAC,CACnBI,MAAM,EACNF,QAAQ,CACT;EACL,CAAG;EACDa,OAAO;EACPC,IAAI,EAAEC,QAAQ;EACdC,UAAU,EAAE;IACVnB,IAAI,EAAEC,cAAc,CAACE,QAAQ;EACjC,CAAG;EACDiB,SAAS,EAAEC,aAAa;EACxBC,eAAe,EAAEzB,eAAe,CAACyB,eAAe;EAChDC,eAAe,EAAEC,UAAU;EAC3BC,sBAAsB,EAAED,UAAU;EAClCE,KAAK,EAAEC,SAAS;EAChBC,KAAK,EAAEC,OAAO;EACdC,KAAK,EAAE;IACL9B,IAAI,EAAEC,cAAc,CAACI,MAAM;EAC/B,CAAG;EACD0B,KAAK,EAAEC,cAAc;EACrBC,MAAM,EAAED,cAAc;EACtBE,SAAS,EAAExB,MAAM;EACjByB,cAAc,EAAEN,OAAO;EACvBO,UAAU,EAAE;IACVpC,IAAI,EAAEU,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACD0B,QAAQ,EAAE;IACRrC,IAAI,EAAEU,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACD2B,cAAc,EAAEC,oBAAoB,CAACD,cAAc;EACnDE,cAAc,EAAED,oBAAoB,CAACC,cAAc;EACnDC,iBAAiB,EAAEC,yBAAyB,CAACC,QAAQ;EACrDC,MAAM,EAAE;IACN5C,IAAI,EAAEC,cAAc,CAACI,MAAM,CAAC;IAC5BM,OAAO,EAAEA,CAAA,MAAO,EAAE;EACtB,CAAG;EACDkC,SAAS,EAAE;IACT7C,IAAI,EAAEC,cAAc,CAACI,MAAM,CAAC;IAC5BM,OAAO,EAAE,KAAK;EAClB,CAAG;EACDmC,YAAY,EAAE;IACZ9C,IAAI,EAAEC,cAAc,CAACE,QAAQ;EACjC,CAAG;EACD4C,oBAAoB,EAAE;IACpB/C,IAAI,EAAEC,cAAc,CAACE,QAAQ;EACjC,CAAG;EACD6C,YAAY,EAAE;IACZhD,IAAI,EAAEC,cAAc,CAACE,QAAQ;EACjC,CAAG;EACD8C,WAAW,EAAEpD,eAAe,CAACoD,WAAW;EACxCC,QAAQ,EAAEvD,gBAAgB,CAACuD,QAAQ;EACnCC,cAAc,EAAExD,gBAAgB,CAACwD,cAAc;EAC/CC,gBAAgB,EAAEvD,eAAe,CAACuD;AACpC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/012250eabc299d1ac67d72a16ac427bad9e0e2ed982320428388d847a061ad63.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/012250eabc299d1ac67d72a16ac427bad9e0e2ed982320428388d847a061ad63.json new file mode 100644 index 00000000..de1fd679 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/012250eabc299d1ac67d72a16ac427bad9e0e2ed982320428388d847a061ad63.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, watchEffect, watch, unref, computed, onMounted, nextTick } from 'vue';\nimport { useEventListener, useResizeObserver } from '@vueuse/core';\nimport { useFormSize } from '../../../form/src/hooks/use-form-common-props.mjs';\nfunction useStyle(props, layout, store, table) {\n const isHidden = ref(false);\n const renderExpanded = ref(null);\n const resizeProxyVisible = ref(false);\n const setDragVisible = visible => {\n resizeProxyVisible.value = visible;\n };\n const resizeState = ref({\n width: null,\n height: null,\n headerHeight: null\n });\n const isGroup = ref(false);\n const scrollbarViewStyle = {\n display: \"inline-block\",\n verticalAlign: \"middle\"\n };\n const tableWidth = ref();\n const tableScrollHeight = ref(0);\n const bodyScrollHeight = ref(0);\n const headerScrollHeight = ref(0);\n const footerScrollHeight = ref(0);\n const appendScrollHeight = ref(0);\n watchEffect(() => {\n layout.setHeight(props.height);\n });\n watchEffect(() => {\n layout.setMaxHeight(props.maxHeight);\n });\n watch(() => [props.currentRowKey, store.states.rowKey], ([currentRowKey, rowKey]) => {\n if (!unref(rowKey) || !unref(currentRowKey)) return;\n store.setCurrentRowKey(`${currentRowKey}`);\n }, {\n immediate: true\n });\n watch(() => props.data, data => {\n table.store.commit(\"setData\", data);\n }, {\n immediate: true,\n deep: true\n });\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys);\n }\n });\n const handleMouseLeave = () => {\n table.store.commit(\"setHoverRow\", null);\n if (table.hoverState) table.hoverState = null;\n };\n const handleHeaderFooterMousewheel = (event, data) => {\n const {\n pixelX,\n pixelY\n } = data;\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5;\n }\n };\n const shouldUpdateHeight = computed(() => {\n return props.height || props.maxHeight || store.states.fixedColumns.value.length > 0 || store.states.rightFixedColumns.value.length > 0;\n });\n const tableBodyStyles = computed(() => {\n return {\n width: layout.bodyWidth.value ? `${layout.bodyWidth.value}px` : \"\"\n };\n });\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight();\n }\n layout.updateColumnsWidth();\n if (typeof window === \"undefined\") return;\n requestAnimationFrame(syncPosition);\n };\n onMounted(async () => {\n await nextTick();\n store.updateColumns();\n bindEvents();\n requestAnimationFrame(doLayout);\n const el = table.vnode.el;\n const tableHeader = table.refs.headerWrapper;\n if (props.flexible && el && el.parentElement) {\n el.parentElement.style.minWidth = \"0\";\n }\n resizeState.value = {\n width: tableWidth.value = el.offsetWidth,\n height: el.offsetHeight,\n headerHeight: props.showHeader && tableHeader ? tableHeader.offsetHeight : null\n };\n store.states.columns.value.forEach(column => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit(\"filterChange\", {\n column,\n values: column.filteredValue,\n silent: true\n });\n }\n });\n table.$ready = true;\n });\n const setScrollClassByEl = (el, className) => {\n if (!el) return;\n const classList = Array.from(el.classList).filter(item => !item.startsWith(\"is-scrolling-\"));\n classList.push(layout.scrollX.value ? className : \"is-scrolling-none\");\n el.className = classList.join(\" \");\n };\n const setScrollClass = className => {\n const {\n tableWrapper\n } = table.refs;\n setScrollClassByEl(tableWrapper, className);\n };\n const hasScrollClass = className => {\n const {\n tableWrapper\n } = table.refs;\n return !!(tableWrapper && tableWrapper.classList.contains(className));\n };\n const syncPosition = function () {\n if (!table.refs.scrollBarRef) return;\n if (!layout.scrollX.value) {\n const scrollingNoneClass = \"is-scrolling-none\";\n if (!hasScrollClass(scrollingNoneClass)) {\n setScrollClass(scrollingNoneClass);\n }\n return;\n }\n const scrollContainer = table.refs.scrollBarRef.wrapRef;\n if (!scrollContainer) return;\n const {\n scrollLeft,\n offsetWidth,\n scrollWidth\n } = scrollContainer;\n const {\n headerWrapper,\n footerWrapper\n } = table.refs;\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft;\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft;\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1;\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass(\"is-scrolling-right\");\n } else if (scrollLeft === 0) {\n setScrollClass(\"is-scrolling-left\");\n } else {\n setScrollClass(\"is-scrolling-middle\");\n }\n };\n const bindEvents = () => {\n if (!table.refs.scrollBarRef) return;\n if (table.refs.scrollBarRef.wrapRef) {\n useEventListener(table.refs.scrollBarRef.wrapRef, \"scroll\", syncPosition, {\n passive: true\n });\n }\n if (props.fit) {\n useResizeObserver(table.vnode.el, resizeListener);\n } else {\n useEventListener(window, \"resize\", resizeListener);\n }\n useResizeObserver(table.refs.bodyWrapper, () => {\n var _a, _b;\n resizeListener();\n (_b = (_a = table.refs) == null ? void 0 : _a.scrollBarRef) == null ? void 0 : _b.update();\n });\n };\n const resizeListener = () => {\n var _a, _b, _c, _d;\n const el = table.vnode.el;\n if (!table.$ready || !el) return;\n let shouldUpdateLayout = false;\n const {\n width: oldWidth,\n height: oldHeight,\n headerHeight: oldHeaderHeight\n } = resizeState.value;\n const width = tableWidth.value = el.offsetWidth;\n if (oldWidth !== width) {\n shouldUpdateLayout = true;\n }\n const height = el.offsetHeight;\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true;\n }\n const tableHeader = props.tableLayout === \"fixed\" ? table.refs.headerWrapper : (_a = table.refs.tableHeaderRef) == null ? void 0 : _a.$el;\n if (props.showHeader && (tableHeader == null ? void 0 : tableHeader.offsetHeight) !== oldHeaderHeight) {\n shouldUpdateLayout = true;\n }\n tableScrollHeight.value = ((_b = table.refs.tableWrapper) == null ? void 0 : _b.scrollHeight) || 0;\n headerScrollHeight.value = (tableHeader == null ? void 0 : tableHeader.scrollHeight) || 0;\n footerScrollHeight.value = ((_c = table.refs.footerWrapper) == null ? void 0 : _c.offsetHeight) || 0;\n appendScrollHeight.value = ((_d = table.refs.appendWrapper) == null ? void 0 : _d.offsetHeight) || 0;\n bodyScrollHeight.value = tableScrollHeight.value - headerScrollHeight.value - footerScrollHeight.value - appendScrollHeight.value;\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n headerHeight: props.showHeader && (tableHeader == null ? void 0 : tableHeader.offsetHeight) || 0\n };\n doLayout();\n }\n };\n const tableSize = useFormSize();\n const bodyWidth = computed(() => {\n const {\n bodyWidth: bodyWidth_,\n scrollY,\n gutterWidth\n } = layout;\n return bodyWidth_.value ? `${bodyWidth_.value - (scrollY.value ? gutterWidth : 0)}px` : \"\";\n });\n const tableLayout = computed(() => {\n if (props.maxHeight) return \"fixed\";\n return props.tableLayout;\n });\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return null;\n let height = \"100%\";\n if (props.height && bodyScrollHeight.value) {\n height = `${bodyScrollHeight.value}px`;\n }\n const width = tableWidth.value;\n return {\n width: width ? `${width}px` : \"\",\n height\n };\n });\n const scrollbarStyle = computed(() => {\n if (props.height) {\n return {\n height: \"100%\"\n };\n }\n if (props.maxHeight) {\n if (!Number.isNaN(Number(props.maxHeight))) {\n return {\n maxHeight: `${props.maxHeight - headerScrollHeight.value - footerScrollHeight.value}px`\n };\n } else {\n return {\n maxHeight: `calc(${props.maxHeight} - ${headerScrollHeight.value + footerScrollHeight.value}px)`\n };\n }\n }\n return {};\n });\n const handleFixedMousewheel = (event, data) => {\n const bodyWrapper = table.refs.bodyWrapper;\n if (Math.abs(data.spinY) > 0) {\n const currentScrollTop = bodyWrapper.scrollTop;\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault();\n }\n if (data.pixelY > 0 && bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop) {\n event.preventDefault();\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5);\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5);\n }\n };\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle\n };\n}\nexport { useStyle as default };","map":{"version":3,"names":["useStyle","props","layout","store","table","isHidden","ref","renderExpanded","resizeProxyVisible","setDragVisible","visible","value","resizeState","width","height","headerHeight","isGroup","scrollbarViewStyle","display","verticalAlign","tableWidth","tableScrollHeight","bodyScrollHeight","headerScrollHeight","footerScrollHeight","appendScrollHeight","watchEffect","setHeight","setMaxHeight","maxHeight","watch","currentRowKey","states","rowKey","unref","setCurrentRowKey","immediate","data","commit","deep","expandRowKeys","setExpandRowKeysAdapter","handleMouseLeave","hoverState","handleHeaderFooterMousewheel","event","pixelX","pixelY","Math","abs","refs","bodyWrapper","scrollLeft","shouldUpdateHeight","computed","fixedColumns","length","rightFixedColumns","tableBodyStyles","bodyWidth","doLayout","updateElsHeight","updateColumnsWidth","window","requestAnimationFrame","syncPosition","onMounted","nextTick","updateColumns","bindEvents","el","vnode","tableHeader","headerWrapper","flexible","parentElement","style","minWidth","offsetWidth","offsetHeight","showHeader","columns","forEach","column","filteredValue","values","silent","$ready","setScrollClassByEl","className","classList","Array","from","filter","item","startsWith","push","scrollX","join","setScrollClass","tableWrapper","hasScrollClass","contains","scrollBarRef","scrollingNoneClass","scrollContainer","wrapRef","scrollWidth","footerWrapper","maxScrollLeftPosition","useEventListener","passive","fit","useResizeObserver","resizeListener","_a","_b","update","_c","_d","shouldUpdateLayout","oldWidth","oldHeight","oldHeaderHeight","tableLayout","tableHeaderRef","$el","scrollHeight","appendWrapper","tableSize","useFormSize","bodyWidth_","scrollY","gutterWidth","emptyBlockStyle","scrollbarStyle","Number","isNaN","handleFixedMousewheel","spinY","currentScrollTop","scrollTop","preventDefault","clientHeight","ceil"],"sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n watchEffect,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { useFormSize } from '@element-plus/components/form'\n\nimport type { Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle(\n props: TableProps,\n layout: TableLayout,\n store: Store,\n table: Table\n) {\n const isHidden = ref(false)\n const renderExpanded = ref(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref<{\n width: null | number\n height: null | number\n headerHeight: null | number\n }>({\n width: null,\n height: null,\n headerHeight: null,\n })\n const isGroup = ref(false)\n const scrollbarViewStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n }\n const tableWidth = ref()\n const tableScrollHeight = ref(0)\n const bodyScrollHeight = ref(0)\n const headerScrollHeight = ref(0)\n const footerScrollHeight = ref(0)\n const appendScrollHeight = ref(0)\n\n watchEffect(() => {\n layout.setHeight(props.height)\n })\n watchEffect(() => {\n layout.setMaxHeight(props.maxHeight)\n })\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey) || !unref(currentRowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (event, data) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const tableBodyStyles = computed(() => {\n return {\n width: layout.bodyWidth.value ? `${layout.bodyWidth.value}px` : '',\n }\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n\n // When the test case is running, the context environment simulated by jsdom may have been destroyed,\n // and window.requestAnimationFrame does not exist at this time.\n if (typeof window === 'undefined') return\n requestAnimationFrame(syncPosition)\n }\n onMounted(async () => {\n await nextTick()\n store.updateColumns()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n const el: HTMLElement = table.vnode.el as HTMLElement\n const tableHeader: HTMLElement = table.refs.headerWrapper\n if (props.flexible && el && el.parentElement) {\n // Automatic minimum size of flex-items\n // Ensure that the main axis does not follow the width of the items\n el.parentElement.style.minWidth = '0'\n }\n\n resizeState.value = {\n width: (tableWidth.value = el.offsetWidth),\n height: el.offsetHeight,\n headerHeight:\n props.showHeader && tableHeader ? tableHeader.offsetHeight : null,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n setScrollClassByEl(tableWrapper, className)\n }\n const hasScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n return !!(tableWrapper && tableWrapper.classList.contains(className))\n }\n const syncPosition = function () {\n if (!table.refs.scrollBarRef) return\n if (!layout.scrollX.value) {\n const scrollingNoneClass = 'is-scrolling-none'\n if (!hasScrollClass(scrollingNoneClass)) {\n setScrollClass(scrollingNoneClass)\n }\n return\n }\n const scrollContainer = table.refs.scrollBarRef.wrapRef\n if (!scrollContainer) return\n const { scrollLeft, offsetWidth, scrollWidth } = scrollContainer\n const { headerWrapper, footerWrapper } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }\n\n const bindEvents = () => {\n if (!table.refs.scrollBarRef) return\n if (table.refs.scrollBarRef.wrapRef) {\n useEventListener(\n table.refs.scrollBarRef.wrapRef,\n 'scroll',\n syncPosition,\n {\n passive: true,\n }\n )\n }\n if (props.fit) {\n useResizeObserver(table.vnode.el as HTMLElement, resizeListener)\n } else {\n useEventListener(window, 'resize', resizeListener)\n }\n\n useResizeObserver(table.refs.bodyWrapper, () => {\n resizeListener()\n table.refs?.scrollBarRef?.update()\n })\n }\n const resizeListener = () => {\n const el = table.vnode.el\n if (!table.$ready || !el) return\n\n let shouldUpdateLayout = false\n const {\n width: oldWidth,\n height: oldHeight,\n headerHeight: oldHeaderHeight,\n } = resizeState.value\n\n const width = (tableWidth.value = el.offsetWidth)\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n const tableHeader: HTMLElement =\n props.tableLayout === 'fixed'\n ? table.refs.headerWrapper\n : table.refs.tableHeaderRef?.$el\n if (props.showHeader && tableHeader?.offsetHeight !== oldHeaderHeight) {\n shouldUpdateLayout = true\n }\n\n tableScrollHeight.value = table.refs.tableWrapper?.scrollHeight || 0\n headerScrollHeight.value = tableHeader?.scrollHeight || 0\n footerScrollHeight.value = table.refs.footerWrapper?.offsetHeight || 0\n appendScrollHeight.value = table.refs.appendWrapper?.offsetHeight || 0\n bodyScrollHeight.value =\n tableScrollHeight.value -\n headerScrollHeight.value -\n footerScrollHeight.value -\n appendScrollHeight.value\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n headerHeight: (props.showHeader && tableHeader?.offsetHeight) || 0,\n }\n doLayout()\n }\n }\n const tableSize = useFormSize()\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n\n const tableLayout = computed(() => {\n if (props.maxHeight) return 'fixed'\n return props.tableLayout\n })\n\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return null\n let height = '100%'\n if (props.height && bodyScrollHeight.value) {\n height = `${bodyScrollHeight.value}px`\n }\n const width = tableWidth.value\n return {\n width: width ? `${width}px` : '',\n height,\n }\n })\n\n const scrollbarStyle = computed(() => {\n if (props.height) {\n return {\n height: '100%',\n }\n }\n if (props.maxHeight) {\n if (!Number.isNaN(Number(props.maxHeight))) {\n return {\n maxHeight: `${\n props.maxHeight -\n headerScrollHeight.value -\n footerScrollHeight.value\n }px`,\n }\n } else {\n return {\n maxHeight: `calc(${props.maxHeight} - ${\n headerScrollHeight.value + footerScrollHeight.value\n }px)`,\n }\n }\n }\n\n return {}\n })\n\n /**\n * fix layout\n */\n const handleFixedMousewheel = (event, data) => {\n const bodyWrapper = table.refs.bodyWrapper\n if (Math.abs(data.spinY) > 0) {\n const currentScrollTop = bodyWrapper.scrollTop\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault()\n }\n if (\n data.pixelY > 0 &&\n bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop\n ) {\n event.preventDefault()\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5)\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5)\n }\n }\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n }\n}\n\nexport default useStyle\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/012ff91acd18975df2685f1231b455900837d60ea86aa0cf64e0a02aa2a83ec7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/012ff91acd18975df2685f1231b455900837d60ea86aa0cf64e0a02aa2a83ec7.json new file mode 100644 index 00000000..750d48bf --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/012ff91acd18975df2685f1231b455900837d60ea86aa0cf64e0a02aa2a83ec7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport basePickBy from './_basePickBy.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function (prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function (value, path) {\n return predicate(value, path[0]);\n });\n}\nexport default pickBy;","map":{"version":3,"names":["arrayMap","baseIteratee","basePickBy","getAllKeysIn","pickBy","object","predicate","props","prop","value","path"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/pickBy.js"],"sourcesContent":["import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport basePickBy from './_basePickBy.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nexport default pickBy;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,YAAY,MAAM,oBAAoB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,MAAM,EAAEC,SAAS,EAAE;EACjC,IAAID,MAAM,IAAI,IAAI,EAAE;IAClB,OAAO,CAAC,CAAC;EACX;EACA,IAAIE,KAAK,GAAGP,QAAQ,CAACG,YAAY,CAACE,MAAM,CAAC,EAAE,UAASG,IAAI,EAAE;IACxD,OAAO,CAACA,IAAI,CAAC;EACf,CAAC,CAAC;EACFF,SAAS,GAAGL,YAAY,CAACK,SAAS,CAAC;EACnC,OAAOJ,UAAU,CAACG,MAAM,EAAEE,KAAK,EAAE,UAASE,KAAK,EAAEC,IAAI,EAAE;IACrD,OAAOJ,SAAS,CAACG,KAAK,EAAEC,IAAI,CAAC,CAAC,CAAC,CAAC;EAClC,CAAC,CAAC;AACJ;AAEA,eAAeN,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/015098ab0a1f87ecb97dc86100ddc84e67c2527a585238565b0b962e06e5c546.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/015098ab0a1f87ecb97dc86100ddc84e67c2527a585238565b0b962e06e5c546.json new file mode 100644 index 00000000..e352c812 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/015098ab0a1f87ecb97dc86100ddc84e67c2527a585238565b0b962e06e5c546.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as after } from './after.js';\nexport { default as ary } from './ary.js';\nexport { default as before } from './before.js';\nexport { default as bind } from './bind.js';\nexport { default as bindKey } from './bindKey.js';\nexport { default as curry } from './curry.js';\nexport { default as curryRight } from './curryRight.js';\nexport { default as debounce } from './debounce.js';\nexport { default as defer } from './defer.js';\nexport { default as delay } from './delay.js';\nexport { default as flip } from './flip.js';\nexport { default as memoize } from './memoize.js';\nexport { default as negate } from './negate.js';\nexport { default as once } from './once.js';\nexport { default as overArgs } from './overArgs.js';\nexport { default as partial } from './partial.js';\nexport { default as partialRight } from './partialRight.js';\nexport { default as rearg } from './rearg.js';\nexport { default as rest } from './rest.js';\nexport { default as spread } from './spread.js';\nexport { default as throttle } from './throttle.js';\nexport { default as unary } from './unary.js';\nexport { default as wrap } from './wrap.js';\nexport { default } from './function.default.js';","map":{"version":3,"names":["default","after","ary","before","bind","bindKey","curry","curryRight","debounce","defer","delay","flip","memoize","negate","once","overArgs","partial","partialRight","rearg","rest","spread","throttle","unary","wrap"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/function.js"],"sourcesContent":["export { default as after } from './after.js';\nexport { default as ary } from './ary.js';\nexport { default as before } from './before.js';\nexport { default as bind } from './bind.js';\nexport { default as bindKey } from './bindKey.js';\nexport { default as curry } from './curry.js';\nexport { default as curryRight } from './curryRight.js';\nexport { default as debounce } from './debounce.js';\nexport { default as defer } from './defer.js';\nexport { default as delay } from './delay.js';\nexport { default as flip } from './flip.js';\nexport { default as memoize } from './memoize.js';\nexport { default as negate } from './negate.js';\nexport { default as once } from './once.js';\nexport { default as overArgs } from './overArgs.js';\nexport { default as partial } from './partial.js';\nexport { default as partialRight } from './partialRight.js';\nexport { default as rearg } from './rearg.js';\nexport { default as rest } from './rest.js';\nexport { default as spread } from './spread.js';\nexport { default as throttle } from './throttle.js';\nexport { default as unary } from './unary.js';\nexport { default as wrap } from './wrap.js';\nexport { default } from './function.default.js';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,KAAK,QAAQ,YAAY;AAC7C,SAASD,OAAO,IAAIE,GAAG,QAAQ,UAAU;AACzC,SAASF,OAAO,IAAIG,MAAM,QAAQ,aAAa;AAC/C,SAASH,OAAO,IAAII,IAAI,QAAQ,WAAW;AAC3C,SAASJ,OAAO,IAAIK,OAAO,QAAQ,cAAc;AACjD,SAASL,OAAO,IAAIM,KAAK,QAAQ,YAAY;AAC7C,SAASN,OAAO,IAAIO,UAAU,QAAQ,iBAAiB;AACvD,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,eAAe;AACnD,SAASR,OAAO,IAAIS,KAAK,QAAQ,YAAY;AAC7C,SAAST,OAAO,IAAIU,KAAK,QAAQ,YAAY;AAC7C,SAASV,OAAO,IAAIW,IAAI,QAAQ,WAAW;AAC3C,SAASX,OAAO,IAAIY,OAAO,QAAQ,cAAc;AACjD,SAASZ,OAAO,IAAIa,MAAM,QAAQ,aAAa;AAC/C,SAASb,OAAO,IAAIc,IAAI,QAAQ,WAAW;AAC3C,SAASd,OAAO,IAAIe,QAAQ,QAAQ,eAAe;AACnD,SAASf,OAAO,IAAIgB,OAAO,QAAQ,cAAc;AACjD,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,mBAAmB;AAC3D,SAASjB,OAAO,IAAIkB,KAAK,QAAQ,YAAY;AAC7C,SAASlB,OAAO,IAAImB,IAAI,QAAQ,WAAW;AAC3C,SAASnB,OAAO,IAAIoB,MAAM,QAAQ,aAAa;AAC/C,SAASpB,OAAO,IAAIqB,QAAQ,QAAQ,eAAe;AACnD,SAASrB,OAAO,IAAIsB,KAAK,QAAQ,YAAY;AAC7C,SAAStB,OAAO,IAAIuB,IAAI,QAAQ,WAAW;AAC3C,SAASvB,OAAO,QAAQ,uBAAuB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/015b2ade7ae9d399e4444605723e296b41ba2e19bfa4802f94de0c5c0461f3c4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/015b2ade7ae9d399e4444605723e296b41ba2e19bfa4802f94de0c5c0461f3c4.json new file mode 100644 index 00000000..683c641c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/015b2ade7ae9d399e4444605723e296b41ba2e19bfa4802f94de0c5c0461f3c4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { shallowRef, watchEffect, readonly, unref, ref, isVue3, version, watch, customRef, getCurrentScope, onScopeDispose, effectScope, provide, inject, isRef, computed, reactive, toRefs as toRefs$1, toRef, isVue2, set as set$1, getCurrentInstance, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$b.call(b, prop)) __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$b) for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop)) __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, __spreadProps$6(__spreadValues$9({}, options), {\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n }));\n return readonly(result);\n}\nvar _a;\nconst isClient = typeof window !== \"undefined\";\nconst isDef = val => typeof val !== \"undefined\";\nconst assert = (condition, ...infos) => {\n if (!condition) console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isBoolean = val => typeof val === \"boolean\";\nconst isFunction = val => typeof val === \"function\";\nconst isNumber = val => typeof val === \"number\";\nconst isString = val => typeof val === \"string\";\nconst isObject = val => toString.call(val) === \"[object Object]\";\nconst isWindow = val => typeof window !== \"undefined\" && toString.call(val) === \"[object Window]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst isIOS = isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nfunction resolveUnref(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), {\n fn,\n thisArg: this,\n args\n })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = invoke => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = timer2 => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = invoke => {\n const duration = resolveUnref(ms);\n const maxDuration = resolveUnref(options.maxWait);\n if (timer) _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer) _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer) _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = _invoke => {\n const duration = resolveUnref(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer) timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value) extendFilter(...args);\n };\n return {\n isActive: readonly(isActive),\n pause,\n resume,\n eventFilter\n };\n}\nfunction __onlyVue3(name = \"this function\") {\n if (isVue3) return;\n throw new Error(`[VueUse] ${name} is only works on Vue 3.`);\n}\nfunction __onlyVue27Plus(name = \"this function\") {\n if (isVue3 || version.startsWith(\"2.7.\")) return;\n throw new Error(`[VueUse] ${name} is only works on Vue 2.7 or above.`);\n}\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout) setTimeout(() => reject(reason), ms);else setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise) _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev) await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some(k => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\") return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = parseFloat(value) + delta;\n if (Number.isNaN(result)) return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0) n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, {\n flush: \"sync\"\n });\n const get = isFunction(fn) ? fn : fn.get;\n const set = isFunction(fn) ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result)) result.trigger = update;\n return result;\n}\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\nfunction createEventHook() {\n const fns = [];\n const off = fn => {\n const index = fns.indexOf(fn);\n if (index !== -1) fns.splice(index, 1);\n };\n const on = fn => {\n fns.push(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = param => {\n fns.forEach(fn => fn(param));\n };\n return {\n on,\n off,\n trigger\n };\n}\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return () => {\n if (!initialized) {\n state = scope.run(stateFactory);\n initialized = true;\n }\n return state;\n };\n}\nfunction createInjectionState(composable) {\n const key = Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provide(key, state);\n return state;\n };\n const useInjectedState = () => inject(key);\n return [useProvidingState, useInjectedState];\n}\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\nfunction extendRef(ref, extend, {\n enumerable = false,\n unwrap = true\n} = {}) {\n __onlyVue27Plus();\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\") continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, {\n value,\n enumerable\n });\n }\n }\n return ref;\n}\nfunction get(obj, key) {\n if (key == null) return unref(obj);\n return unref(obj)[key];\n}\nfunction isDefined(v) {\n return unref(v) != null;\n}\nvar __defProp$8 = Object.defineProperty;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$a.call(b, prop)) __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$a) for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop)) __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = __spreadValues$8({}, obj);\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : resolveUnref;\n return function (...args) {\n return computed(() => fn.apply(this, args.map(i => unrefFn(i))));\n };\n}\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const {\n includeOwnProperties = true\n } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties) keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(keys.map(key => {\n const value = obj[key];\n return [key, typeof value === \"function\" ? reactify(value.bind(obj), options) : value];\n }));\n}\nfunction toReactive(objectRef) {\n if (!isRef(objectRef)) return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value)) objectRef.value[p].value = value;else objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n return reactiveComputed(() => Object.fromEntries(Object.entries(toRefs$1(obj)).filter(e => !flatKeys.includes(e[0]))));\n}\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n return reactive(Object.fromEntries(flatKeys.map(k => [k, toRef(obj, k)])));\n}\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = defaultValue;\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = defaultValue;\n trigger();\n }, resolveUnref(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(debounceFilter(ms, options), fn);\n}\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);\n}\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0) return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking) track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source) return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false) return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering) trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = v => set(v, false);\n const peek = () => get(false);\n const lay = v => set(v, false);\n return extendRef(ref, {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n }, {\n enumerable: true\n });\n}\nconst controlledRef = refWithControl;\nfunction resolveRef(r) {\n return typeof r === \"function\" ? computed(r) : ref(r);\n}\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\nfunction syncRef(left, right, options = {}) {\n var _a, _b;\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options;\n let watchLeft;\n let watchRight;\n const transformLTR = (_a = transform.ltr) != null ? _a : v => v;\n const transformRTL = (_b = transform.rtl) != null ? _b : v => v;\n if (direction === \"both\" || direction === \"ltr\") {\n watchLeft = watch(left, newValue => right.value = transformLTR(newValue), {\n flush,\n deep,\n immediate\n });\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchRight = watch(right, newValue => left.value = transformRTL(newValue), {\n flush,\n deep,\n immediate\n });\n }\n return () => {\n watchLeft == null ? void 0 : watchLeft();\n watchRight == null ? void 0 : watchRight();\n };\n}\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets)) targets = [targets];\n return watch(source, newValue => targets.forEach(target => target.value = newValue), {\n flush,\n deep,\n immediate\n });\n}\nvar __defProp$7 = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$9.call(b, prop)) __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$9) for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop)) __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nfunction toRefs(objectRef) {\n if (!isRef(objectRef)) return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? new Array(objectRef.value.length) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = __spreadProps$5(__spreadValues$7({}, objectRef.value), {\n [key]: v\n });\n Object.setPrototypeOf(newObject, objectRef.value);\n objectRef.value = newObject;\n }\n }\n }));\n }\n return result;\n}\nfunction tryOnBeforeMount(fn, sync = true) {\n if (getCurrentInstance()) onBeforeMount(fn);else if (sync) fn();else nextTick(fn);\n}\nfunction tryOnBeforeUnmount(fn) {\n if (getCurrentInstance()) onBeforeUnmount(fn);\n}\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance()) onMounted(fn);else if (sync) fn();else nextTick(fn);\n}\nfunction tryOnUnmounted(fn) {\n if (getCurrentInstance()) onUnmounted(fn);\n}\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, {\n flush = \"sync\",\n deep = false,\n timeout,\n throwOnTimeout\n } = {}) {\n let stop = null;\n const watcher = new Promise(resolve => {\n stop = watch(r, v => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n }, {\n flush,\n deep,\n immediate: true\n });\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => resolveUnref(r)).finally(() => stop == null ? void 0 : stop()));\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value)) return toMatch(v => v === value, options);\n const {\n flush = \"sync\",\n deep = false,\n timeout,\n throwOnTimeout\n } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise(resolve => {\n stop = watch([r, value], ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n }, {\n flush,\n deep,\n immediate: true\n });\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => resolveUnref(r)).finally(() => {\n stop == null ? void 0 : stop();\n return resolveUnref(r);\n }));\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch(v => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch(v => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(resolveUnref(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(resolveUnref(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\nfunction useArrayEvery(list, fn) {\n return computed(() => resolveUnref(list).every((element, index, array) => fn(resolveUnref(element), index, array)));\n}\nfunction useArrayFilter(list, fn) {\n return computed(() => resolveUnref(list).map(i => resolveUnref(i)).filter(fn));\n}\nfunction useArrayFind(list, fn) {\n return computed(() => resolveUnref(resolveUnref(list).find((element, index, array) => fn(resolveUnref(element), index, array))));\n}\nfunction useArrayFindIndex(list, fn) {\n return computed(() => resolveUnref(list).findIndex((element, index, array) => fn(resolveUnref(element), index, array)));\n}\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr)) return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => resolveUnref(!Array.prototype.findLast ? findLast(resolveUnref(list), (element, index, array) => fn(resolveUnref(element), index, array)) : resolveUnref(list).findLast((element, index, array) => fn(resolveUnref(element), index, array))));\n}\nfunction useArrayJoin(list, separator) {\n return computed(() => resolveUnref(list).map(i => resolveUnref(i)).join(resolveUnref(separator)));\n}\nfunction useArrayMap(list, fn) {\n return computed(() => resolveUnref(list).map(i => resolveUnref(i)).map(fn));\n}\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(resolveUnref(sum), resolveUnref(value), index);\n return computed(() => {\n const resolved = resolveUnref(list);\n return args.length ? resolved.reduce(reduceCallback, resolveUnref(args[0])) : resolved.reduce(reduceCallback);\n });\n}\nfunction useArraySome(list, fn) {\n return computed(() => resolveUnref(list).some((element, index, array) => fn(resolveUnref(element), index, array)));\n}\nfunction useArrayUnique(list) {\n return computed(() => [...new Set(resolveUnref(list).map(element => resolveUnref(element)))]);\n}\nfunction useCounter(initialValue = 0, options = {}) {\n const count = ref(initialValue);\n const {\n max = Infinity,\n min = -Infinity\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = val => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = initialValue) => {\n initialValue = val;\n return set(val);\n };\n return {\n count,\n inc,\n dec,\n get,\n set,\n reset\n };\n}\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nconst defaultMeridiem = (hours, minutes, isLowercase, hasPeriod) => {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod) m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n};\nconst formatDate = (date, formatStr, options = {}) => {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, {\n month: \"short\"\n }),\n MMMM: () => date.toLocaleDateString(options.locales, {\n month: \"long\"\n }),\n D: () => String(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, {\n weekday: \"narrow\"\n }),\n ddd: () => date.toLocaleDateString(options.locales, {\n weekday: \"short\"\n }),\n dddd: () => date.toLocaleDateString(options.locales, {\n weekday: \"long\"\n }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => $1 || matches[match]());\n};\nconst normalizeDate = date => {\n if (date === null) return new Date(NaN);\n if (date === void 0) return new Date();\n if (date instanceof Date) return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n};\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(resolveUnref(date)), resolveUnref(formatStr), options));\n}\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = resolveUnref(interval);\n if (intervalValue <= 0) return;\n isActive.value = true;\n if (immediateCallback) cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient) resume();\n if (isRef(interval) || isFunction(interval)) {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient) resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\nvar __defProp$6 = Object.defineProperty;\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$8.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$8) for (var prop of __getOwnPropSymbols$8(b)) {\n if (__propIsEnum$8.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(callback ? () => {\n update();\n callback(counter.value);\n } : update, interval, {\n immediate\n });\n if (exposeControls) {\n return __spreadValues$6({\n counter,\n reset\n }, controls);\n } else {\n return counter;\n }\n}\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(source, () => ms.value = timestamp(), options);\n return ms;\n}\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, resolveUnref(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient) start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$7.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$7) for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(callback != null ? callback : noop, interval, options);\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return __spreadValues$5({\n ready\n }, controls);\n } else {\n return ready;\n }\n}\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = resolveUnref(value);\n if (typeof resolved === \"string\") resolved = Number[method](resolved, radix);\n if (nanToZero && isNaN(resolved)) resolved = 0;\n return resolved;\n });\n}\nfunction useToString(value) {\n return computed(() => `${resolveUnref(value)}`);\n}\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = resolveUnref(truthyValue);\n _value.value = _value.value === truthy ? resolveUnref(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef) return toggle;else return [_value, toggle];\n}\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...(source instanceof Function ? source() : Array.isArray(source) ? source : unref(source))];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = new Array(oldList.length);\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found) added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __objRest$5 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$6.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$6) for (var prop of __getOwnPropSymbols$6(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$6.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction watchWithFilter(source, cb, options = {}) {\n const _a = options,\n {\n eventFilter = bypassFilter\n } = _a,\n watchOptions = __objRest$5(_a, [\"eventFilter\"]);\n return watch(source, createFilterWrapper(eventFilter, cb), watchOptions);\n}\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __objRest$4 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$5) for (var prop of __getOwnPropSymbols$5(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$5.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction watchAtMost(source, cb, options) {\n const _a = options,\n {\n count\n } = _a,\n watchOptions = __objRest$4(_a, [\"count\"]);\n const current = ref(0);\n const stop = watchWithFilter(source, (...args) => {\n current.value += 1;\n if (current.value >= resolveUnref(count)) nextTick(() => stop());\n cb(...args);\n }, watchOptions);\n return {\n count: current,\n stop\n };\n}\nvar __defProp$4 = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4) for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nvar __objRest$3 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$4) for (var prop of __getOwnPropSymbols$4(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction watchDebounced(source, cb, options = {}) {\n const _a = options,\n {\n debounce = 0,\n maxWait = void 0\n } = _a,\n watchOptions = __objRest$3(_a, [\"debounce\", \"maxWait\"]);\n return watchWithFilter(source, cb, __spreadProps$4(__spreadValues$4({}, watchOptions), {\n eventFilter: debounceFilter(debounce, {\n maxWait\n })\n }));\n}\nvar __defProp$3 = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3) for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nvar __objRest$2 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$3) for (var prop of __getOwnPropSymbols$3(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction watchIgnorable(source, cb, options = {}) {\n const _a = options,\n {\n eventFilter = bypassFilter\n } = _a,\n watchOptions = __objRest$2(_a, [\"eventFilter\"]);\n const filteredCb = createFilterWrapper(eventFilter, cb);\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {};\n ignoreUpdates = updater => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(source, (...args) => {\n if (!ignore.value) filteredCb(...args);\n }, watchOptions);\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(watch(source, () => {\n syncCounter.value++;\n }, __spreadProps$3(__spreadValues$3({}, watchOptions), {\n flush: \"sync\"\n })));\n ignoreUpdates = updater => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(watch(source, (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore) return;\n filteredCb(...args);\n }, watchOptions));\n stop = () => {\n disposables.forEach(fn => fn());\n };\n }\n return {\n stop,\n ignoreUpdates,\n ignorePrevAsyncUpdates\n };\n}\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n}\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2) for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nvar __objRest$1 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$2) for (var prop of __getOwnPropSymbols$2(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction watchPausable(source, cb, options = {}) {\n const _a = options,\n {\n eventFilter: filter\n } = _a,\n watchOptions = __objRest$1(_a, [\"eventFilter\"]);\n const {\n eventFilter,\n pause,\n resume,\n isActive\n } = pausableFilter(filter);\n const stop = watchWithFilter(source, cb, __spreadProps$2(__spreadValues$2({}, watchOptions), {\n eventFilter\n }));\n return {\n stop,\n pause,\n resume,\n isActive\n };\n}\nvar __defProp$1 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1) for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$1) for (var prop of __getOwnPropSymbols$1(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction watchThrottled(source, cb, options = {}) {\n const _a = options,\n {\n throttle = 0,\n trailing = true,\n leading = true\n } = _a,\n watchOptions = __objRest(_a, [\"throttle\", \"trailing\", \"leading\"]);\n return watchWithFilter(source, cb, __spreadProps$1(__spreadValues$1({}, watchOptions), {\n eventFilter: throttleFilter(throttle, trailing, leading)\n }));\n}\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn) return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const {\n ignoreUpdates\n } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return __spreadProps(__spreadValues({}, res), {\n trigger\n });\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources)) return sources;\n if (Array.isArray(sources)) return sources.map(item => getOneWatchSource(item));\n return getOneWatchSource(sources);\n}\nfunction getOneWatchSource(source) {\n return typeof source === \"function\" ? source() : unref(source);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\nfunction whenever(source, cb, options) {\n return watch(source, (v, ov, onInvalidate) => {\n if (v) cb(v, ov, onInvalidate);\n }, options);\n}\nexport { __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };","map":{"version":3,"names":["shallowRef","watchEffect","readonly","unref","ref","isVue3","version","watch","customRef","getCurrentScope","onScopeDispose","effectScope","provide","inject","isRef","computed","reactive","toRefs","toRefs$1","toRef","isVue2","set","set$1","getCurrentInstance","onBeforeMount","nextTick","onBeforeUnmount","onMounted","onUnmounted","isReactive","__defProp$9","Object","defineProperty","__defProps$6","defineProperties","__getOwnPropDescs$6","getOwnPropertyDescriptors","__getOwnPropSymbols$b","getOwnPropertySymbols","__hasOwnProp$b","prototype","hasOwnProperty","__propIsEnum$b","propertyIsEnumerable","__defNormalProp$9","obj","key","value","enumerable","configurable","writable","__spreadValues$9","a","b","prop","call","__spreadProps$6","computedEager","fn","options","_a","result","flush","isClient","window","isDef","val","assert","condition","infos","console","warn","toString","isBoolean","isFunction","isNumber","isString","isObject","isWindow","now","Date","timestamp","clamp","n","min","max","Math","noop","rand","ceil","floor","random","isIOS","navigator","userAgent","test","hasOwn","resolveUnref","r","createFilterWrapper","filter","wrapper","args","Promise","resolve","reject","apply","thisArg","then","catch","bypassFilter","invoke","debounceFilter","ms","timer","maxTimer","lastRejector","_clearTimeout","timer2","clearTimeout","duration","maxDuration","maxWait","rejectOnCancel","setTimeout","throttleFilter","trailing","leading","lastExec","isLeading","lastValue","clear","_invoke","elapsed","pausableFilter","extendFilter","isActive","pause","resume","eventFilter","__onlyVue3","name","Error","__onlyVue27Plus","startsWith","directiveHooks","mounted","updated","unmounted","promiseTimeout","throwOnTimeout","reason","identity","arg","createSingletonPromise","_promise","reset","_prev","containsProp","props","some","k","increaseWithUnit","target","delta","match","unit","slice","length","parseFloat","Number","isNaN","objectPick","keys","omitUndefined","reduce","computedWithControl","source","v","track","trigger","dirty","update","get","_track","_trigger","v2","isExtensible","tryOnScopeDispose","createEventHook","fns","off","index","indexOf","splice","on","push","offFn","param","forEach","createGlobalState","stateFactory","initialized","state","scope","run","createInjectionState","composable","Symbol","useProvidingState","useInjectedState","createSharedComposable","subscribers","dispose","stop","extendRef","extend","unwrap","entries","isDefined","__defProp$8","__getOwnPropSymbols$a","__hasOwnProp$a","__propIsEnum$a","__defNormalProp$8","__spreadValues$8","makeDestructurable","arr","clone","iterator","next","done","assign","reactify","unrefFn","computedGetter","map","i","reactifyObject","optionsOrKeys","Array","isArray","includeOwnProperties","getOwnPropertyNames","fromEntries","bind","toReactive","objectRef","proxy","Proxy","_","p","receiver","Reflect","deleteProperty","has","ownKeys","getOwnPropertyDescriptor","reactiveComputed","reactiveOmit","flatKeys","flat","e","includes","reactivePick","refAutoReset","defaultValue","afterMs","resetAfter","newValue","useDebounceFn","refDebounced","debounced","updater","refDefault","useThrottleFn","refThrottled","delay","throttled","refWithControl","initial","tracking","triggering","_b","old","onBeforeChange","onChanged","untrackedGet","silentSet","peek","lay","controlledRef","resolveRef","syncRef","left","right","deep","immediate","direction","transform","watchLeft","watchRight","transformLTR","ltr","transformRTL","rtl","syncRefs","targets","__defProp$7","__defProps$5","__getOwnPropDescs$5","__getOwnPropSymbols$9","__hasOwnProp$9","__propIsEnum$9","__defNormalProp$7","__spreadValues$7","__spreadProps$5","copy","newObject","setPrototypeOf","tryOnBeforeMount","sync","tryOnBeforeUnmount","tryOnMounted","tryOnUnmounted","createUntil","isNot","toMatch","timeout","watcher","promises","finally","race","toBe","v1","toBeTruthy","Boolean","toBeNull","toBeUndefined","toBeNaN","toContains","array","from","changed","changedTimes","count","instance","not","until","useArrayEvery","list","every","element","useArrayFilter","useArrayFind","find","useArrayFindIndex","findIndex","findLast","cb","useArrayFindLast","useArrayJoin","separator","join","useArrayMap","useArrayReduce","reducer","reduceCallback","sum","resolved","useArraySome","useArrayUnique","Set","useCounter","initialValue","Infinity","inc","dec","REGEX_PARSE","REGEX_FORMAT","defaultMeridiem","hours","minutes","isLowercase","hasPeriod","m","split","acc","curr","toLowerCase","formatDate","date","formatStr","years","getFullYear","month","getMonth","days","getDate","getHours","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","day","getDay","meridiem","customMeridiem","matches","YY","String","YYYY","M","MM","padStart","MMM","toLocaleDateString","locales","MMMM","D","DD","H","HH","h","hh","mm","s","ss","SSS","d","dd","weekday","ddd","dddd","A","AA","aa","replace","$1","normalizeDate","NaN","substring","useDateFormat","useIntervalFn","interval","immediateCallback","clean","clearInterval","intervalValue","setInterval","stopWatch","__defProp$6","__getOwnPropSymbols$8","__hasOwnProp$8","__propIsEnum$8","__defNormalProp$6","__spreadValues$6","useInterval","controls","exposeControls","callback","counter","useLastChanged","useTimeoutFn","isPending","start","__defProp$5","__getOwnPropSymbols$7","__hasOwnProp$7","__propIsEnum$7","__defNormalProp$5","__spreadValues$5","useTimeout","ready","useToNumber","method","radix","nanToZero","useToString","useToggle","truthyValue","falsyValue","valueIsRef","_value","toggle","arguments","truthy","watchArray","oldList","Function","newList","onCleanup","oldListRemains","added","found","removed","_2","__getOwnPropSymbols$6","__hasOwnProp$6","__propIsEnum$6","__objRest$5","exclude","watchWithFilter","watchOptions","__getOwnPropSymbols$5","__hasOwnProp$5","__propIsEnum$5","__objRest$4","watchAtMost","current","__defProp$4","__defProps$4","__getOwnPropDescs$4","__getOwnPropSymbols$4","__hasOwnProp$4","__propIsEnum$4","__defNormalProp$4","__spreadValues$4","__spreadProps$4","__objRest$3","watchDebounced","debounce","__defProp$3","__defProps$3","__getOwnPropDescs$3","__getOwnPropSymbols$3","__hasOwnProp$3","__propIsEnum$3","__defNormalProp$3","__spreadValues$3","__spreadProps$3","__objRest$2","watchIgnorable","filteredCb","ignoreUpdates","ignorePrevAsyncUpdates","ignore","disposables","ignoreCounter","syncCounter","syncCounterPrev","watchOnce","__defProp$2","__defProps$2","__getOwnPropDescs$2","__getOwnPropSymbols$2","__hasOwnProp$2","__propIsEnum$2","__defNormalProp$2","__spreadValues$2","__spreadProps$2","__objRest$1","watchPausable","__defProp$1","__defProps$1","__getOwnPropDescs$1","__getOwnPropSymbols$1","__hasOwnProp$1","__propIsEnum$1","__defNormalProp$1","__spreadValues$1","__spreadProps$1","__objRest","watchThrottled","throttle","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","watchTriggerable","cleanupFn","onEffect","_cb","oldValue","res","res2","getWatchSources","getOldValue","sources","item","getOneWatchSource","whenever","ov","onInvalidate","autoResetRef","controlledComputed","createReactiveFn","debouncedRef","debouncedWatch","eagerComputed","ignorableWatch","pausableWatch","throttledRef","throttledWatch","useDebounce","useThrottle"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@vueuse/shared/index.mjs"],"sourcesContent":["import { shallowRef, watchEffect, readonly, unref, ref, isVue3, version, watch, customRef, getCurrentScope, onScopeDispose, effectScope, provide, inject, isRef, computed, reactive, toRefs as toRefs$1, toRef, isVue2, set as set$1, getCurrentInstance, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$b.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$b)\n for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, __spreadProps$6(__spreadValues$9({}, options), {\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n }));\n return readonly(result);\n}\n\nvar _a;\nconst isClient = typeof window !== \"undefined\";\nconst isDef = (val) => typeof val !== \"undefined\";\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isBoolean = (val) => typeof val === \"boolean\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isNumber = (val) => typeof val === \"number\";\nconst isString = (val) => typeof val === \"string\";\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst isWindow = (val) => typeof window !== \"undefined\" && toString.call(val) === \"[object Window]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst isIOS = isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\n\nfunction resolveUnref(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = resolveUnref(ms);\n const maxDuration = resolveUnref(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = resolveUnref(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nfunction __onlyVue3(name = \"this function\") {\n if (isVue3)\n return;\n throw new Error(`[VueUse] ${name} is only works on Vue 3.`);\n}\nfunction __onlyVue27Plus(name = \"this function\") {\n if (isVue3 || version.startsWith(\"2.7.\"))\n return;\n throw new Error(`[VueUse] ${name} is only works on Vue 2.7 or above.`);\n}\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = isFunction(fn) ? fn : fn.get;\n const set = isFunction(fn) ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = [];\n const off = (fn) => {\n const index = fns.indexOf(fn);\n if (index !== -1)\n fns.splice(index, 1);\n };\n const on = (fn) => {\n fns.push(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (param) => {\n fns.forEach((fn) => fn(param));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return () => {\n if (!initialized) {\n state = scope.run(stateFactory);\n initialized = true;\n }\n return state;\n };\n}\n\nfunction createInjectionState(composable) {\n const key = Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provide(key, state);\n return state;\n };\n const useInjectedState = () => inject(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n __onlyVue27Plus();\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nvar __defProp$8 = Object.defineProperty;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$a.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$a)\n for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = __spreadValues$8({}, obj);\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : resolveUnref;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n }));\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n return reactiveComputed(() => Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n return reactive(Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = defaultValue;\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = defaultValue;\n trigger();\n }, resolveUnref(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(debounceFilter(ms, options), fn);\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(ref, {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n }, { enumerable: true });\n}\nconst controlledRef = refWithControl;\n\nfunction resolveRef(r) {\n return typeof r === \"function\" ? computed(r) : ref(r);\n}\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction syncRef(left, right, options = {}) {\n var _a, _b;\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options;\n let watchLeft;\n let watchRight;\n const transformLTR = (_a = transform.ltr) != null ? _a : (v) => v;\n const transformRTL = (_b = transform.rtl) != null ? _b : (v) => v;\n if (direction === \"both\" || direction === \"ltr\") {\n watchLeft = watch(left, (newValue) => right.value = transformLTR(newValue), { flush, deep, immediate });\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchRight = watch(right, (newValue) => left.value = transformRTL(newValue), { flush, deep, immediate });\n }\n return () => {\n watchLeft == null ? void 0 : watchLeft();\n watchRight == null ? void 0 : watchRight();\n };\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(source, (newValue) => targets.forEach((target) => target.value = newValue), { flush, deep, immediate });\n}\n\nvar __defProp$7 = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$9.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$9)\n for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nfunction toRefs(objectRef) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? new Array(objectRef.value.length) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = __spreadProps$5(__spreadValues$7({}, objectRef.value), { [key]: v });\n Object.setPrototypeOf(newObject, objectRef.value);\n objectRef.value = newObject;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true) {\n if (getCurrentInstance())\n onBeforeMount(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn) {\n if (getCurrentInstance())\n onBeforeUnmount(fn);\n}\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance())\n onMounted(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn) {\n if (getCurrentInstance())\n onUnmounted(fn);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(r, (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n }, {\n flush,\n deep,\n immediate: true\n });\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => resolveUnref(r)).finally(() => stop == null ? void 0 : stop()));\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch([r, value], ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n }, {\n flush,\n deep,\n immediate: true\n });\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => resolveUnref(r)).finally(() => {\n stop == null ? void 0 : stop();\n return resolveUnref(r);\n }));\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(resolveUnref(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(resolveUnref(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => resolveUnref(list).every((element, index, array) => fn(resolveUnref(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => resolveUnref(list).map((i) => resolveUnref(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => resolveUnref(resolveUnref(list).find((element, index, array) => fn(resolveUnref(element), index, array))));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => resolveUnref(list).findIndex((element, index, array) => fn(resolveUnref(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => resolveUnref(!Array.prototype.findLast ? findLast(resolveUnref(list), (element, index, array) => fn(resolveUnref(element), index, array)) : resolveUnref(list).findLast((element, index, array) => fn(resolveUnref(element), index, array))));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => resolveUnref(list).map((i) => resolveUnref(i)).join(resolveUnref(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => resolveUnref(list).map((i) => resolveUnref(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(resolveUnref(sum), resolveUnref(value), index);\n return computed(() => {\n const resolved = resolveUnref(list);\n return args.length ? resolved.reduce(reduceCallback, resolveUnref(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => resolveUnref(list).some((element, index, array) => fn(resolveUnref(element), index, array)));\n}\n\nfunction useArrayUnique(list) {\n return computed(() => [...new Set(resolveUnref(list).map((element) => resolveUnref(element)))]);\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n const count = ref(initialValue);\n const {\n max = Infinity,\n min = -Infinity\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = initialValue) => {\n initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nconst defaultMeridiem = (hours, minutes, isLowercase, hasPeriod) => {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n};\nconst formatDate = (date, formatStr, options = {}) => {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => $1 || matches[match]());\n};\nconst normalizeDate = (date) => {\n if (date === null)\n return new Date(NaN);\n if (date === void 0)\n return new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n};\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(resolveUnref(date)), resolveUnref(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = resolveUnref(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || isFunction(interval)) {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nvar __defProp$6 = Object.defineProperty;\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$8.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$8)\n for (var prop of __getOwnPropSymbols$8(b)) {\n if (__propIsEnum$8.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(callback ? () => {\n update();\n callback(counter.value);\n } : update, interval, { immediate });\n if (exposeControls) {\n return __spreadValues$6({\n counter,\n reset\n }, controls);\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(source, () => ms.value = timestamp(), options);\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, resolveUnref(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$7)\n for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(callback != null ? callback : noop, interval, options);\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return __spreadValues$5({\n ready\n }, controls);\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = resolveUnref(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${resolveUnref(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = resolveUnref(truthyValue);\n _value.value = _value.value === truthy ? resolveUnref(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [\n ...source instanceof Function ? source() : Array.isArray(source) ? source : unref(source)\n ];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = new Array(oldList.length);\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __objRest$5 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$6.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$6)\n for (var prop of __getOwnPropSymbols$6(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$6.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchWithFilter(source, cb, options = {}) {\n const _a = options, {\n eventFilter = bypassFilter\n } = _a, watchOptions = __objRest$5(_a, [\n \"eventFilter\"\n ]);\n return watch(source, createFilterWrapper(eventFilter, cb), watchOptions);\n}\n\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __objRest$4 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$5)\n for (var prop of __getOwnPropSymbols$5(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$5.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchAtMost(source, cb, options) {\n const _a = options, {\n count\n } = _a, watchOptions = __objRest$4(_a, [\n \"count\"\n ]);\n const current = ref(0);\n const stop = watchWithFilter(source, (...args) => {\n current.value += 1;\n if (current.value >= resolveUnref(count))\n nextTick(() => stop());\n cb(...args);\n }, watchOptions);\n return { count: current, stop };\n}\n\nvar __defProp$4 = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nvar __objRest$3 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchDebounced(source, cb, options = {}) {\n const _a = options, {\n debounce = 0,\n maxWait = void 0\n } = _a, watchOptions = __objRest$3(_a, [\n \"debounce\",\n \"maxWait\"\n ]);\n return watchWithFilter(source, cb, __spreadProps$4(__spreadValues$4({}, watchOptions), {\n eventFilter: debounceFilter(debounce, { maxWait })\n }));\n}\n\nvar __defProp$3 = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nvar __objRest$2 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchIgnorable(source, cb, options = {}) {\n const _a = options, {\n eventFilter = bypassFilter\n } = _a, watchOptions = __objRest$2(_a, [\n \"eventFilter\"\n ]);\n const filteredCb = createFilterWrapper(eventFilter, cb);\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(source, (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n }, watchOptions);\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(watch(source, () => {\n syncCounter.value++;\n }, __spreadProps$3(__spreadValues$3({}, watchOptions), { flush: \"sync\" })));\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(watch(source, (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n }, watchOptions));\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nvar __objRest$1 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchPausable(source, cb, options = {}) {\n const _a = options, {\n eventFilter: filter\n } = _a, watchOptions = __objRest$1(_a, [\n \"eventFilter\"\n ]);\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(source, cb, __spreadProps$2(__spreadValues$2({}, watchOptions), {\n eventFilter\n }));\n return { stop, pause, resume, isActive };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchThrottled(source, cb, options = {}) {\n const _a = options, {\n throttle = 0,\n trailing = true,\n leading = true\n } = _a, watchOptions = __objRest(_a, [\n \"throttle\",\n \"trailing\",\n \"leading\"\n ]);\n return watchWithFilter(source, cb, __spreadProps$1(__spreadValues$1({}, watchOptions), {\n eventFilter: throttleFilter(throttle, trailing, leading)\n }));\n}\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return __spreadProps(__spreadValues({}, res), {\n trigger\n });\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => getOneWatchSource(item));\n return getOneWatchSource(sources);\n}\nfunction getOneWatchSource(source) {\n return typeof source === \"function\" ? source() : unref(source);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n return watch(source, (v, ov, onInvalidate) => {\n if (v)\n cb(v, ov, onInvalidate);\n }, options);\n}\n\nexport { __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAEC,SAAS,EAAEC,eAAe,EAAEC,cAAc,EAAEC,WAAW,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,IAAIC,QAAQ,EAAEC,KAAK,EAAEC,MAAM,EAAEC,GAAG,IAAIC,KAAK,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,SAAS,EAAEC,WAAW,EAAEC,UAAU,QAAQ,UAAU;AAExV,IAAIC,WAAW,GAAGC,MAAM,CAACC,cAAc;AACvC,IAAIC,YAAY,GAAGF,MAAM,CAACG,gBAAgB;AAC1C,IAAIC,mBAAmB,GAAGJ,MAAM,CAACK,yBAAyB;AAC1D,IAAIC,qBAAqB,GAAGN,MAAM,CAACO,qBAAqB;AACxD,IAAIC,cAAc,GAAGR,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAIC,cAAc,GAAGX,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAIC,iBAAiB,GAAGA,CAACC,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGf,WAAW,CAACe,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAII,gBAAgB,GAAGA,CAACC,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAId,cAAc,CAACgB,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9BV,iBAAiB,CAACQ,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAIjB,qBAAqB,EACvB,KAAK,IAAIiB,IAAI,IAAIjB,qBAAqB,CAACgB,CAAC,CAAC,EAAE;IACzC,IAAIX,cAAc,CAACa,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9BV,iBAAiB,CAACQ,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAII,eAAe,GAAGA,CAACJ,CAAC,EAAEC,CAAC,KAAKpB,YAAY,CAACmB,CAAC,EAAEjB,mBAAmB,CAACkB,CAAC,CAAC,CAAC;AACvE,SAASI,aAAaA,CAACC,EAAE,EAAEC,OAAO,EAAE;EAClC,IAAIC,EAAE;EACN,MAAMC,MAAM,GAAG7D,UAAU,CAAC,CAAC;EAC3BC,WAAW,CAAC,MAAM;IAChB4D,MAAM,CAACd,KAAK,GAAGW,EAAE,CAAC,CAAC;EACrB,CAAC,EAAEF,eAAe,CAACL,gBAAgB,CAAC,CAAC,CAAC,EAAEQ,OAAO,CAAC,EAAE;IAChDG,KAAK,EAAE,CAACF,EAAE,GAAGD,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACG,KAAK,KAAK,IAAI,GAAGF,EAAE,GAAG;EACxE,CAAC,CAAC,CAAC;EACH,OAAO1D,QAAQ,CAAC2D,MAAM,CAAC;AACzB;AAEA,IAAID,EAAE;AACN,MAAMG,QAAQ,GAAG,OAAOC,MAAM,KAAK,WAAW;AAC9C,MAAMC,KAAK,GAAIC,GAAG,IAAK,OAAOA,GAAG,KAAK,WAAW;AACjD,MAAMC,MAAM,GAAGA,CAACC,SAAS,EAAE,GAAGC,KAAK,KAAK;EACtC,IAAI,CAACD,SAAS,EACZE,OAAO,CAACC,IAAI,CAAC,GAAGF,KAAK,CAAC;AAC1B,CAAC;AACD,MAAMG,QAAQ,GAAGzC,MAAM,CAACS,SAAS,CAACgC,QAAQ;AAC1C,MAAMC,SAAS,GAAIP,GAAG,IAAK,OAAOA,GAAG,KAAK,SAAS;AACnD,MAAMQ,UAAU,GAAIR,GAAG,IAAK,OAAOA,GAAG,KAAK,UAAU;AACrD,MAAMS,QAAQ,GAAIT,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAMU,QAAQ,GAAIV,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAMW,QAAQ,GAAIX,GAAG,IAAKM,QAAQ,CAACjB,IAAI,CAACW,GAAG,CAAC,KAAK,iBAAiB;AAClE,MAAMY,QAAQ,GAAIZ,GAAG,IAAK,OAAOF,MAAM,KAAK,WAAW,IAAIQ,QAAQ,CAACjB,IAAI,CAACW,GAAG,CAAC,KAAK,iBAAiB;AACnG,MAAMa,GAAG,GAAGA,CAAA,KAAMC,IAAI,CAACD,GAAG,CAAC,CAAC;AAC5B,MAAME,SAAS,GAAGA,CAAA,KAAM,CAACD,IAAI,CAACD,GAAG,CAAC,CAAC;AACnC,MAAMG,KAAK,GAAGA,CAACC,CAAC,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAI,CAACF,GAAG,CAACC,GAAG,EAAEC,IAAI,CAACD,GAAG,CAACD,GAAG,EAAED,CAAC,CAAC,CAAC;AAC9D,MAAMI,IAAI,GAAGA,CAAA,KAAM,CACnB,CAAC;AACD,MAAMC,IAAI,GAAGA,CAACJ,GAAG,EAAEC,GAAG,KAAK;EACzBD,GAAG,GAAGE,IAAI,CAACG,IAAI,CAACL,GAAG,CAAC;EACpBC,GAAG,GAAGC,IAAI,CAACI,KAAK,CAACL,GAAG,CAAC;EACrB,OAAOC,IAAI,CAACI,KAAK,CAACJ,IAAI,CAACK,MAAM,CAAC,CAAC,IAAIN,GAAG,GAAGD,GAAG,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG;AAC1D,CAAC;AACD,MAAMQ,KAAK,GAAG7B,QAAQ,KAAK,CAACH,EAAE,GAAGI,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,MAAM,CAAC6B,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGjC,EAAE,CAACkC,SAAS,CAAC,IAAI,gBAAgB,CAACC,IAAI,CAAC/B,MAAM,CAAC6B,SAAS,CAACC,SAAS,CAAC;AAClK,MAAME,MAAM,GAAGA,CAAC9B,GAAG,EAAEpB,GAAG,KAAKf,MAAM,CAACS,SAAS,CAACC,cAAc,CAACc,IAAI,CAACW,GAAG,EAAEpB,GAAG,CAAC;AAE3E,SAASmD,YAAYA,CAACC,CAAC,EAAE;EACvB,OAAO,OAAOA,CAAC,KAAK,UAAU,GAAGA,CAAC,CAAC,CAAC,GAAG/F,KAAK,CAAC+F,CAAC,CAAC;AACjD;AAEA,SAASC,mBAAmBA,CAACC,MAAM,EAAE1C,EAAE,EAAE;EACvC,SAAS2C,OAAOA,CAAC,GAAGC,IAAI,EAAE;IACxB,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtCF,OAAO,CAACC,OAAO,CAACJ,MAAM,CAAC,MAAM1C,EAAE,CAACgD,KAAK,CAAC,IAAI,EAAEJ,IAAI,CAAC,EAAE;QAAE5C,EAAE;QAAEiD,OAAO,EAAE,IAAI;QAAEL;MAAK,CAAC,CAAC,CAAC,CAACM,IAAI,CAACJ,OAAO,CAAC,CAACK,KAAK,CAACJ,MAAM,CAAC;IAC9G,CAAC,CAAC;EACJ;EACA,OAAOJ,OAAO;AAChB;AACA,MAAMS,YAAY,GAAIC,MAAM,IAAK;EAC/B,OAAOA,MAAM,CAAC,CAAC;AACjB,CAAC;AACD,SAASC,cAAcA,CAACC,EAAE,EAAEtD,OAAO,GAAG,CAAC,CAAC,EAAE;EACxC,IAAIuD,KAAK;EACT,IAAIC,QAAQ;EACZ,IAAIC,YAAY,GAAG7B,IAAI;EACvB,MAAM8B,aAAa,GAAIC,MAAM,IAAK;IAChCC,YAAY,CAACD,MAAM,CAAC;IACpBF,YAAY,CAAC,CAAC;IACdA,YAAY,GAAG7B,IAAI;EACrB,CAAC;EACD,MAAMa,MAAM,GAAIW,MAAM,IAAK;IACzB,MAAMS,QAAQ,GAAGvB,YAAY,CAACgB,EAAE,CAAC;IACjC,MAAMQ,WAAW,GAAGxB,YAAY,CAACtC,OAAO,CAAC+D,OAAO,CAAC;IACjD,IAAIR,KAAK,EACPG,aAAa,CAACH,KAAK,CAAC;IACtB,IAAIM,QAAQ,IAAI,CAAC,IAAIC,WAAW,KAAK,KAAK,CAAC,IAAIA,WAAW,IAAI,CAAC,EAAE;MAC/D,IAAIN,QAAQ,EAAE;QACZE,aAAa,CAACF,QAAQ,CAAC;QACvBA,QAAQ,GAAG,IAAI;MACjB;MACA,OAAOZ,OAAO,CAACC,OAAO,CAACO,MAAM,CAAC,CAAC,CAAC;IAClC;IACA,OAAO,IAAIR,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtCW,YAAY,GAAGzD,OAAO,CAACgE,cAAc,GAAGlB,MAAM,GAAGD,OAAO;MACxD,IAAIiB,WAAW,IAAI,CAACN,QAAQ,EAAE;QAC5BA,QAAQ,GAAGS,UAAU,CAAC,MAAM;UAC1B,IAAIV,KAAK,EACPG,aAAa,CAACH,KAAK,CAAC;UACtBC,QAAQ,GAAG,IAAI;UACfX,OAAO,CAACO,MAAM,CAAC,CAAC,CAAC;QACnB,CAAC,EAAEU,WAAW,CAAC;MACjB;MACAP,KAAK,GAAGU,UAAU,CAAC,MAAM;QACvB,IAAIT,QAAQ,EACVE,aAAa,CAACF,QAAQ,CAAC;QACzBA,QAAQ,GAAG,IAAI;QACfX,OAAO,CAACO,MAAM,CAAC,CAAC,CAAC;MACnB,CAAC,EAAES,QAAQ,CAAC;IACd,CAAC,CAAC;EACJ,CAAC;EACD,OAAOpB,MAAM;AACf;AACA,SAASyB,cAAcA,CAACZ,EAAE,EAAEa,QAAQ,GAAG,IAAI,EAAEC,OAAO,GAAG,IAAI,EAAEJ,cAAc,GAAG,KAAK,EAAE;EACnF,IAAIK,QAAQ,GAAG,CAAC;EAChB,IAAId,KAAK;EACT,IAAIe,SAAS,GAAG,IAAI;EACpB,IAAIb,YAAY,GAAG7B,IAAI;EACvB,IAAI2C,SAAS;EACb,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAClB,IAAIjB,KAAK,EAAE;MACTK,YAAY,CAACL,KAAK,CAAC;MACnBA,KAAK,GAAG,KAAK,CAAC;MACdE,YAAY,CAAC,CAAC;MACdA,YAAY,GAAG7B,IAAI;IACrB;EACF,CAAC;EACD,MAAMa,MAAM,GAAIgC,OAAO,IAAK;IAC1B,MAAMZ,QAAQ,GAAGvB,YAAY,CAACgB,EAAE,CAAC;IACjC,MAAMoB,OAAO,GAAGrD,IAAI,CAACD,GAAG,CAAC,CAAC,GAAGiD,QAAQ;IACrC,MAAMjB,MAAM,GAAGA,CAAA,KAAM;MACnB,OAAOmB,SAAS,GAAGE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACDD,KAAK,CAAC,CAAC;IACP,IAAIX,QAAQ,IAAI,CAAC,EAAE;MACjBQ,QAAQ,GAAGhD,IAAI,CAACD,GAAG,CAAC,CAAC;MACrB,OAAOgC,MAAM,CAAC,CAAC;IACjB;IACA,IAAIsB,OAAO,GAAGb,QAAQ,KAAKO,OAAO,IAAI,CAACE,SAAS,CAAC,EAAE;MACjDD,QAAQ,GAAGhD,IAAI,CAACD,GAAG,CAAC,CAAC;MACrBgC,MAAM,CAAC,CAAC;IACV,CAAC,MAAM,IAAIe,QAAQ,EAAE;MACnBI,SAAS,GAAG,IAAI3B,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;QAC3CW,YAAY,GAAGO,cAAc,GAAGlB,MAAM,GAAGD,OAAO;QAChDU,KAAK,GAAGU,UAAU,CAAC,MAAM;UACvBI,QAAQ,GAAGhD,IAAI,CAACD,GAAG,CAAC,CAAC;UACrBkD,SAAS,GAAG,IAAI;UAChBzB,OAAO,CAACO,MAAM,CAAC,CAAC,CAAC;UACjBoB,KAAK,CAAC,CAAC;QACT,CAAC,EAAE7C,IAAI,CAACD,GAAG,CAAC,CAAC,EAAEmC,QAAQ,GAAGa,OAAO,CAAC,CAAC;MACrC,CAAC,CAAC;IACJ;IACA,IAAI,CAACN,OAAO,IAAI,CAACb,KAAK,EACpBA,KAAK,GAAGU,UAAU,CAAC,MAAMK,SAAS,GAAG,IAAI,EAAET,QAAQ,CAAC;IACtDS,SAAS,GAAG,KAAK;IACjB,OAAOC,SAAS;EAClB,CAAC;EACD,OAAO9B,MAAM;AACf;AACA,SAASkC,cAAcA,CAACC,YAAY,GAAGzB,YAAY,EAAE;EACnD,MAAM0B,QAAQ,GAAGpI,GAAG,CAAC,IAAI,CAAC;EAC1B,SAASqI,KAAKA,CAAA,EAAG;IACfD,QAAQ,CAACzF,KAAK,GAAG,KAAK;EACxB;EACA,SAAS2F,MAAMA,CAAA,EAAG;IAChBF,QAAQ,CAACzF,KAAK,GAAG,IAAI;EACvB;EACA,MAAM4F,WAAW,GAAGA,CAAC,GAAGrC,IAAI,KAAK;IAC/B,IAAIkC,QAAQ,CAACzF,KAAK,EAChBwF,YAAY,CAAC,GAAGjC,IAAI,CAAC;EACzB,CAAC;EACD,OAAO;IAAEkC,QAAQ,EAAEtI,QAAQ,CAACsI,QAAQ,CAAC;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAY,CAAC;AACrE;AAEA,SAASC,UAAUA,CAACC,IAAI,GAAG,eAAe,EAAE;EAC1C,IAAIxI,MAAM,EACR;EACF,MAAM,IAAIyI,KAAK,CAAC,YAAYD,IAAI,0BAA0B,CAAC;AAC7D;AACA,SAASE,eAAeA,CAACF,IAAI,GAAG,eAAe,EAAE;EAC/C,IAAIxI,MAAM,IAAIC,OAAO,CAAC0I,UAAU,CAAC,MAAM,CAAC,EACtC;EACF,MAAM,IAAIF,KAAK,CAAC,YAAYD,IAAI,qCAAqC,CAAC;AACxE;AACA,MAAMI,cAAc,GAAG;EACrBC,OAAO,EAAE7I,MAAM,GAAG,SAAS,GAAG,UAAU;EACxC8I,OAAO,EAAE9I,MAAM,GAAG,SAAS,GAAG,kBAAkB;EAChD+I,SAAS,EAAE/I,MAAM,GAAG,WAAW,GAAG;AACpC,CAAC;AAED,SAASgJ,cAAcA,CAACpC,EAAE,EAAEqC,cAAc,GAAG,KAAK,EAAEC,MAAM,GAAG,SAAS,EAAE;EACtE,OAAO,IAAIhD,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI6C,cAAc,EAChB1B,UAAU,CAAC,MAAMnB,MAAM,CAAC8C,MAAM,CAAC,EAAEtC,EAAE,CAAC,CAAC,KAErCW,UAAU,CAACpB,OAAO,EAAES,EAAE,CAAC;EAC3B,CAAC,CAAC;AACJ;AACA,SAASuC,QAAQA,CAACC,GAAG,EAAE;EACrB,OAAOA,GAAG;AACZ;AACA,SAASC,sBAAsBA,CAAChG,EAAE,EAAE;EAClC,IAAIiG,QAAQ;EACZ,SAAStD,OAAOA,CAAA,EAAG;IACjB,IAAI,CAACsD,QAAQ,EACXA,QAAQ,GAAGjG,EAAE,CAAC,CAAC;IACjB,OAAOiG,QAAQ;EACjB;EACAtD,OAAO,CAACuD,KAAK,GAAG,YAAY;IAC1B,MAAMC,KAAK,GAAGF,QAAQ;IACtBA,QAAQ,GAAG,KAAK,CAAC;IACjB,IAAIE,KAAK,EACP,MAAMA,KAAK;EACf,CAAC;EACD,OAAOxD,OAAO;AAChB;AACA,SAASU,MAAMA,CAACrD,EAAE,EAAE;EAClB,OAAOA,EAAE,CAAC,CAAC;AACb;AACA,SAASoG,YAAYA,CAACjH,GAAG,EAAE,GAAGkH,KAAK,EAAE;EACnC,OAAOA,KAAK,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,IAAIpH,GAAG,CAAC;AACpC;AACA,SAASqH,gBAAgBA,CAACC,MAAM,EAAEC,KAAK,EAAE;EACvC,IAAIxG,EAAE;EACN,IAAI,OAAOuG,MAAM,KAAK,QAAQ,EAC5B,OAAOA,MAAM,GAAGC,KAAK;EACvB,MAAMrH,KAAK,GAAG,CAAC,CAACa,EAAE,GAAGuG,MAAM,CAACE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGzG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;EACxF,MAAM0G,IAAI,GAAGH,MAAM,CAACI,KAAK,CAACxH,KAAK,CAACyH,MAAM,CAAC;EACvC,MAAM3G,MAAM,GAAG4G,UAAU,CAAC1H,KAAK,CAAC,GAAGqH,KAAK;EACxC,IAAIM,MAAM,CAACC,KAAK,CAAC9G,MAAM,CAAC,EACtB,OAAOsG,MAAM;EACf,OAAOtG,MAAM,GAAGyG,IAAI;AACtB;AACA,SAASM,UAAUA,CAAC/H,GAAG,EAAEgI,IAAI,EAAEC,aAAa,GAAG,KAAK,EAAE;EACpD,OAAOD,IAAI,CAACE,MAAM,CAAC,CAAC5F,CAAC,EAAE8E,CAAC,KAAK;IAC3B,IAAIA,CAAC,IAAIpH,GAAG,EAAE;MACZ,IAAI,CAACiI,aAAa,IAAIjI,GAAG,CAACoH,CAAC,CAAC,KAAK,KAAK,CAAC,EACrC9E,CAAC,CAAC8E,CAAC,CAAC,GAAGpH,GAAG,CAACoH,CAAC,CAAC;IACjB;IACA,OAAO9E,CAAC;EACV,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,SAAS6F,mBAAmBA,CAACC,MAAM,EAAEvH,EAAE,EAAE;EACvC,IAAIwH,CAAC,GAAG,KAAK,CAAC;EACd,IAAIC,KAAK;EACT,IAAIC,OAAO;EACX,MAAMC,KAAK,GAAGjL,GAAG,CAAC,IAAI,CAAC;EACvB,MAAMkL,MAAM,GAAGA,CAAA,KAAM;IACnBD,KAAK,CAACtI,KAAK,GAAG,IAAI;IAClBqI,OAAO,CAAC,CAAC;EACX,CAAC;EACD7K,KAAK,CAAC0K,MAAM,EAAEK,MAAM,EAAE;IAAExH,KAAK,EAAE;EAAO,CAAC,CAAC;EACxC,MAAMyH,GAAG,GAAG7G,UAAU,CAAChB,EAAE,CAAC,GAAGA,EAAE,GAAGA,EAAE,CAAC6H,GAAG;EACxC,MAAMlK,GAAG,GAAGqD,UAAU,CAAChB,EAAE,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACrC,GAAG;EAC5C,MAAMwC,MAAM,GAAGrD,SAAS,CAAC,CAACgL,MAAM,EAAEC,QAAQ,KAAK;IAC7CN,KAAK,GAAGK,MAAM;IACdJ,OAAO,GAAGK,QAAQ;IAClB,OAAO;MACLF,GAAGA,CAAA,EAAG;QACJ,IAAIF,KAAK,CAACtI,KAAK,EAAE;UACfmI,CAAC,GAAGK,GAAG,CAAC,CAAC;UACTF,KAAK,CAACtI,KAAK,GAAG,KAAK;QACrB;QACAoI,KAAK,CAAC,CAAC;QACP,OAAOD,CAAC;MACV,CAAC;MACD7J,GAAGA,CAACqK,EAAE,EAAE;QACNrK,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,GAAG,CAACqK,EAAE,CAAC;MAChC;IACF,CAAC;EACH,CAAC,CAAC;EACF,IAAI3J,MAAM,CAAC4J,YAAY,CAAC9H,MAAM,CAAC,EAC7BA,MAAM,CAACuH,OAAO,GAAGE,MAAM;EACzB,OAAOzH,MAAM;AACf;AAEA,SAAS+H,iBAAiBA,CAAClI,EAAE,EAAE;EAC7B,IAAIjD,eAAe,CAAC,CAAC,EAAE;IACrBC,cAAc,CAACgD,EAAE,CAAC;IAClB,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd;AAEA,SAASmI,eAAeA,CAAA,EAAG;EACzB,MAAMC,GAAG,GAAG,EAAE;EACd,MAAMC,GAAG,GAAIrI,EAAE,IAAK;IAClB,MAAMsI,KAAK,GAAGF,GAAG,CAACG,OAAO,CAACvI,EAAE,CAAC;IAC7B,IAAIsI,KAAK,KAAK,CAAC,CAAC,EACdF,GAAG,CAACI,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;EACxB,CAAC;EACD,MAAMG,EAAE,GAAIzI,EAAE,IAAK;IACjBoI,GAAG,CAACM,IAAI,CAAC1I,EAAE,CAAC;IACZ,MAAM2I,KAAK,GAAGA,CAAA,KAAMN,GAAG,CAACrI,EAAE,CAAC;IAC3BkI,iBAAiB,CAACS,KAAK,CAAC;IACxB,OAAO;MACLN,GAAG,EAAEM;IACP,CAAC;EACH,CAAC;EACD,MAAMjB,OAAO,GAAIkB,KAAK,IAAK;IACzBR,GAAG,CAACS,OAAO,CAAE7I,EAAE,IAAKA,EAAE,CAAC4I,KAAK,CAAC,CAAC;EAChC,CAAC;EACD,OAAO;IACLH,EAAE;IACFJ,GAAG;IACHX;EACF,CAAC;AACH;AAEA,SAASoB,iBAAiBA,CAACC,YAAY,EAAE;EACvC,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,KAAK;EACT,MAAMC,KAAK,GAAGjM,WAAW,CAAC,IAAI,CAAC;EAC/B,OAAO,MAAM;IACX,IAAI,CAAC+L,WAAW,EAAE;MAChBC,KAAK,GAAGC,KAAK,CAACC,GAAG,CAACJ,YAAY,CAAC;MAC/BC,WAAW,GAAG,IAAI;IACpB;IACA,OAAOC,KAAK;EACd,CAAC;AACH;AAEA,SAASG,oBAAoBA,CAACC,UAAU,EAAE;EACxC,MAAMjK,GAAG,GAAGkK,MAAM,CAAC,gBAAgB,CAAC;EACpC,MAAMC,iBAAiB,GAAGA,CAAC,GAAG3G,IAAI,KAAK;IACrC,MAAMqG,KAAK,GAAGI,UAAU,CAAC,GAAGzG,IAAI,CAAC;IACjC1F,OAAO,CAACkC,GAAG,EAAE6J,KAAK,CAAC;IACnB,OAAOA,KAAK;EACd,CAAC;EACD,MAAMO,gBAAgB,GAAGA,CAAA,KAAMrM,MAAM,CAACiC,GAAG,CAAC;EAC1C,OAAO,CAACmK,iBAAiB,EAAEC,gBAAgB,CAAC;AAC9C;AAEA,SAASC,sBAAsBA,CAACJ,UAAU,EAAE;EAC1C,IAAIK,WAAW,GAAG,CAAC;EACnB,IAAIT,KAAK;EACT,IAAIC,KAAK;EACT,MAAMS,OAAO,GAAGA,CAAA,KAAM;IACpBD,WAAW,IAAI,CAAC;IAChB,IAAIR,KAAK,IAAIQ,WAAW,IAAI,CAAC,EAAE;MAC7BR,KAAK,CAACU,IAAI,CAAC,CAAC;MACZX,KAAK,GAAG,KAAK,CAAC;MACdC,KAAK,GAAG,KAAK,CAAC;IAChB;EACF,CAAC;EACD,OAAO,CAAC,GAAGtG,IAAI,KAAK;IAClB8G,WAAW,IAAI,CAAC;IAChB,IAAI,CAACT,KAAK,EAAE;MACVC,KAAK,GAAGjM,WAAW,CAAC,IAAI,CAAC;MACzBgM,KAAK,GAAGC,KAAK,CAACC,GAAG,CAAC,MAAME,UAAU,CAAC,GAAGzG,IAAI,CAAC,CAAC;IAC9C;IACAsF,iBAAiB,CAACyB,OAAO,CAAC;IAC1B,OAAOV,KAAK;EACd,CAAC;AACH;AAEA,SAASY,SAASA,CAACnN,GAAG,EAAEoN,MAAM,EAAE;EAAExK,UAAU,GAAG,KAAK;EAAEyK,MAAM,GAAG;AAAK,CAAC,GAAG,CAAC,CAAC,EAAE;EAC1E1E,eAAe,CAAC,CAAC;EACjB,KAAK,MAAM,CAACjG,GAAG,EAAEC,KAAK,CAAC,IAAIhB,MAAM,CAAC2L,OAAO,CAACF,MAAM,CAAC,EAAE;IACjD,IAAI1K,GAAG,KAAK,OAAO,EACjB;IACF,IAAIhC,KAAK,CAACiC,KAAK,CAAC,IAAI0K,MAAM,EAAE;MAC1B1L,MAAM,CAACC,cAAc,CAAC5B,GAAG,EAAE0C,GAAG,EAAE;QAC9ByI,GAAGA,CAAA,EAAG;UACJ,OAAOxI,KAAK,CAACA,KAAK;QACpB,CAAC;QACD1B,GAAGA,CAAC6J,CAAC,EAAE;UACLnI,KAAK,CAACA,KAAK,GAAGmI,CAAC;QACjB,CAAC;QACDlI;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACLjB,MAAM,CAACC,cAAc,CAAC5B,GAAG,EAAE0C,GAAG,EAAE;QAAEC,KAAK;QAAEC;MAAW,CAAC,CAAC;IACxD;EACF;EACA,OAAO5C,GAAG;AACZ;AAEA,SAASmL,GAAGA,CAAC1I,GAAG,EAAEC,GAAG,EAAE;EACrB,IAAIA,GAAG,IAAI,IAAI,EACb,OAAO3C,KAAK,CAAC0C,GAAG,CAAC;EACnB,OAAO1C,KAAK,CAAC0C,GAAG,CAAC,CAACC,GAAG,CAAC;AACxB;AAEA,SAAS6K,SAASA,CAACzC,CAAC,EAAE;EACpB,OAAO/K,KAAK,CAAC+K,CAAC,CAAC,IAAI,IAAI;AACzB;AAEA,IAAI0C,WAAW,GAAG7L,MAAM,CAACC,cAAc;AACvC,IAAI6L,qBAAqB,GAAG9L,MAAM,CAACO,qBAAqB;AACxD,IAAIwL,cAAc,GAAG/L,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAIsL,cAAc,GAAGhM,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAIqL,iBAAiB,GAAGA,CAACnL,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAG+K,WAAW,CAAC/K,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAIkL,gBAAgB,GAAGA,CAAC7K,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAIyK,cAAc,CAACvK,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B0K,iBAAiB,CAAC5K,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAIuK,qBAAqB,EACvB,KAAK,IAAIvK,IAAI,IAAIuK,qBAAqB,CAACxK,CAAC,CAAC,EAAE;IACzC,IAAI0K,cAAc,CAACxK,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B0K,iBAAiB,CAAC5K,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,SAAS8K,kBAAkBA,CAACrL,GAAG,EAAEsL,GAAG,EAAE;EACpC,IAAI,OAAOnB,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMoB,KAAK,GAAGH,gBAAgB,CAAC,CAAC,CAAC,EAAEpL,GAAG,CAAC;IACvCd,MAAM,CAACC,cAAc,CAACoM,KAAK,EAAEpB,MAAM,CAACqB,QAAQ,EAAE;MAC5CrL,UAAU,EAAE,KAAK;MACjBD,KAAKA,CAAA,EAAG;QACN,IAAIiJ,KAAK,GAAG,CAAC;QACb,OAAO;UACLsC,IAAI,EAAEA,CAAA,MAAO;YACXvL,KAAK,EAAEoL,GAAG,CAACnC,KAAK,EAAE,CAAC;YACnBuC,IAAI,EAAEvC,KAAK,GAAGmC,GAAG,CAAC3D;UACpB,CAAC;QACH,CAAC;MACH;IACF,CAAC,CAAC;IACF,OAAO4D,KAAK;EACd,CAAC,MAAM;IACL,OAAOrM,MAAM,CAACyM,MAAM,CAAC,CAAC,GAAGL,GAAG,CAAC,EAAEtL,GAAG,CAAC;EACrC;AACF;AAEA,SAAS4L,QAAQA,CAAC/K,EAAE,EAAEC,OAAO,EAAE;EAC7B,MAAM+K,OAAO,GAAG,CAAC/K,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACgL,cAAc,MAAM,KAAK,GAAGxO,KAAK,GAAG8F,YAAY;EACpG,OAAO,UAAS,GAAGK,IAAI,EAAE;IACvB,OAAOvF,QAAQ,CAAC,MAAM2C,EAAE,CAACgD,KAAK,CAAC,IAAI,EAAEJ,IAAI,CAACsI,GAAG,CAAEC,CAAC,IAAKH,OAAO,CAACG,CAAC,CAAC,CAAC,CAAC,CAAC;EACpE,CAAC;AACH;AAEA,SAASC,cAAcA,CAACjM,GAAG,EAAEkM,aAAa,GAAG,CAAC,CAAC,EAAE;EAC/C,IAAIlE,IAAI,GAAG,EAAE;EACb,IAAIlH,OAAO;EACX,IAAIqL,KAAK,CAACC,OAAO,CAACF,aAAa,CAAC,EAAE;IAChClE,IAAI,GAAGkE,aAAa;EACtB,CAAC,MAAM;IACLpL,OAAO,GAAGoL,aAAa;IACvB,MAAM;MAAEG,oBAAoB,GAAG;IAAK,CAAC,GAAGH,aAAa;IACrDlE,IAAI,CAACuB,IAAI,CAAC,GAAGrK,MAAM,CAAC8I,IAAI,CAAChI,GAAG,CAAC,CAAC;IAC9B,IAAIqM,oBAAoB,EACtBrE,IAAI,CAACuB,IAAI,CAAC,GAAGrK,MAAM,CAACoN,mBAAmB,CAACtM,GAAG,CAAC,CAAC;EACjD;EACA,OAAOd,MAAM,CAACqN,WAAW,CAACvE,IAAI,CAAC+D,GAAG,CAAE9L,GAAG,IAAK;IAC1C,MAAMC,KAAK,GAAGF,GAAG,CAACC,GAAG,CAAC;IACtB,OAAO,CACLA,GAAG,EACH,OAAOC,KAAK,KAAK,UAAU,GAAG0L,QAAQ,CAAC1L,KAAK,CAACsM,IAAI,CAACxM,GAAG,CAAC,EAAEc,OAAO,CAAC,GAAGZ,KAAK,CACzE;EACH,CAAC,CAAC,CAAC;AACL;AAEA,SAASuM,UAAUA,CAACC,SAAS,EAAE;EAC7B,IAAI,CAACzO,KAAK,CAACyO,SAAS,CAAC,EACnB,OAAOvO,QAAQ,CAACuO,SAAS,CAAC;EAC5B,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC1BlE,GAAGA,CAACmE,CAAC,EAAEC,CAAC,EAAEC,QAAQ,EAAE;MAClB,OAAOzP,KAAK,CAAC0P,OAAO,CAACtE,GAAG,CAACgE,SAAS,CAACxM,KAAK,EAAE4M,CAAC,EAAEC,QAAQ,CAAC,CAAC;IACzD,CAAC;IACDvO,GAAGA,CAACqO,CAAC,EAAEC,CAAC,EAAE5M,KAAK,EAAE;MACf,IAAIjC,KAAK,CAACyO,SAAS,CAACxM,KAAK,CAAC4M,CAAC,CAAC,CAAC,IAAI,CAAC7O,KAAK,CAACiC,KAAK,CAAC,EAC5CwM,SAAS,CAACxM,KAAK,CAAC4M,CAAC,CAAC,CAAC5M,KAAK,GAAGA,KAAK,CAAC,KAEjCwM,SAAS,CAACxM,KAAK,CAAC4M,CAAC,CAAC,GAAG5M,KAAK;MAC5B,OAAO,IAAI;IACb,CAAC;IACD+M,cAAcA,CAACJ,CAAC,EAAEC,CAAC,EAAE;MACnB,OAAOE,OAAO,CAACC,cAAc,CAACP,SAAS,CAACxM,KAAK,EAAE4M,CAAC,CAAC;IACnD,CAAC;IACDI,GAAGA,CAACL,CAAC,EAAEC,CAAC,EAAE;MACR,OAAOE,OAAO,CAACE,GAAG,CAACR,SAAS,CAACxM,KAAK,EAAE4M,CAAC,CAAC;IACxC,CAAC;IACDK,OAAOA,CAAA,EAAG;MACR,OAAOjO,MAAM,CAAC8I,IAAI,CAAC0E,SAAS,CAACxM,KAAK,CAAC;IACrC,CAAC;IACDkN,wBAAwBA,CAAA,EAAG;MACzB,OAAO;QACLjN,UAAU,EAAE,IAAI;QAChBC,YAAY,EAAE;MAChB,CAAC;IACH;EACF,CAAC,CAAC;EACF,OAAOjC,QAAQ,CAACwO,KAAK,CAAC;AACxB;AAEA,SAASU,gBAAgBA,CAACxM,EAAE,EAAE;EAC5B,OAAO4L,UAAU,CAACvO,QAAQ,CAAC2C,EAAE,CAAC,CAAC;AACjC;AAEA,SAASyM,YAAYA,CAACtN,GAAG,EAAE,GAAGgI,IAAI,EAAE;EAClC,MAAMuF,QAAQ,GAAGvF,IAAI,CAACwF,IAAI,CAAC,CAAC;EAC5B,OAAOH,gBAAgB,CAAC,MAAMnO,MAAM,CAACqN,WAAW,CAACrN,MAAM,CAAC2L,OAAO,CAACxM,QAAQ,CAAC2B,GAAG,CAAC,CAAC,CAACuD,MAAM,CAAEkK,CAAC,IAAK,CAACF,QAAQ,CAACG,QAAQ,CAACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1H;AAEA,SAASE,YAAYA,CAAC3N,GAAG,EAAE,GAAGgI,IAAI,EAAE;EAClC,MAAMuF,QAAQ,GAAGvF,IAAI,CAACwF,IAAI,CAAC,CAAC;EAC5B,OAAOrP,QAAQ,CAACe,MAAM,CAACqN,WAAW,CAACgB,QAAQ,CAACxB,GAAG,CAAE3E,CAAC,IAAK,CAACA,CAAC,EAAE9I,KAAK,CAAC0B,GAAG,EAAEoH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E;AAEA,SAASwG,YAAYA,CAACC,YAAY,EAAEC,OAAO,GAAG,GAAG,EAAE;EACjD,OAAOnQ,SAAS,CAAC,CAAC2K,KAAK,EAAEC,OAAO,KAAK;IACnC,IAAIrI,KAAK,GAAG2N,YAAY;IACxB,IAAIxJ,KAAK;IACT,MAAM0J,UAAU,GAAGA,CAAA,KAAMhJ,UAAU,CAAC,MAAM;MACxC7E,KAAK,GAAG2N,YAAY;MACpBtF,OAAO,CAAC,CAAC;IACX,CAAC,EAAEnF,YAAY,CAAC0K,OAAO,CAAC,CAAC;IACzB/E,iBAAiB,CAAC,MAAM;MACtBrE,YAAY,CAACL,KAAK,CAAC;IACrB,CAAC,CAAC;IACF,OAAO;MACLqE,GAAGA,CAAA,EAAG;QACJJ,KAAK,CAAC,CAAC;QACP,OAAOpI,KAAK;MACd,CAAC;MACD1B,GAAGA,CAACwP,QAAQ,EAAE;QACZ9N,KAAK,GAAG8N,QAAQ;QAChBzF,OAAO,CAAC,CAAC;QACT7D,YAAY,CAACL,KAAK,CAAC;QACnBA,KAAK,GAAG0J,UAAU,CAAC,CAAC;MACtB;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,SAASE,aAAaA,CAACpN,EAAE,EAAEuD,EAAE,GAAG,GAAG,EAAEtD,OAAO,GAAG,CAAC,CAAC,EAAE;EACjD,OAAOwC,mBAAmB,CAACa,cAAc,CAACC,EAAE,EAAEtD,OAAO,CAAC,EAAED,EAAE,CAAC;AAC7D;AAEA,SAASqN,YAAYA,CAAChO,KAAK,EAAEkE,EAAE,GAAG,GAAG,EAAEtD,OAAO,GAAG,CAAC,CAAC,EAAE;EACnD,MAAMqN,SAAS,GAAG5Q,GAAG,CAAC2C,KAAK,CAACA,KAAK,CAAC;EAClC,MAAMkO,OAAO,GAAGH,aAAa,CAAC,MAAM;IAClCE,SAAS,CAACjO,KAAK,GAAGA,KAAK,CAACA,KAAK;EAC/B,CAAC,EAAEkE,EAAE,EAAEtD,OAAO,CAAC;EACfpD,KAAK,CAACwC,KAAK,EAAE,MAAMkO,OAAO,CAAC,CAAC,CAAC;EAC7B,OAAOD,SAAS;AAClB;AAEA,SAASE,UAAUA,CAACjG,MAAM,EAAEyF,YAAY,EAAE;EACxC,OAAO3P,QAAQ,CAAC;IACdwK,GAAGA,CAAA,EAAG;MACJ,IAAI3H,EAAE;MACN,OAAO,CAACA,EAAE,GAAGqH,MAAM,CAAClI,KAAK,KAAK,IAAI,GAAGa,EAAE,GAAG8M,YAAY;IACxD,CAAC;IACDrP,GAAGA,CAAC0B,KAAK,EAAE;MACTkI,MAAM,CAAClI,KAAK,GAAGA,KAAK;IACtB;EACF,CAAC,CAAC;AACJ;AAEA,SAASoO,aAAaA,CAACzN,EAAE,EAAEuD,EAAE,GAAG,GAAG,EAAEa,QAAQ,GAAG,KAAK,EAAEC,OAAO,GAAG,IAAI,EAAEJ,cAAc,GAAG,KAAK,EAAE;EAC7F,OAAOxB,mBAAmB,CAAC0B,cAAc,CAACZ,EAAE,EAAEa,QAAQ,EAAEC,OAAO,EAAEJ,cAAc,CAAC,EAAEjE,EAAE,CAAC;AACvF;AAEA,SAAS0N,YAAYA,CAACrO,KAAK,EAAEsO,KAAK,GAAG,GAAG,EAAEvJ,QAAQ,GAAG,IAAI,EAAEC,OAAO,GAAG,IAAI,EAAE;EACzE,IAAIsJ,KAAK,IAAI,CAAC,EACZ,OAAOtO,KAAK;EACd,MAAMuO,SAAS,GAAGlR,GAAG,CAAC2C,KAAK,CAACA,KAAK,CAAC;EAClC,MAAMkO,OAAO,GAAGE,aAAa,CAAC,MAAM;IAClCG,SAAS,CAACvO,KAAK,GAAGA,KAAK,CAACA,KAAK;EAC/B,CAAC,EAAEsO,KAAK,EAAEvJ,QAAQ,EAAEC,OAAO,CAAC;EAC5BxH,KAAK,CAACwC,KAAK,EAAE,MAAMkO,OAAO,CAAC,CAAC,CAAC;EAC7B,OAAOK,SAAS;AAClB;AAEA,SAASC,cAAcA,CAACC,OAAO,EAAE7N,OAAO,GAAG,CAAC,CAAC,EAAE;EAC7C,IAAIsH,MAAM,GAAGuG,OAAO;EACpB,IAAIrG,KAAK;EACT,IAAIC,OAAO;EACX,MAAMhL,GAAG,GAAGI,SAAS,CAAC,CAACgL,MAAM,EAAEC,QAAQ,KAAK;IAC1CN,KAAK,GAAGK,MAAM;IACdJ,OAAO,GAAGK,QAAQ;IAClB,OAAO;MACLF,GAAGA,CAAA,EAAG;QACJ,OAAOA,GAAG,CAAC,CAAC;MACd,CAAC;MACDlK,GAAGA,CAAC6J,CAAC,EAAE;QACL7J,GAAG,CAAC6J,CAAC,CAAC;MACR;IACF,CAAC;EACH,CAAC,CAAC;EACF,SAASK,GAAGA,CAACkG,QAAQ,GAAG,IAAI,EAAE;IAC5B,IAAIA,QAAQ,EACVtG,KAAK,CAAC,CAAC;IACT,OAAOF,MAAM;EACf;EACA,SAAS5J,GAAGA,CAAC0B,KAAK,EAAE2O,UAAU,GAAG,IAAI,EAAE;IACrC,IAAI9N,EAAE,EAAE+N,EAAE;IACV,IAAI5O,KAAK,KAAKkI,MAAM,EAClB;IACF,MAAM2G,GAAG,GAAG3G,MAAM;IAClB,IAAI,CAAC,CAACrH,EAAE,GAAGD,OAAO,CAACkO,cAAc,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGjO,EAAE,CAACL,IAAI,CAACI,OAAO,EAAEZ,KAAK,EAAE6O,GAAG,CAAC,MAAM,KAAK,EAC3F;IACF3G,MAAM,GAAGlI,KAAK;IACd,CAAC4O,EAAE,GAAGhO,OAAO,CAACmO,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGH,EAAE,CAACpO,IAAI,CAACI,OAAO,EAAEZ,KAAK,EAAE6O,GAAG,CAAC;IACxE,IAAIF,UAAU,EACZtG,OAAO,CAAC,CAAC;EACb;EACA,MAAM2G,YAAY,GAAGA,CAAA,KAAMxG,GAAG,CAAC,KAAK,CAAC;EACrC,MAAMyG,SAAS,GAAI9G,CAAC,IAAK7J,GAAG,CAAC6J,CAAC,EAAE,KAAK,CAAC;EACtC,MAAM+G,IAAI,GAAGA,CAAA,KAAM1G,GAAG,CAAC,KAAK,CAAC;EAC7B,MAAM2G,GAAG,GAAIhH,CAAC,IAAK7J,GAAG,CAAC6J,CAAC,EAAE,KAAK,CAAC;EAChC,OAAOqC,SAAS,CAACnN,GAAG,EAAE;IACpBmL,GAAG;IACHlK,GAAG;IACH0Q,YAAY;IACZC,SAAS;IACTC,IAAI;IACJC;EACF,CAAC,EAAE;IAAElP,UAAU,EAAE;EAAK,CAAC,CAAC;AAC1B;AACA,MAAMmP,aAAa,GAAGZ,cAAc;AAEpC,SAASa,UAAUA,CAAClM,CAAC,EAAE;EACrB,OAAO,OAAOA,CAAC,KAAK,UAAU,GAAGnF,QAAQ,CAACmF,CAAC,CAAC,GAAG9F,GAAG,CAAC8F,CAAC,CAAC;AACvD;AAEA,SAAS7E,GAAGA,CAAC,GAAGiF,IAAI,EAAE;EACpB,IAAIA,IAAI,CAACkE,MAAM,KAAK,CAAC,EAAE;IACrB,MAAM,CAACpK,GAAG,EAAE2C,KAAK,CAAC,GAAGuD,IAAI;IACzBlG,GAAG,CAAC2C,KAAK,GAAGA,KAAK;EACnB;EACA,IAAIuD,IAAI,CAACkE,MAAM,KAAK,CAAC,EAAE;IACrB,IAAIpJ,MAAM,EAAE;MACVE,KAAK,CAAC,GAAGgF,IAAI,CAAC;IAChB,CAAC,MAAM;MACL,MAAM,CAAC6D,MAAM,EAAErH,GAAG,EAAEC,KAAK,CAAC,GAAGuD,IAAI;MACjC6D,MAAM,CAACrH,GAAG,CAAC,GAAGC,KAAK;IACrB;EACF;AACF;AAEA,SAASsP,OAAOA,CAACC,IAAI,EAAEC,KAAK,EAAE5O,OAAO,GAAG,CAAC,CAAC,EAAE;EAC1C,IAAIC,EAAE,EAAE+N,EAAE;EACV,MAAM;IACJ7N,KAAK,GAAG,MAAM;IACd0O,IAAI,GAAG,KAAK;IACZC,SAAS,GAAG,IAAI;IAChBC,SAAS,GAAG,MAAM;IAClBC,SAAS,GAAG,CAAC;EACf,CAAC,GAAGhP,OAAO;EACX,IAAIiP,SAAS;EACb,IAAIC,UAAU;EACd,MAAMC,YAAY,GAAG,CAAClP,EAAE,GAAG+O,SAAS,CAACI,GAAG,KAAK,IAAI,GAAGnP,EAAE,GAAIsH,CAAC,IAAKA,CAAC;EACjE,MAAM8H,YAAY,GAAG,CAACrB,EAAE,GAAGgB,SAAS,CAACM,GAAG,KAAK,IAAI,GAAGtB,EAAE,GAAIzG,CAAC,IAAKA,CAAC;EACjE,IAAIwH,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,KAAK,EAAE;IAC/CE,SAAS,GAAGrS,KAAK,CAAC+R,IAAI,EAAGzB,QAAQ,IAAK0B,KAAK,CAACxP,KAAK,GAAG+P,YAAY,CAACjC,QAAQ,CAAC,EAAE;MAAE/M,KAAK;MAAE0O,IAAI;MAAEC;IAAU,CAAC,CAAC;EACzG;EACA,IAAIC,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,KAAK,EAAE;IAC/CG,UAAU,GAAGtS,KAAK,CAACgS,KAAK,EAAG1B,QAAQ,IAAKyB,IAAI,CAACvP,KAAK,GAAGiQ,YAAY,CAACnC,QAAQ,CAAC,EAAE;MAAE/M,KAAK;MAAE0O,IAAI;MAAEC;IAAU,CAAC,CAAC;EAC1G;EACA,OAAO,MAAM;IACXG,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC;IACxCC,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,UAAU,CAAC,CAAC;EAC5C,CAAC;AACH;AAEA,SAASK,QAAQA,CAACjI,MAAM,EAAEkI,OAAO,EAAExP,OAAO,GAAG,CAAC,CAAC,EAAE;EAC/C,MAAM;IACJG,KAAK,GAAG,MAAM;IACd0O,IAAI,GAAG,KAAK;IACZC,SAAS,GAAG;EACd,CAAC,GAAG9O,OAAO;EACX,IAAI,CAACqL,KAAK,CAACC,OAAO,CAACkE,OAAO,CAAC,EACzBA,OAAO,GAAG,CAACA,OAAO,CAAC;EACrB,OAAO5S,KAAK,CAAC0K,MAAM,EAAG4F,QAAQ,IAAKsC,OAAO,CAAC5G,OAAO,CAAEpC,MAAM,IAAKA,MAAM,CAACpH,KAAK,GAAG8N,QAAQ,CAAC,EAAE;IAAE/M,KAAK;IAAE0O,IAAI;IAAEC;EAAU,CAAC,CAAC;AACtH;AAEA,IAAIW,WAAW,GAAGrR,MAAM,CAACC,cAAc;AACvC,IAAIqR,YAAY,GAAGtR,MAAM,CAACG,gBAAgB;AAC1C,IAAIoR,mBAAmB,GAAGvR,MAAM,CAACK,yBAAyB;AAC1D,IAAImR,qBAAqB,GAAGxR,MAAM,CAACO,qBAAqB;AACxD,IAAIkR,cAAc,GAAGzR,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAIgR,cAAc,GAAG1R,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAI+Q,iBAAiB,GAAGA,CAAC7Q,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGuQ,WAAW,CAACvQ,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAI4Q,gBAAgB,GAAGA,CAACvQ,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAImQ,cAAc,CAACjQ,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9BoQ,iBAAiB,CAACtQ,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAIiQ,qBAAqB,EACvB,KAAK,IAAIjQ,IAAI,IAAIiQ,qBAAqB,CAAClQ,CAAC,CAAC,EAAE;IACzC,IAAIoQ,cAAc,CAAClQ,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9BoQ,iBAAiB,CAACtQ,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAIwQ,eAAe,GAAGA,CAACxQ,CAAC,EAAEC,CAAC,KAAKgQ,YAAY,CAACjQ,CAAC,EAAEkQ,mBAAmB,CAACjQ,CAAC,CAAC,CAAC;AACvE,SAASpC,MAAMA,CAACsO,SAAS,EAAE;EACzB,IAAI,CAACzO,KAAK,CAACyO,SAAS,CAAC,EACnB,OAAOrO,QAAQ,CAACqO,SAAS,CAAC;EAC5B,MAAM1L,MAAM,GAAGmL,KAAK,CAACC,OAAO,CAACM,SAAS,CAACxM,KAAK,CAAC,GAAG,IAAIiM,KAAK,CAACO,SAAS,CAACxM,KAAK,CAACyH,MAAM,CAAC,GAAG,CAAC,CAAC;EACtF,KAAK,MAAM1H,GAAG,IAAIyM,SAAS,CAACxM,KAAK,EAAE;IACjCc,MAAM,CAACf,GAAG,CAAC,GAAGtC,SAAS,CAAC,OAAO;MAC7B+K,GAAGA,CAAA,EAAG;QACJ,OAAOgE,SAAS,CAACxM,KAAK,CAACD,GAAG,CAAC;MAC7B,CAAC;MACDzB,GAAGA,CAAC6J,CAAC,EAAE;QACL,IAAI8D,KAAK,CAACC,OAAO,CAACM,SAAS,CAACxM,KAAK,CAAC,EAAE;UAClC,MAAM8Q,IAAI,GAAG,CAAC,GAAGtE,SAAS,CAACxM,KAAK,CAAC;UACjC8Q,IAAI,CAAC/Q,GAAG,CAAC,GAAGoI,CAAC;UACbqE,SAAS,CAACxM,KAAK,GAAG8Q,IAAI;QACxB,CAAC,MAAM;UACL,MAAMC,SAAS,GAAGF,eAAe,CAACD,gBAAgB,CAAC,CAAC,CAAC,EAAEpE,SAAS,CAACxM,KAAK,CAAC,EAAE;YAAE,CAACD,GAAG,GAAGoI;UAAE,CAAC,CAAC;UACtFnJ,MAAM,CAACgS,cAAc,CAACD,SAAS,EAAEvE,SAAS,CAACxM,KAAK,CAAC;UACjDwM,SAAS,CAACxM,KAAK,GAAG+Q,SAAS;QAC7B;MACF;IACF,CAAC,CAAC,CAAC;EACL;EACA,OAAOjQ,MAAM;AACf;AAEA,SAASmQ,gBAAgBA,CAACtQ,EAAE,EAAEuQ,IAAI,GAAG,IAAI,EAAE;EACzC,IAAI1S,kBAAkB,CAAC,CAAC,EACtBC,aAAa,CAACkC,EAAE,CAAC,CAAC,KACf,IAAIuQ,IAAI,EACXvQ,EAAE,CAAC,CAAC,CAAC,KAELjC,QAAQ,CAACiC,EAAE,CAAC;AAChB;AAEA,SAASwQ,kBAAkBA,CAACxQ,EAAE,EAAE;EAC9B,IAAInC,kBAAkB,CAAC,CAAC,EACtBG,eAAe,CAACgC,EAAE,CAAC;AACvB;AAEA,SAASyQ,YAAYA,CAACzQ,EAAE,EAAEuQ,IAAI,GAAG,IAAI,EAAE;EACrC,IAAI1S,kBAAkB,CAAC,CAAC,EACtBI,SAAS,CAAC+B,EAAE,CAAC,CAAC,KACX,IAAIuQ,IAAI,EACXvQ,EAAE,CAAC,CAAC,CAAC,KAELjC,QAAQ,CAACiC,EAAE,CAAC;AAChB;AAEA,SAAS0Q,cAAcA,CAAC1Q,EAAE,EAAE;EAC1B,IAAInC,kBAAkB,CAAC,CAAC,EACtBK,WAAW,CAAC8B,EAAE,CAAC;AACnB;AAEA,SAAS2Q,WAAWA,CAACnO,CAAC,EAAEoO,KAAK,GAAG,KAAK,EAAE;EACrC,SAASC,OAAOA,CAACnQ,SAAS,EAAE;IAAEN,KAAK,GAAG,MAAM;IAAE0O,IAAI,GAAG,KAAK;IAAEgC,OAAO;IAAElL;EAAe,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1F,IAAIgE,IAAI,GAAG,IAAI;IACf,MAAMmH,OAAO,GAAG,IAAIlO,OAAO,CAAEC,OAAO,IAAK;MACvC8G,IAAI,GAAG/M,KAAK,CAAC2F,CAAC,EAAGgF,CAAC,IAAK;QACrB,IAAI9G,SAAS,CAAC8G,CAAC,CAAC,KAAKoJ,KAAK,EAAE;UAC1BhH,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC,CAAC;UAC9B9G,OAAO,CAAC0E,CAAC,CAAC;QACZ;MACF,CAAC,EAAE;QACDpH,KAAK;QACL0O,IAAI;QACJC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAMiC,QAAQ,GAAG,CAACD,OAAO,CAAC;IAC1B,IAAID,OAAO,IAAI,IAAI,EAAE;MACnBE,QAAQ,CAACtI,IAAI,CAAC/C,cAAc,CAACmL,OAAO,EAAElL,cAAc,CAAC,CAAC1C,IAAI,CAAC,MAAMX,YAAY,CAACC,CAAC,CAAC,CAAC,CAACyO,OAAO,CAAC,MAAMrH,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,CAAC;IAClI;IACA,OAAO/G,OAAO,CAACqO,IAAI,CAACF,QAAQ,CAAC;EAC/B;EACA,SAASG,IAAIA,CAAC9R,KAAK,EAAEY,OAAO,EAAE;IAC5B,IAAI,CAAC7C,KAAK,CAACiC,KAAK,CAAC,EACf,OAAOwR,OAAO,CAAErJ,CAAC,IAAKA,CAAC,KAAKnI,KAAK,EAAEY,OAAO,CAAC;IAC7C,MAAM;MAAEG,KAAK,GAAG,MAAM;MAAE0O,IAAI,GAAG,KAAK;MAAEgC,OAAO;MAAElL;IAAe,CAAC,GAAG3F,OAAO,IAAI,IAAI,GAAGA,OAAO,GAAG,CAAC,CAAC;IAChG,IAAI2J,IAAI,GAAG,IAAI;IACf,MAAMmH,OAAO,GAAG,IAAIlO,OAAO,CAAEC,OAAO,IAAK;MACvC8G,IAAI,GAAG/M,KAAK,CAAC,CAAC2F,CAAC,EAAEnD,KAAK,CAAC,EAAE,CAAC,CAAC+R,EAAE,EAAEpJ,EAAE,CAAC,KAAK;QACrC,IAAI4I,KAAK,MAAMQ,EAAE,KAAKpJ,EAAE,CAAC,EAAE;UACzB4B,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC,CAAC;UAC9B9G,OAAO,CAACsO,EAAE,CAAC;QACb;MACF,CAAC,EAAE;QACDhR,KAAK;QACL0O,IAAI;QACJC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAMiC,QAAQ,GAAG,CAACD,OAAO,CAAC;IAC1B,IAAID,OAAO,IAAI,IAAI,EAAE;MACnBE,QAAQ,CAACtI,IAAI,CAAC/C,cAAc,CAACmL,OAAO,EAAElL,cAAc,CAAC,CAAC1C,IAAI,CAAC,MAAMX,YAAY,CAACC,CAAC,CAAC,CAAC,CAACyO,OAAO,CAAC,MAAM;QAC9FrH,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC,CAAC;QAC9B,OAAOrH,YAAY,CAACC,CAAC,CAAC;MACxB,CAAC,CAAC,CAAC;IACL;IACA,OAAOK,OAAO,CAACqO,IAAI,CAACF,QAAQ,CAAC;EAC/B;EACA,SAASK,UAAUA,CAACpR,OAAO,EAAE;IAC3B,OAAO4Q,OAAO,CAAErJ,CAAC,IAAK8J,OAAO,CAAC9J,CAAC,CAAC,EAAEvH,OAAO,CAAC;EAC5C;EACA,SAASsR,QAAQA,CAACtR,OAAO,EAAE;IACzB,OAAOkR,IAAI,CAAC,IAAI,EAAElR,OAAO,CAAC;EAC5B;EACA,SAASuR,aAAaA,CAACvR,OAAO,EAAE;IAC9B,OAAOkR,IAAI,CAAC,KAAK,CAAC,EAAElR,OAAO,CAAC;EAC9B;EACA,SAASwR,OAAOA,CAACxR,OAAO,EAAE;IACxB,OAAO4Q,OAAO,CAAC7J,MAAM,CAACC,KAAK,EAAEhH,OAAO,CAAC;EACvC;EACA,SAASyR,UAAUA,CAACrS,KAAK,EAAEY,OAAO,EAAE;IAClC,OAAO4Q,OAAO,CAAErJ,CAAC,IAAK;MACpB,MAAMmK,KAAK,GAAGrG,KAAK,CAACsG,IAAI,CAACpK,CAAC,CAAC;MAC3B,OAAOmK,KAAK,CAAC9E,QAAQ,CAACxN,KAAK,CAAC,IAAIsS,KAAK,CAAC9E,QAAQ,CAACtK,YAAY,CAAClD,KAAK,CAAC,CAAC;IACrE,CAAC,EAAEY,OAAO,CAAC;EACb;EACA,SAAS4R,OAAOA,CAAC5R,OAAO,EAAE;IACxB,OAAO6R,YAAY,CAAC,CAAC,EAAE7R,OAAO,CAAC;EACjC;EACA,SAAS6R,YAAYA,CAACrQ,CAAC,GAAG,CAAC,EAAExB,OAAO,EAAE;IACpC,IAAI8R,KAAK,GAAG,CAAC,CAAC;IACd,OAAOlB,OAAO,CAAC,MAAM;MACnBkB,KAAK,IAAI,CAAC;MACV,OAAOA,KAAK,IAAItQ,CAAC;IACnB,CAAC,EAAExB,OAAO,CAAC;EACb;EACA,IAAIqL,KAAK,CAACC,OAAO,CAAChJ,YAAY,CAACC,CAAC,CAAC,CAAC,EAAE;IAClC,MAAMwP,QAAQ,GAAG;MACfnB,OAAO;MACPa,UAAU;MACVG,OAAO;MACPC,YAAY;MACZ,IAAIG,GAAGA,CAAA,EAAG;QACR,OAAOtB,WAAW,CAACnO,CAAC,EAAE,CAACoO,KAAK,CAAC;MAC/B;IACF,CAAC;IACD,OAAOoB,QAAQ;EACjB,CAAC,MAAM;IACL,MAAMA,QAAQ,GAAG;MACfnB,OAAO;MACPM,IAAI;MACJE,UAAU;MACVE,QAAQ;MACRE,OAAO;MACPD,aAAa;MACbK,OAAO;MACPC,YAAY;MACZ,IAAIG,GAAGA,CAAA,EAAG;QACR,OAAOtB,WAAW,CAACnO,CAAC,EAAE,CAACoO,KAAK,CAAC;MAC/B;IACF,CAAC;IACD,OAAOoB,QAAQ;EACjB;AACF;AACA,SAASE,KAAKA,CAAC1P,CAAC,EAAE;EAChB,OAAOmO,WAAW,CAACnO,CAAC,CAAC;AACvB;AAEA,SAAS2P,aAAaA,CAACC,IAAI,EAAEpS,EAAE,EAAE;EAC/B,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAAC6P,IAAI,CAAC,CAACC,KAAK,CAAC,CAACC,OAAO,EAAEhK,KAAK,EAAEqJ,KAAK,KAAK3R,EAAE,CAACuC,YAAY,CAAC+P,OAAO,CAAC,EAAEhK,KAAK,EAAEqJ,KAAK,CAAC,CAAC,CAAC;AACrH;AAEA,SAASY,cAAcA,CAACH,IAAI,EAAEpS,EAAE,EAAE;EAChC,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAAC6P,IAAI,CAAC,CAAClH,GAAG,CAAEC,CAAC,IAAK5I,YAAY,CAAC4I,CAAC,CAAC,CAAC,CAACzI,MAAM,CAAC1C,EAAE,CAAC,CAAC;AAClF;AAEA,SAASwS,YAAYA,CAACJ,IAAI,EAAEpS,EAAE,EAAE;EAC9B,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAACA,YAAY,CAAC6P,IAAI,CAAC,CAACK,IAAI,CAAC,CAACH,OAAO,EAAEhK,KAAK,EAAEqJ,KAAK,KAAK3R,EAAE,CAACuC,YAAY,CAAC+P,OAAO,CAAC,EAAEhK,KAAK,EAAEqJ,KAAK,CAAC,CAAC,CAAC,CAAC;AAClI;AAEA,SAASe,iBAAiBA,CAACN,IAAI,EAAEpS,EAAE,EAAE;EACnC,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAAC6P,IAAI,CAAC,CAACO,SAAS,CAAC,CAACL,OAAO,EAAEhK,KAAK,EAAEqJ,KAAK,KAAK3R,EAAE,CAACuC,YAAY,CAAC+P,OAAO,CAAC,EAAEhK,KAAK,EAAEqJ,KAAK,CAAC,CAAC,CAAC;AACzH;AAEA,SAASiB,QAAQA,CAACnI,GAAG,EAAEoI,EAAE,EAAE;EACzB,IAAIvK,KAAK,GAAGmC,GAAG,CAAC3D,MAAM;EACtB,OAAOwB,KAAK,EAAE,GAAG,CAAC,EAAE;IAClB,IAAIuK,EAAE,CAACpI,GAAG,CAACnC,KAAK,CAAC,EAAEA,KAAK,EAAEmC,GAAG,CAAC,EAC5B,OAAOA,GAAG,CAACnC,KAAK,CAAC;EACrB;EACA,OAAO,KAAK,CAAC;AACf;AACA,SAASwK,gBAAgBA,CAACV,IAAI,EAAEpS,EAAE,EAAE;EAClC,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAAC,CAAC+I,KAAK,CAACxM,SAAS,CAAC8T,QAAQ,GAAGA,QAAQ,CAACrQ,YAAY,CAAC6P,IAAI,CAAC,EAAE,CAACE,OAAO,EAAEhK,KAAK,EAAEqJ,KAAK,KAAK3R,EAAE,CAACuC,YAAY,CAAC+P,OAAO,CAAC,EAAEhK,KAAK,EAAEqJ,KAAK,CAAC,CAAC,GAAGpP,YAAY,CAAC6P,IAAI,CAAC,CAACQ,QAAQ,CAAC,CAACN,OAAO,EAAEhK,KAAK,EAAEqJ,KAAK,KAAK3R,EAAE,CAACuC,YAAY,CAAC+P,OAAO,CAAC,EAAEhK,KAAK,EAAEqJ,KAAK,CAAC,CAAC,CAAC,CAAC;AACrQ;AAEA,SAASoB,YAAYA,CAACX,IAAI,EAAEY,SAAS,EAAE;EACrC,OAAO3V,QAAQ,CAAC,MAAMkF,YAAY,CAAC6P,IAAI,CAAC,CAAClH,GAAG,CAAEC,CAAC,IAAK5I,YAAY,CAAC4I,CAAC,CAAC,CAAC,CAAC8H,IAAI,CAAC1Q,YAAY,CAACyQ,SAAS,CAAC,CAAC,CAAC;AACrG;AAEA,SAASE,WAAWA,CAACd,IAAI,EAAEpS,EAAE,EAAE;EAC7B,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAAC6P,IAAI,CAAC,CAAClH,GAAG,CAAEC,CAAC,IAAK5I,YAAY,CAAC4I,CAAC,CAAC,CAAC,CAACD,GAAG,CAAClL,EAAE,CAAC,CAAC;AAC/E;AAEA,SAASmT,cAAcA,CAACf,IAAI,EAAEgB,OAAO,EAAE,GAAGxQ,IAAI,EAAE;EAC9C,MAAMyQ,cAAc,GAAGA,CAACC,GAAG,EAAEjU,KAAK,EAAEiJ,KAAK,KAAK8K,OAAO,CAAC7Q,YAAY,CAAC+Q,GAAG,CAAC,EAAE/Q,YAAY,CAAClD,KAAK,CAAC,EAAEiJ,KAAK,CAAC;EACpG,OAAOjL,QAAQ,CAAC,MAAM;IACpB,MAAMkW,QAAQ,GAAGhR,YAAY,CAAC6P,IAAI,CAAC;IACnC,OAAOxP,IAAI,CAACkE,MAAM,GAAGyM,QAAQ,CAAClM,MAAM,CAACgM,cAAc,EAAE9Q,YAAY,CAACK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG2Q,QAAQ,CAAClM,MAAM,CAACgM,cAAc,CAAC;EAC/G,CAAC,CAAC;AACJ;AAEA,SAASG,YAAYA,CAACpB,IAAI,EAAEpS,EAAE,EAAE;EAC9B,OAAO3C,QAAQ,CAAC,MAAMkF,YAAY,CAAC6P,IAAI,CAAC,CAAC9L,IAAI,CAAC,CAACgM,OAAO,EAAEhK,KAAK,EAAEqJ,KAAK,KAAK3R,EAAE,CAACuC,YAAY,CAAC+P,OAAO,CAAC,EAAEhK,KAAK,EAAEqJ,KAAK,CAAC,CAAC,CAAC;AACpH;AAEA,SAAS8B,cAAcA,CAACrB,IAAI,EAAE;EAC5B,OAAO/U,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAIqW,GAAG,CAACnR,YAAY,CAAC6P,IAAI,CAAC,CAAClH,GAAG,CAAEoH,OAAO,IAAK/P,YAAY,CAAC+P,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG;AAEA,SAASqB,UAAUA,CAACC,YAAY,GAAG,CAAC,EAAE3T,OAAO,GAAG,CAAC,CAAC,EAAE;EAClD,MAAM8R,KAAK,GAAGrV,GAAG,CAACkX,YAAY,CAAC;EAC/B,MAAM;IACJjS,GAAG,GAAGkS,QAAQ;IACdnS,GAAG,GAAG,CAACmS;EACT,CAAC,GAAG5T,OAAO;EACX,MAAM6T,GAAG,GAAGA,CAACpN,KAAK,GAAG,CAAC,KAAKqL,KAAK,CAAC1S,KAAK,GAAGuC,IAAI,CAACF,GAAG,CAACC,GAAG,EAAEoQ,KAAK,CAAC1S,KAAK,GAAGqH,KAAK,CAAC;EAC3E,MAAMqN,GAAG,GAAGA,CAACrN,KAAK,GAAG,CAAC,KAAKqL,KAAK,CAAC1S,KAAK,GAAGuC,IAAI,CAACD,GAAG,CAACD,GAAG,EAAEqQ,KAAK,CAAC1S,KAAK,GAAGqH,KAAK,CAAC;EAC3E,MAAMmB,GAAG,GAAGA,CAAA,KAAMkK,KAAK,CAAC1S,KAAK;EAC7B,MAAM1B,GAAG,GAAI6C,GAAG,IAAKuR,KAAK,CAAC1S,KAAK,GAAGuC,IAAI,CAACD,GAAG,CAACD,GAAG,EAAEE,IAAI,CAACF,GAAG,CAACC,GAAG,EAAEnB,GAAG,CAAC,CAAC;EACpE,MAAM0F,KAAK,GAAGA,CAAC1F,GAAG,GAAGoT,YAAY,KAAK;IACpCA,YAAY,GAAGpT,GAAG;IAClB,OAAO7C,GAAG,CAAC6C,GAAG,CAAC;EACjB,CAAC;EACD,OAAO;IAAEuR,KAAK;IAAE+B,GAAG;IAAEC,GAAG;IAAElM,GAAG;IAAElK,GAAG;IAAEuI;EAAM,CAAC;AAC7C;AAEA,MAAM8N,WAAW,GAAG,4FAA4F;AAChH,MAAMC,YAAY,GAAG,+FAA+F;AACpH,MAAMC,eAAe,GAAGA,CAACC,KAAK,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,KAAK;EAClE,IAAIC,CAAC,GAAGJ,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;EAChC,IAAIG,SAAS,EACXC,CAAC,GAAGA,CAAC,CAACC,KAAK,CAAC,EAAE,CAAC,CAACnN,MAAM,CAAC,CAACoN,GAAG,EAAEC,IAAI,KAAKD,GAAG,IAAI,GAAGC,IAAI,GAAG,EAAE,EAAE,CAAC;EAC9D,OAAOL,WAAW,GAAGE,CAAC,CAACI,WAAW,CAAC,CAAC,GAAGJ,CAAC;AAC1C,CAAC;AACD,MAAMK,UAAU,GAAGA,CAACC,IAAI,EAAEC,SAAS,EAAE7U,OAAO,GAAG,CAAC,CAAC,KAAK;EACpD,IAAIC,EAAE;EACN,MAAM6U,KAAK,GAAGF,IAAI,CAACG,WAAW,CAAC,CAAC;EAChC,MAAMC,KAAK,GAAGJ,IAAI,CAACK,QAAQ,CAAC,CAAC;EAC7B,MAAMC,IAAI,GAAGN,IAAI,CAACO,OAAO,CAAC,CAAC;EAC3B,MAAMjB,KAAK,GAAGU,IAAI,CAACQ,QAAQ,CAAC,CAAC;EAC7B,MAAMjB,OAAO,GAAGS,IAAI,CAACS,UAAU,CAAC,CAAC;EACjC,MAAMC,OAAO,GAAGV,IAAI,CAACW,UAAU,CAAC,CAAC;EACjC,MAAMC,YAAY,GAAGZ,IAAI,CAACa,eAAe,CAAC,CAAC;EAC3C,MAAMC,GAAG,GAAGd,IAAI,CAACe,MAAM,CAAC,CAAC;EACzB,MAAMC,QAAQ,GAAG,CAAC3V,EAAE,GAAGD,OAAO,CAAC6V,cAAc,KAAK,IAAI,GAAG5V,EAAE,GAAGgU,eAAe;EAC7E,MAAM6B,OAAO,GAAG;IACdC,EAAE,EAAEA,CAAA,KAAMC,MAAM,CAAClB,KAAK,CAAC,CAAClO,KAAK,CAAC,CAAC,CAAC,CAAC;IACjCqP,IAAI,EAAEA,CAAA,KAAMnB,KAAK;IACjBoB,CAAC,EAAEA,CAAA,KAAMlB,KAAK,GAAG,CAAC;IAClBmB,EAAE,EAAEA,CAAA,KAAM,GAAGnB,KAAK,GAAG,CAAC,EAAE,CAACoB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACzCC,GAAG,EAAEA,CAAA,KAAMzB,IAAI,CAAC0B,kBAAkB,CAACtW,OAAO,CAACuW,OAAO,EAAE;MAAEvB,KAAK,EAAE;IAAQ,CAAC,CAAC;IACvEwB,IAAI,EAAEA,CAAA,KAAM5B,IAAI,CAAC0B,kBAAkB,CAACtW,OAAO,CAACuW,OAAO,EAAE;MAAEvB,KAAK,EAAE;IAAO,CAAC,CAAC;IACvEyB,CAAC,EAAEA,CAAA,KAAMT,MAAM,CAACd,IAAI,CAAC;IACrBwB,EAAE,EAAEA,CAAA,KAAM,GAAGxB,IAAI,EAAE,CAACkB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACpCO,CAAC,EAAEA,CAAA,KAAMX,MAAM,CAAC9B,KAAK,CAAC;IACtB0C,EAAE,EAAEA,CAAA,KAAM,GAAG1C,KAAK,EAAE,CAACkC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACrCS,CAAC,EAAEA,CAAA,KAAM,GAAG3C,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,CAACkC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC/CU,EAAE,EAAEA,CAAA,KAAM,GAAG5C,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,CAACkC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChD9B,CAAC,EAAEA,CAAA,KAAM0B,MAAM,CAAC7B,OAAO,CAAC;IACxB4C,EAAE,EAAEA,CAAA,KAAM,GAAG5C,OAAO,EAAE,CAACiC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACvCY,CAAC,EAAEA,CAAA,KAAMhB,MAAM,CAACV,OAAO,CAAC;IACxB2B,EAAE,EAAEA,CAAA,KAAM,GAAG3B,OAAO,EAAE,CAACc,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACvCc,GAAG,EAAEA,CAAA,KAAM,GAAG1B,YAAY,EAAE,CAACY,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC7Ce,CAAC,EAAEA,CAAA,KAAMzB,GAAG;IACZ0B,EAAE,EAAEA,CAAA,KAAMxC,IAAI,CAAC0B,kBAAkB,CAACtW,OAAO,CAACuW,OAAO,EAAE;MAAEc,OAAO,EAAE;IAAS,CAAC,CAAC;IACzEC,GAAG,EAAEA,CAAA,KAAM1C,IAAI,CAAC0B,kBAAkB,CAACtW,OAAO,CAACuW,OAAO,EAAE;MAAEc,OAAO,EAAE;IAAQ,CAAC,CAAC;IACzEE,IAAI,EAAEA,CAAA,KAAM3C,IAAI,CAAC0B,kBAAkB,CAACtW,OAAO,CAACuW,OAAO,EAAE;MAAEc,OAAO,EAAE;IAAO,CAAC,CAAC;IACzEG,CAAC,EAAEA,CAAA,KAAM5B,QAAQ,CAAC1B,KAAK,EAAEC,OAAO,CAAC;IACjCsD,EAAE,EAAEA,CAAA,KAAM7B,QAAQ,CAAC1B,KAAK,EAAEC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;IAC/C1U,CAAC,EAAEA,CAAA,KAAMmW,QAAQ,CAAC1B,KAAK,EAAEC,OAAO,EAAE,IAAI,CAAC;IACvCuD,EAAE,EAAEA,CAAA,KAAM9B,QAAQ,CAAC1B,KAAK,EAAEC,OAAO,EAAE,IAAI,EAAE,IAAI;EAC/C,CAAC;EACD,OAAOU,SAAS,CAAC8C,OAAO,CAAC3D,YAAY,EAAE,CAACtN,KAAK,EAAEkR,EAAE,KAAKA,EAAE,IAAI9B,OAAO,CAACpP,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AACD,MAAMmR,aAAa,GAAIjD,IAAI,IAAK;EAC9B,IAAIA,IAAI,KAAK,IAAI,EACf,OAAO,IAAIvT,IAAI,CAACyW,GAAG,CAAC;EACtB,IAAIlD,IAAI,KAAK,KAAK,CAAC,EACjB,OAAO,IAAIvT,IAAI,CAAC,CAAC;EACnB,IAAIuT,IAAI,YAAYvT,IAAI,EACtB,OAAO,IAAIA,IAAI,CAACuT,IAAI,CAAC;EACvB,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAACxS,IAAI,CAACwS,IAAI,CAAC,EAAE;IACjD,MAAMuC,CAAC,GAAGvC,IAAI,CAAClO,KAAK,CAACqN,WAAW,CAAC;IACjC,IAAIoD,CAAC,EAAE;MACL,MAAM7C,CAAC,GAAG6C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;MACvB,MAAM7T,EAAE,GAAG,CAAC6T,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAEY,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;MACxC,OAAO,IAAI1W,IAAI,CAAC8V,CAAC,CAAC,CAAC,CAAC,EAAE7C,CAAC,EAAE6C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE7T,EAAE,CAAC;IAC1E;EACF;EACA,OAAO,IAAIjC,IAAI,CAACuT,IAAI,CAAC;AACvB,CAAC;AACD,SAASoD,aAAaA,CAACpD,IAAI,EAAEC,SAAS,GAAG,UAAU,EAAE7U,OAAO,GAAG,CAAC,CAAC,EAAE;EACjE,OAAO5C,QAAQ,CAAC,MAAMuX,UAAU,CAACkD,aAAa,CAACvV,YAAY,CAACsS,IAAI,CAAC,CAAC,EAAEtS,YAAY,CAACuS,SAAS,CAAC,EAAE7U,OAAO,CAAC,CAAC;AACxG;AAEA,SAASiY,aAAaA,CAACrF,EAAE,EAAEsF,QAAQ,GAAG,GAAG,EAAElY,OAAO,GAAG,CAAC,CAAC,EAAE;EACvD,MAAM;IACJ8O,SAAS,GAAG,IAAI;IAChBqJ,iBAAiB,GAAG;EACtB,CAAC,GAAGnY,OAAO;EACX,IAAIuD,KAAK,GAAG,IAAI;EAChB,MAAMsB,QAAQ,GAAGpI,GAAG,CAAC,KAAK,CAAC;EAC3B,SAAS2b,KAAKA,CAAA,EAAG;IACf,IAAI7U,KAAK,EAAE;MACT8U,aAAa,CAAC9U,KAAK,CAAC;MACpBA,KAAK,GAAG,IAAI;IACd;EACF;EACA,SAASuB,KAAKA,CAAA,EAAG;IACfD,QAAQ,CAACzF,KAAK,GAAG,KAAK;IACtBgZ,KAAK,CAAC,CAAC;EACT;EACA,SAASrT,MAAMA,CAAA,EAAG;IAChB,MAAMuT,aAAa,GAAGhW,YAAY,CAAC4V,QAAQ,CAAC;IAC5C,IAAII,aAAa,IAAI,CAAC,EACpB;IACFzT,QAAQ,CAACzF,KAAK,GAAG,IAAI;IACrB,IAAI+Y,iBAAiB,EACnBvF,EAAE,CAAC,CAAC;IACNwF,KAAK,CAAC,CAAC;IACP7U,KAAK,GAAGgV,WAAW,CAAC3F,EAAE,EAAE0F,aAAa,CAAC;EACxC;EACA,IAAIxJ,SAAS,IAAI1O,QAAQ,EACvB2E,MAAM,CAAC,CAAC;EACV,IAAI5H,KAAK,CAAC+a,QAAQ,CAAC,IAAInX,UAAU,CAACmX,QAAQ,CAAC,EAAE;IAC3C,MAAMM,SAAS,GAAG5b,KAAK,CAACsb,QAAQ,EAAE,MAAM;MACtC,IAAIrT,QAAQ,CAACzF,KAAK,IAAIgB,QAAQ,EAC5B2E,MAAM,CAAC,CAAC;IACZ,CAAC,CAAC;IACFkD,iBAAiB,CAACuQ,SAAS,CAAC;EAC9B;EACAvQ,iBAAiB,CAACnD,KAAK,CAAC;EACxB,OAAO;IACLD,QAAQ;IACRC,KAAK;IACLC;EACF,CAAC;AACH;AAEA,IAAI0T,WAAW,GAAGra,MAAM,CAACC,cAAc;AACvC,IAAIqa,qBAAqB,GAAGta,MAAM,CAACO,qBAAqB;AACxD,IAAIga,cAAc,GAAGva,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAI8Z,cAAc,GAAGxa,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAI6Z,iBAAiB,GAAGA,CAAC3Z,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGuZ,WAAW,CAACvZ,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAI0Z,gBAAgB,GAAGA,CAACrZ,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAIiZ,cAAc,CAAC/Y,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9BkZ,iBAAiB,CAACpZ,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAI+Y,qBAAqB,EACvB,KAAK,IAAI/Y,IAAI,IAAI+Y,qBAAqB,CAAChZ,CAAC,CAAC,EAAE;IACzC,IAAIkZ,cAAc,CAAChZ,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9BkZ,iBAAiB,CAACpZ,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,SAASsZ,WAAWA,CAACb,QAAQ,GAAG,GAAG,EAAElY,OAAO,GAAG,CAAC,CAAC,EAAE;EACjD,MAAM;IACJgZ,QAAQ,EAAEC,cAAc,GAAG,KAAK;IAChCnK,SAAS,GAAG,IAAI;IAChBoK;EACF,CAAC,GAAGlZ,OAAO;EACX,MAAMmZ,OAAO,GAAG1c,GAAG,CAAC,CAAC,CAAC;EACtB,MAAMkL,MAAM,GAAGA,CAAA,KAAMwR,OAAO,CAAC/Z,KAAK,IAAI,CAAC;EACvC,MAAM6G,KAAK,GAAGA,CAAA,KAAM;IAClBkT,OAAO,CAAC/Z,KAAK,GAAG,CAAC;EACnB,CAAC;EACD,MAAM4Z,QAAQ,GAAGf,aAAa,CAACiB,QAAQ,GAAG,MAAM;IAC9CvR,MAAM,CAAC,CAAC;IACRuR,QAAQ,CAACC,OAAO,CAAC/Z,KAAK,CAAC;EACzB,CAAC,GAAGuI,MAAM,EAAEuQ,QAAQ,EAAE;IAAEpJ;EAAU,CAAC,CAAC;EACpC,IAAImK,cAAc,EAAE;IAClB,OAAOH,gBAAgB,CAAC;MACtBK,OAAO;MACPlT;IACF,CAAC,EAAE+S,QAAQ,CAAC;EACd,CAAC,MAAM;IACL,OAAOG,OAAO;EAChB;AACF;AAEA,SAASC,cAAcA,CAAC9R,MAAM,EAAEtH,OAAO,GAAG,CAAC,CAAC,EAAE;EAC5C,IAAIC,EAAE;EACN,MAAMqD,EAAE,GAAG7G,GAAG,CAAC,CAACwD,EAAE,GAAGD,OAAO,CAAC2T,YAAY,KAAK,IAAI,GAAG1T,EAAE,GAAG,IAAI,CAAC;EAC/DrD,KAAK,CAAC0K,MAAM,EAAE,MAAMhE,EAAE,CAAClE,KAAK,GAAGkC,SAAS,CAAC,CAAC,EAAEtB,OAAO,CAAC;EACpD,OAAOsD,EAAE;AACX;AAEA,SAAS+V,YAAYA,CAACzG,EAAE,EAAEsF,QAAQ,EAAElY,OAAO,GAAG,CAAC,CAAC,EAAE;EAChD,MAAM;IACJ8O,SAAS,GAAG;EACd,CAAC,GAAG9O,OAAO;EACX,MAAMsZ,SAAS,GAAG7c,GAAG,CAAC,KAAK,CAAC;EAC5B,IAAI8G,KAAK,GAAG,IAAI;EAChB,SAASiB,KAAKA,CAAA,EAAG;IACf,IAAIjB,KAAK,EAAE;MACTK,YAAY,CAACL,KAAK,CAAC;MACnBA,KAAK,GAAG,IAAI;IACd;EACF;EACA,SAASoG,IAAIA,CAAA,EAAG;IACd2P,SAAS,CAACla,KAAK,GAAG,KAAK;IACvBoF,KAAK,CAAC,CAAC;EACT;EACA,SAAS+U,KAAKA,CAAC,GAAG5W,IAAI,EAAE;IACtB6B,KAAK,CAAC,CAAC;IACP8U,SAAS,CAACla,KAAK,GAAG,IAAI;IACtBmE,KAAK,GAAGU,UAAU,CAAC,MAAM;MACvBqV,SAAS,CAACla,KAAK,GAAG,KAAK;MACvBmE,KAAK,GAAG,IAAI;MACZqP,EAAE,CAAC,GAAGjQ,IAAI,CAAC;IACb,CAAC,EAAEL,YAAY,CAAC4V,QAAQ,CAAC,CAAC;EAC5B;EACA,IAAIpJ,SAAS,EAAE;IACbwK,SAAS,CAACla,KAAK,GAAG,IAAI;IACtB,IAAIgB,QAAQ,EACVmZ,KAAK,CAAC,CAAC;EACX;EACAtR,iBAAiB,CAAC0B,IAAI,CAAC;EACvB,OAAO;IACL2P,SAAS,EAAE/c,QAAQ,CAAC+c,SAAS,CAAC;IAC9BC,KAAK;IACL5P;EACF,CAAC;AACH;AAEA,IAAI6P,WAAW,GAAGpb,MAAM,CAACC,cAAc;AACvC,IAAIob,qBAAqB,GAAGrb,MAAM,CAACO,qBAAqB;AACxD,IAAI+a,cAAc,GAAGtb,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAI6a,cAAc,GAAGvb,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAI4a,iBAAiB,GAAGA,CAAC1a,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGsa,WAAW,CAACta,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAIya,gBAAgB,GAAGA,CAACpa,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAIga,cAAc,CAAC9Z,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9Bia,iBAAiB,CAACna,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAI8Z,qBAAqB,EACvB,KAAK,IAAI9Z,IAAI,IAAI8Z,qBAAqB,CAAC/Z,CAAC,CAAC,EAAE;IACzC,IAAIia,cAAc,CAAC/Z,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9Bia,iBAAiB,CAACna,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,SAASqa,UAAUA,CAAC5B,QAAQ,GAAG,GAAG,EAAElY,OAAO,GAAG,CAAC,CAAC,EAAE;EAChD,MAAM;IACJgZ,QAAQ,EAAEC,cAAc,GAAG,KAAK;IAChCC;EACF,CAAC,GAAGlZ,OAAO;EACX,MAAMgZ,QAAQ,GAAGK,YAAY,CAACH,QAAQ,IAAI,IAAI,GAAGA,QAAQ,GAAGtX,IAAI,EAAEsW,QAAQ,EAAElY,OAAO,CAAC;EACpF,MAAM+Z,KAAK,GAAG3c,QAAQ,CAAC,MAAM,CAAC4b,QAAQ,CAACM,SAAS,CAACla,KAAK,CAAC;EACvD,IAAI6Z,cAAc,EAAE;IAClB,OAAOY,gBAAgB,CAAC;MACtBE;IACF,CAAC,EAAEf,QAAQ,CAAC;EACd,CAAC,MAAM;IACL,OAAOe,KAAK;EACd;AACF;AAEA,SAASC,WAAWA,CAAC5a,KAAK,EAAEY,OAAO,GAAG,CAAC,CAAC,EAAE;EACxC,MAAM;IACJia,MAAM,GAAG,YAAY;IACrBC,KAAK;IACLC;EACF,CAAC,GAAGna,OAAO;EACX,OAAO5C,QAAQ,CAAC,MAAM;IACpB,IAAIkW,QAAQ,GAAGhR,YAAY,CAAClD,KAAK,CAAC;IAClC,IAAI,OAAOkU,QAAQ,KAAK,QAAQ,EAC9BA,QAAQ,GAAGvM,MAAM,CAACkT,MAAM,CAAC,CAAC3G,QAAQ,EAAE4G,KAAK,CAAC;IAC5C,IAAIC,SAAS,IAAInT,KAAK,CAACsM,QAAQ,CAAC,EAC9BA,QAAQ,GAAG,CAAC;IACd,OAAOA,QAAQ;EACjB,CAAC,CAAC;AACJ;AAEA,SAAS8G,WAAWA,CAAChb,KAAK,EAAE;EAC1B,OAAOhC,QAAQ,CAAC,MAAM,GAAGkF,YAAY,CAAClD,KAAK,CAAC,EAAE,CAAC;AACjD;AAEA,SAASib,SAASA,CAAC1G,YAAY,GAAG,KAAK,EAAE3T,OAAO,GAAG,CAAC,CAAC,EAAE;EACrD,MAAM;IACJsa,WAAW,GAAG,IAAI;IAClBC,UAAU,GAAG;EACf,CAAC,GAAGva,OAAO;EACX,MAAMwa,UAAU,GAAGrd,KAAK,CAACwW,YAAY,CAAC;EACtC,MAAM8G,MAAM,GAAGhe,GAAG,CAACkX,YAAY,CAAC;EAChC,SAAS+G,MAAMA,CAACtb,KAAK,EAAE;IACrB,IAAIub,SAAS,CAAC9T,MAAM,EAAE;MACpB4T,MAAM,CAACrb,KAAK,GAAGA,KAAK;MACpB,OAAOqb,MAAM,CAACrb,KAAK;IACrB,CAAC,MAAM;MACL,MAAMwb,MAAM,GAAGtY,YAAY,CAACgY,WAAW,CAAC;MACxCG,MAAM,CAACrb,KAAK,GAAGqb,MAAM,CAACrb,KAAK,KAAKwb,MAAM,GAAGtY,YAAY,CAACiY,UAAU,CAAC,GAAGK,MAAM;MAC1E,OAAOH,MAAM,CAACrb,KAAK;IACrB;EACF;EACA,IAAIob,UAAU,EACZ,OAAOE,MAAM,CAAC,KAEd,OAAO,CAACD,MAAM,EAAEC,MAAM,CAAC;AAC3B;AAEA,SAASG,UAAUA,CAACvT,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,EAAE;EACvC,IAAI8a,OAAO,GAAG,CAAC9a,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC8O,SAAS,IAAI,EAAE,GAAG,CAClE,IAAGxH,MAAM,YAAYyT,QAAQ,GAAGzT,MAAM,CAAC,CAAC,GAAG+D,KAAK,CAACC,OAAO,CAAChE,MAAM,CAAC,GAAGA,MAAM,GAAG9K,KAAK,CAAC8K,MAAM,CAAC,EAC1F;EACD,OAAO1K,KAAK,CAAC0K,MAAM,EAAE,CAAC0T,OAAO,EAAEjP,CAAC,EAAEkP,SAAS,KAAK;IAC9C,MAAMC,cAAc,GAAG,IAAI7P,KAAK,CAACyP,OAAO,CAACjU,MAAM,CAAC;IAChD,MAAMsU,KAAK,GAAG,EAAE;IAChB,KAAK,MAAMjc,GAAG,IAAI8b,OAAO,EAAE;MACzB,IAAII,KAAK,GAAG,KAAK;MACjB,KAAK,IAAIlQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4P,OAAO,CAACjU,MAAM,EAAEqE,CAAC,EAAE,EAAE;QACvC,IAAI,CAACgQ,cAAc,CAAChQ,CAAC,CAAC,IAAIhM,GAAG,KAAK4b,OAAO,CAAC5P,CAAC,CAAC,EAAE;UAC5CgQ,cAAc,CAAChQ,CAAC,CAAC,GAAG,IAAI;UACxBkQ,KAAK,GAAG,IAAI;UACZ;QACF;MACF;MACA,IAAI,CAACA,KAAK,EACRD,KAAK,CAAC1S,IAAI,CAACvJ,GAAG,CAAC;IACnB;IACA,MAAMmc,OAAO,GAAGP,OAAO,CAACrY,MAAM,CAAC,CAAC6Y,EAAE,EAAEpQ,CAAC,KAAK,CAACgQ,cAAc,CAAChQ,CAAC,CAAC,CAAC;IAC7D0H,EAAE,CAACoI,OAAO,EAAEF,OAAO,EAAEK,KAAK,EAAEE,OAAO,EAAEJ,SAAS,CAAC;IAC/CH,OAAO,GAAG,CAAC,GAAGE,OAAO,CAAC;EACxB,CAAC,EAAEhb,OAAO,CAAC;AACb;AAEA,IAAIub,qBAAqB,GAAGnd,MAAM,CAACO,qBAAqB;AACxD,IAAI6c,cAAc,GAAGpd,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAI2c,cAAc,GAAGrd,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAI0c,WAAW,GAAGA,CAACpU,MAAM,EAAEqU,OAAO,KAAK;EACrC,IAAInV,MAAM,GAAG,CAAC,CAAC;EACf,KAAK,IAAI7G,IAAI,IAAI2H,MAAM,EACrB,IAAIkU,cAAc,CAAC5b,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,IAAIgc,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B,IAAI2H,MAAM,IAAI,IAAI,IAAIiU,qBAAqB,EACzC,KAAK,IAAI5b,IAAI,IAAI4b,qBAAqB,CAACjU,MAAM,CAAC,EAAE;IAC9C,IAAIqU,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,IAAI8b,cAAc,CAAC7b,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B;EACF,OAAO6G,MAAM;AACf,CAAC;AACD,SAASoV,eAAeA,CAACtU,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,GAAG,CAAC,CAAC,EAAE;EACjD,MAAMC,EAAE,GAAGD,OAAO;IAAE;MAClBgF,WAAW,GAAG7B;IAChB,CAAC,GAAGlD,EAAE;IAAE4b,YAAY,GAAGH,WAAW,CAACzb,EAAE,EAAE,CACrC,aAAa,CACd,CAAC;EACF,OAAOrD,KAAK,CAAC0K,MAAM,EAAE9E,mBAAmB,CAACwC,WAAW,EAAE4N,EAAE,CAAC,EAAEiJ,YAAY,CAAC;AAC1E;AAEA,IAAIC,qBAAqB,GAAG1d,MAAM,CAACO,qBAAqB;AACxD,IAAIod,cAAc,GAAG3d,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAIkd,cAAc,GAAG5d,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAIid,WAAW,GAAGA,CAAC3U,MAAM,EAAEqU,OAAO,KAAK;EACrC,IAAInV,MAAM,GAAG,CAAC,CAAC;EACf,KAAK,IAAI7G,IAAI,IAAI2H,MAAM,EACrB,IAAIyU,cAAc,CAACnc,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,IAAIgc,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B,IAAI2H,MAAM,IAAI,IAAI,IAAIwU,qBAAqB,EACzC,KAAK,IAAInc,IAAI,IAAImc,qBAAqB,CAACxU,MAAM,CAAC,EAAE;IAC9C,IAAIqU,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,IAAIqc,cAAc,CAACpc,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B;EACF,OAAO6G,MAAM;AACf,CAAC;AACD,SAAS0V,WAAWA,CAAC5U,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,EAAE;EACxC,MAAMC,EAAE,GAAGD,OAAO;IAAE;MAClB8R;IACF,CAAC,GAAG7R,EAAE;IAAE4b,YAAY,GAAGI,WAAW,CAAChc,EAAE,EAAE,CACrC,OAAO,CACR,CAAC;EACF,MAAMkc,OAAO,GAAG1f,GAAG,CAAC,CAAC,CAAC;EACtB,MAAMkN,IAAI,GAAGiS,eAAe,CAACtU,MAAM,EAAE,CAAC,GAAG3E,IAAI,KAAK;IAChDwZ,OAAO,CAAC/c,KAAK,IAAI,CAAC;IAClB,IAAI+c,OAAO,CAAC/c,KAAK,IAAIkD,YAAY,CAACwP,KAAK,CAAC,EACtChU,QAAQ,CAAC,MAAM6L,IAAI,CAAC,CAAC,CAAC;IACxBiJ,EAAE,CAAC,GAAGjQ,IAAI,CAAC;EACb,CAAC,EAAEkZ,YAAY,CAAC;EAChB,OAAO;IAAE/J,KAAK,EAAEqK,OAAO;IAAExS;EAAK,CAAC;AACjC;AAEA,IAAIyS,WAAW,GAAGhe,MAAM,CAACC,cAAc;AACvC,IAAIge,YAAY,GAAGje,MAAM,CAACG,gBAAgB;AAC1C,IAAI+d,mBAAmB,GAAGle,MAAM,CAACK,yBAAyB;AAC1D,IAAI8d,qBAAqB,GAAGne,MAAM,CAACO,qBAAqB;AACxD,IAAI6d,cAAc,GAAGpe,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAI2d,cAAc,GAAGre,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAI0d,iBAAiB,GAAGA,CAACxd,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGkd,WAAW,CAACld,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAIud,gBAAgB,GAAGA,CAACld,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAI8c,cAAc,CAAC5c,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B+c,iBAAiB,CAACjd,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAI4c,qBAAqB,EACvB,KAAK,IAAI5c,IAAI,IAAI4c,qBAAqB,CAAC7c,CAAC,CAAC,EAAE;IACzC,IAAI+c,cAAc,CAAC7c,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B+c,iBAAiB,CAACjd,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAImd,eAAe,GAAGA,CAACnd,CAAC,EAAEC,CAAC,KAAK2c,YAAY,CAAC5c,CAAC,EAAE6c,mBAAmB,CAAC5c,CAAC,CAAC,CAAC;AACvE,IAAImd,WAAW,GAAGA,CAACvV,MAAM,EAAEqU,OAAO,KAAK;EACrC,IAAInV,MAAM,GAAG,CAAC,CAAC;EACf,KAAK,IAAI7G,IAAI,IAAI2H,MAAM,EACrB,IAAIkV,cAAc,CAAC5c,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,IAAIgc,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B,IAAI2H,MAAM,IAAI,IAAI,IAAIiV,qBAAqB,EACzC,KAAK,IAAI5c,IAAI,IAAI4c,qBAAqB,CAACjV,MAAM,CAAC,EAAE;IAC9C,IAAIqU,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,IAAI8c,cAAc,CAAC7c,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B;EACF,OAAO6G,MAAM;AACf,CAAC;AACD,SAASsW,cAAcA,CAACxV,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,GAAG,CAAC,CAAC,EAAE;EAChD,MAAMC,EAAE,GAAGD,OAAO;IAAE;MAClB+c,QAAQ,GAAG,CAAC;MACZhZ,OAAO,GAAG,KAAK;IACjB,CAAC,GAAG9D,EAAE;IAAE4b,YAAY,GAAGgB,WAAW,CAAC5c,EAAE,EAAE,CACrC,UAAU,EACV,SAAS,CACV,CAAC;EACF,OAAO2b,eAAe,CAACtU,MAAM,EAAEsL,EAAE,EAAEgK,eAAe,CAACD,gBAAgB,CAAC,CAAC,CAAC,EAAEd,YAAY,CAAC,EAAE;IACrF7W,WAAW,EAAE3B,cAAc,CAAC0Z,QAAQ,EAAE;MAAEhZ;IAAQ,CAAC;EACnD,CAAC,CAAC,CAAC;AACL;AAEA,IAAIiZ,WAAW,GAAG5e,MAAM,CAACC,cAAc;AACvC,IAAI4e,YAAY,GAAG7e,MAAM,CAACG,gBAAgB;AAC1C,IAAI2e,mBAAmB,GAAG9e,MAAM,CAACK,yBAAyB;AAC1D,IAAI0e,qBAAqB,GAAG/e,MAAM,CAACO,qBAAqB;AACxD,IAAIye,cAAc,GAAGhf,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAIue,cAAc,GAAGjf,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAIse,iBAAiB,GAAGA,CAACpe,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAG8d,WAAW,CAAC9d,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAIme,gBAAgB,GAAGA,CAAC9d,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAI0d,cAAc,CAACxd,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B2d,iBAAiB,CAAC7d,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAIwd,qBAAqB,EACvB,KAAK,IAAIxd,IAAI,IAAIwd,qBAAqB,CAACzd,CAAC,CAAC,EAAE;IACzC,IAAI2d,cAAc,CAACzd,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B2d,iBAAiB,CAAC7d,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAI+d,eAAe,GAAGA,CAAC/d,CAAC,EAAEC,CAAC,KAAKud,YAAY,CAACxd,CAAC,EAAEyd,mBAAmB,CAACxd,CAAC,CAAC,CAAC;AACvE,IAAI+d,WAAW,GAAGA,CAACnW,MAAM,EAAEqU,OAAO,KAAK;EACrC,IAAInV,MAAM,GAAG,CAAC,CAAC;EACf,KAAK,IAAI7G,IAAI,IAAI2H,MAAM,EACrB,IAAI8V,cAAc,CAACxd,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,IAAIgc,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B,IAAI2H,MAAM,IAAI,IAAI,IAAI6V,qBAAqB,EACzC,KAAK,IAAIxd,IAAI,IAAIwd,qBAAqB,CAAC7V,MAAM,CAAC,EAAE;IAC9C,IAAIqU,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,IAAI0d,cAAc,CAACzd,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B;EACF,OAAO6G,MAAM;AACf,CAAC;AACD,SAASkX,cAAcA,CAACpW,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,GAAG,CAAC,CAAC,EAAE;EAChD,MAAMC,EAAE,GAAGD,OAAO;IAAE;MAClBgF,WAAW,GAAG7B;IAChB,CAAC,GAAGlD,EAAE;IAAE4b,YAAY,GAAG4B,WAAW,CAACxd,EAAE,EAAE,CACrC,aAAa,CACd,CAAC;EACF,MAAM0d,UAAU,GAAGnb,mBAAmB,CAACwC,WAAW,EAAE4N,EAAE,CAAC;EACvD,IAAIgL,aAAa;EACjB,IAAIC,sBAAsB;EAC1B,IAAIlU,IAAI;EACR,IAAIkS,YAAY,CAAC1b,KAAK,KAAK,MAAM,EAAE;IACjC,MAAM2d,MAAM,GAAGrhB,GAAG,CAAC,KAAK,CAAC;IACzBohB,sBAAsB,GAAGA,CAAA,KAAM,CAC/B,CAAC;IACDD,aAAa,GAAItQ,OAAO,IAAK;MAC3BwQ,MAAM,CAAC1e,KAAK,GAAG,IAAI;MACnBkO,OAAO,CAAC,CAAC;MACTwQ,MAAM,CAAC1e,KAAK,GAAG,KAAK;IACtB,CAAC;IACDuK,IAAI,GAAG/M,KAAK,CAAC0K,MAAM,EAAE,CAAC,GAAG3E,IAAI,KAAK;MAChC,IAAI,CAACmb,MAAM,CAAC1e,KAAK,EACfue,UAAU,CAAC,GAAGhb,IAAI,CAAC;IACvB,CAAC,EAAEkZ,YAAY,CAAC;EAClB,CAAC,MAAM;IACL,MAAMkC,WAAW,GAAG,EAAE;IACtB,MAAMC,aAAa,GAAGvhB,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAMwhB,WAAW,GAAGxhB,GAAG,CAAC,CAAC,CAAC;IAC1BohB,sBAAsB,GAAGA,CAAA,KAAM;MAC7BG,aAAa,CAAC5e,KAAK,GAAG6e,WAAW,CAAC7e,KAAK;IACzC,CAAC;IACD2e,WAAW,CAACtV,IAAI,CAAC7L,KAAK,CAAC0K,MAAM,EAAE,MAAM;MACnC2W,WAAW,CAAC7e,KAAK,EAAE;IACrB,CAAC,EAAEoe,eAAe,CAACD,gBAAgB,CAAC,CAAC,CAAC,EAAE1B,YAAY,CAAC,EAAE;MAAE1b,KAAK,EAAE;IAAO,CAAC,CAAC,CAAC,CAAC;IAC3Eyd,aAAa,GAAItQ,OAAO,IAAK;MAC3B,MAAM4Q,eAAe,GAAGD,WAAW,CAAC7e,KAAK;MACzCkO,OAAO,CAAC,CAAC;MACT0Q,aAAa,CAAC5e,KAAK,IAAI6e,WAAW,CAAC7e,KAAK,GAAG8e,eAAe;IAC5D,CAAC;IACDH,WAAW,CAACtV,IAAI,CAAC7L,KAAK,CAAC0K,MAAM,EAAE,CAAC,GAAG3E,IAAI,KAAK;MAC1C,MAAMmb,MAAM,GAAGE,aAAa,CAAC5e,KAAK,GAAG,CAAC,IAAI4e,aAAa,CAAC5e,KAAK,KAAK6e,WAAW,CAAC7e,KAAK;MACnF4e,aAAa,CAAC5e,KAAK,GAAG,CAAC;MACvB6e,WAAW,CAAC7e,KAAK,GAAG,CAAC;MACrB,IAAI0e,MAAM,EACR;MACFH,UAAU,CAAC,GAAGhb,IAAI,CAAC;IACrB,CAAC,EAAEkZ,YAAY,CAAC,CAAC;IACjBlS,IAAI,GAAGA,CAAA,KAAM;MACXoU,WAAW,CAACnV,OAAO,CAAE7I,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;EACH;EACA,OAAO;IAAE4J,IAAI;IAAEiU,aAAa;IAAEC;EAAuB,CAAC;AACxD;AAEA,SAASM,SAASA,CAAC7W,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,EAAE;EACtC,MAAM2J,IAAI,GAAG/M,KAAK,CAAC0K,MAAM,EAAE,CAAC,GAAG3E,IAAI,KAAK;IACtC7E,QAAQ,CAAC,MAAM6L,IAAI,CAAC,CAAC,CAAC;IACtB,OAAOiJ,EAAE,CAAC,GAAGjQ,IAAI,CAAC;EACpB,CAAC,EAAE3C,OAAO,CAAC;AACb;AAEA,IAAIoe,WAAW,GAAGhgB,MAAM,CAACC,cAAc;AACvC,IAAIggB,YAAY,GAAGjgB,MAAM,CAACG,gBAAgB;AAC1C,IAAI+f,mBAAmB,GAAGlgB,MAAM,CAACK,yBAAyB;AAC1D,IAAI8f,qBAAqB,GAAGngB,MAAM,CAACO,qBAAqB;AACxD,IAAI6f,cAAc,GAAGpgB,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAI2f,cAAc,GAAGrgB,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAI0f,iBAAiB,GAAGA,CAACxf,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGkf,WAAW,CAAClf,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAIuf,gBAAgB,GAAGA,CAAClf,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAI8e,cAAc,CAAC5e,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B+e,iBAAiB,CAACjf,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAI4e,qBAAqB,EACvB,KAAK,IAAI5e,IAAI,IAAI4e,qBAAqB,CAAC7e,CAAC,CAAC,EAAE;IACzC,IAAI+e,cAAc,CAAC7e,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B+e,iBAAiB,CAACjf,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAImf,eAAe,GAAGA,CAACnf,CAAC,EAAEC,CAAC,KAAK2e,YAAY,CAAC5e,CAAC,EAAE6e,mBAAmB,CAAC5e,CAAC,CAAC,CAAC;AACvE,IAAImf,WAAW,GAAGA,CAACvX,MAAM,EAAEqU,OAAO,KAAK;EACrC,IAAInV,MAAM,GAAG,CAAC,CAAC;EACf,KAAK,IAAI7G,IAAI,IAAI2H,MAAM,EACrB,IAAIkX,cAAc,CAAC5e,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,IAAIgc,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B,IAAI2H,MAAM,IAAI,IAAI,IAAIiX,qBAAqB,EACzC,KAAK,IAAI5e,IAAI,IAAI4e,qBAAqB,CAACjX,MAAM,CAAC,EAAE;IAC9C,IAAIqU,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,IAAI8e,cAAc,CAAC7e,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B;EACF,OAAO6G,MAAM;AACf,CAAC;AACD,SAASsY,aAAaA,CAACxX,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,GAAG,CAAC,CAAC,EAAE;EAC/C,MAAMC,EAAE,GAAGD,OAAO;IAAE;MAClBgF,WAAW,EAAEvC;IACf,CAAC,GAAGxC,EAAE;IAAE4b,YAAY,GAAGgD,WAAW,CAAC5e,EAAE,EAAE,CACrC,aAAa,CACd,CAAC;EACF,MAAM;IAAE+E,WAAW;IAAEF,KAAK;IAAEC,MAAM;IAAEF;EAAS,CAAC,GAAGF,cAAc,CAAClC,MAAM,CAAC;EACvE,MAAMkH,IAAI,GAAGiS,eAAe,CAACtU,MAAM,EAAEsL,EAAE,EAAEgM,eAAe,CAACD,gBAAgB,CAAC,CAAC,CAAC,EAAE9C,YAAY,CAAC,EAAE;IAC3F7W;EACF,CAAC,CAAC,CAAC;EACH,OAAO;IAAE2E,IAAI;IAAE7E,KAAK;IAAEC,MAAM;IAAEF;EAAS,CAAC;AAC1C;AAEA,IAAIka,WAAW,GAAG3gB,MAAM,CAACC,cAAc;AACvC,IAAI2gB,YAAY,GAAG5gB,MAAM,CAACG,gBAAgB;AAC1C,IAAI0gB,mBAAmB,GAAG7gB,MAAM,CAACK,yBAAyB;AAC1D,IAAIygB,qBAAqB,GAAG9gB,MAAM,CAACO,qBAAqB;AACxD,IAAIwgB,cAAc,GAAG/gB,MAAM,CAACS,SAAS,CAACC,cAAc;AACpD,IAAIsgB,cAAc,GAAGhhB,MAAM,CAACS,SAAS,CAACG,oBAAoB;AAC1D,IAAIqgB,iBAAiB,GAAGA,CAACngB,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAG6f,WAAW,CAAC7f,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AACnK,IAAIkgB,gBAAgB,GAAGA,CAAC7f,CAAC,EAAEC,CAAC,KAAK;EAC/B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAIyf,cAAc,CAACvf,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B0f,iBAAiB,CAAC5f,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC,IAAIuf,qBAAqB,EACvB,KAAK,IAAIvf,IAAI,IAAIuf,qBAAqB,CAACxf,CAAC,CAAC,EAAE;IACzC,IAAI0f,cAAc,CAACxf,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC9B0f,iBAAiB,CAAC5f,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACvC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAI8f,eAAe,GAAGA,CAAC9f,CAAC,EAAEC,CAAC,KAAKsf,YAAY,CAACvf,CAAC,EAAEwf,mBAAmB,CAACvf,CAAC,CAAC,CAAC;AACvE,IAAI8f,SAAS,GAAGA,CAAClY,MAAM,EAAEqU,OAAO,KAAK;EACnC,IAAInV,MAAM,GAAG,CAAC,CAAC;EACf,KAAK,IAAI7G,IAAI,IAAI2H,MAAM,EACrB,IAAI6X,cAAc,CAACvf,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,IAAIgc,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B,IAAI2H,MAAM,IAAI,IAAI,IAAI4X,qBAAqB,EACzC,KAAK,IAAIvf,IAAI,IAAIuf,qBAAqB,CAAC5X,MAAM,CAAC,EAAE;IAC9C,IAAIqU,OAAO,CAACrT,OAAO,CAAC3I,IAAI,CAAC,GAAG,CAAC,IAAIyf,cAAc,CAACxf,IAAI,CAAC0H,MAAM,EAAE3H,IAAI,CAAC,EAChE6G,MAAM,CAAC7G,IAAI,CAAC,GAAG2H,MAAM,CAAC3H,IAAI,CAAC;EAC/B;EACF,OAAO6G,MAAM;AACf,CAAC;AACD,SAASiZ,cAAcA,CAACnY,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,GAAG,CAAC,CAAC,EAAE;EAChD,MAAMC,EAAE,GAAGD,OAAO;IAAE;MAClB0f,QAAQ,GAAG,CAAC;MACZvb,QAAQ,GAAG,IAAI;MACfC,OAAO,GAAG;IACZ,CAAC,GAAGnE,EAAE;IAAE4b,YAAY,GAAG2D,SAAS,CAACvf,EAAE,EAAE,CACnC,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAAC;EACF,OAAO2b,eAAe,CAACtU,MAAM,EAAEsL,EAAE,EAAE2M,eAAe,CAACD,gBAAgB,CAAC,CAAC,CAAC,EAAEzD,YAAY,CAAC,EAAE;IACrF7W,WAAW,EAAEd,cAAc,CAACwb,QAAQ,EAAEvb,QAAQ,EAAEC,OAAO;EACzD,CAAC,CAAC,CAAC;AACL;AAEA,IAAIub,SAAS,GAAGvhB,MAAM,CAACC,cAAc;AACrC,IAAIuhB,UAAU,GAAGxhB,MAAM,CAACG,gBAAgB;AACxC,IAAIshB,iBAAiB,GAAGzhB,MAAM,CAACK,yBAAyB;AACxD,IAAIqhB,mBAAmB,GAAG1hB,MAAM,CAACO,qBAAqB;AACtD,IAAIohB,YAAY,GAAG3hB,MAAM,CAACS,SAAS,CAACC,cAAc;AAClD,IAAIkhB,YAAY,GAAG5hB,MAAM,CAACS,SAAS,CAACG,oBAAoB;AACxD,IAAIihB,eAAe,GAAGA,CAAC/gB,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAAKD,GAAG,IAAID,GAAG,GAAGygB,SAAS,CAACzgB,GAAG,EAAEC,GAAG,EAAE;EAAEE,UAAU,EAAE,IAAI;EAAEC,YAAY,EAAE,IAAI;EAAEC,QAAQ,EAAE,IAAI;EAAEH;AAAM,CAAC,CAAC,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,KAAK;AAC/J,IAAI8gB,cAAc,GAAGA,CAACzgB,CAAC,EAAEC,CAAC,KAAK;EAC7B,KAAK,IAAIC,IAAI,IAAID,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAIqgB,YAAY,CAACngB,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC5BsgB,eAAe,CAACxgB,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACrC,IAAImgB,mBAAmB,EACrB,KAAK,IAAIngB,IAAI,IAAImgB,mBAAmB,CAACpgB,CAAC,CAAC,EAAE;IACvC,IAAIsgB,YAAY,CAACpgB,IAAI,CAACF,CAAC,EAAEC,IAAI,CAAC,EAC5BsgB,eAAe,CAACxgB,CAAC,EAAEE,IAAI,EAAED,CAAC,CAACC,IAAI,CAAC,CAAC;EACrC;EACF,OAAOF,CAAC;AACV,CAAC;AACD,IAAI0gB,aAAa,GAAGA,CAAC1gB,CAAC,EAAEC,CAAC,KAAKkgB,UAAU,CAACngB,CAAC,EAAEogB,iBAAiB,CAACngB,CAAC,CAAC,CAAC;AACjE,SAAS0gB,gBAAgBA,CAAC9Y,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,GAAG,CAAC,CAAC,EAAE;EAClD,IAAIqgB,SAAS;EACb,SAASC,QAAQA,CAAA,EAAG;IAClB,IAAI,CAACD,SAAS,EACZ;IACF,MAAMtgB,EAAE,GAAGsgB,SAAS;IACpBA,SAAS,GAAG,KAAK,CAAC;IAClBtgB,EAAE,CAAC,CAAC;EACN;EACA,SAASkb,SAASA,CAAC/B,QAAQ,EAAE;IAC3BmH,SAAS,GAAGnH,QAAQ;EACtB;EACA,MAAMqH,GAAG,GAAGA,CAACnhB,KAAK,EAAEohB,QAAQ,KAAK;IAC/BF,QAAQ,CAAC,CAAC;IACV,OAAO1N,EAAE,CAACxT,KAAK,EAAEohB,QAAQ,EAAEvF,SAAS,CAAC;EACvC,CAAC;EACD,MAAMwF,GAAG,GAAG/C,cAAc,CAACpW,MAAM,EAAEiZ,GAAG,EAAEvgB,OAAO,CAAC;EAChD,MAAM;IAAE4d;EAAc,CAAC,GAAG6C,GAAG;EAC7B,MAAMhZ,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIiZ,IAAI;IACR9C,aAAa,CAAC,MAAM;MAClB8C,IAAI,GAAGH,GAAG,CAACI,eAAe,CAACrZ,MAAM,CAAC,EAAEsZ,WAAW,CAACtZ,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,OAAOoZ,IAAI;EACb,CAAC;EACD,OAAOP,aAAa,CAACD,cAAc,CAAC,CAAC,CAAC,EAAEO,GAAG,CAAC,EAAE;IAC5ChZ;EACF,CAAC,CAAC;AACJ;AACA,SAASkZ,eAAeA,CAACE,OAAO,EAAE;EAChC,IAAI3iB,UAAU,CAAC2iB,OAAO,CAAC,EACrB,OAAOA,OAAO;EAChB,IAAIxV,KAAK,CAACC,OAAO,CAACuV,OAAO,CAAC,EACxB,OAAOA,OAAO,CAAC5V,GAAG,CAAE6V,IAAI,IAAKC,iBAAiB,CAACD,IAAI,CAAC,CAAC;EACvD,OAAOC,iBAAiB,CAACF,OAAO,CAAC;AACnC;AACA,SAASE,iBAAiBA,CAACzZ,MAAM,EAAE;EACjC,OAAO,OAAOA,MAAM,KAAK,UAAU,GAAGA,MAAM,CAAC,CAAC,GAAG9K,KAAK,CAAC8K,MAAM,CAAC;AAChE;AACA,SAASsZ,WAAWA,CAACtZ,MAAM,EAAE;EAC3B,OAAO+D,KAAK,CAACC,OAAO,CAAChE,MAAM,CAAC,GAAGA,MAAM,CAAC2D,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;AAClE;AAEA,SAAS+V,QAAQA,CAAC1Z,MAAM,EAAEsL,EAAE,EAAE5S,OAAO,EAAE;EACrC,OAAOpD,KAAK,CAAC0K,MAAM,EAAE,CAACC,CAAC,EAAE0Z,EAAE,EAAEC,YAAY,KAAK;IAC5C,IAAI3Z,CAAC,EACHqL,EAAE,CAACrL,CAAC,EAAE0Z,EAAE,EAAEC,YAAY,CAAC;EAC3B,CAAC,EAAElhB,OAAO,CAAC;AACb;AAEA,SAASoF,eAAe,EAAEH,UAAU,EAAEzE,MAAM,EAAEsM,YAAY,IAAIqU,YAAY,EAAEhe,YAAY,EAAE5B,KAAK,EAAEzB,aAAa,EAAEuH,mBAAmB,EAAElB,YAAY,EAAEkB,mBAAmB,IAAI+Z,kBAAkB,EAAE5S,aAAa,EAAEtG,eAAe,EAAE1F,mBAAmB,EAAEqG,iBAAiB,EAAEM,oBAAoB,EAAE2B,QAAQ,IAAIuW,gBAAgB,EAAE7X,sBAAsB,EAAEzD,sBAAsB,EAAE1C,cAAc,EAAE+J,YAAY,IAAIkU,YAAY,EAAExE,cAAc,IAAIyE,cAAc,EAAEjc,cAAc,EAAExF,aAAa,IAAI0hB,aAAa,EAAE5X,SAAS,EAAE+K,UAAU,EAAE/M,GAAG,EAAEvF,MAAM,EAAEwD,QAAQ,EAAE6X,cAAc,IAAI+D,cAAc,EAAElb,gBAAgB,EAAEnD,MAAM,EAAEtC,SAAS,EAAEV,QAAQ,EAAEE,KAAK,EAAE0J,SAAS,EAAEjJ,UAAU,EAAEkB,KAAK,EAAEjB,QAAQ,EAAEE,QAAQ,EAAED,QAAQ,EAAEE,QAAQ,EAAEoJ,kBAAkB,EAAE3I,IAAI,EAAEiW,aAAa,EAAEzW,GAAG,EAAE6F,UAAU,EAAEtC,cAAc,EAAEma,aAAa,IAAI4C,aAAa,EAAEhc,cAAc,EAAE7D,IAAI,EAAEiJ,QAAQ,EAAEK,cAAc,EAAEoB,gBAAgB,EAAEC,YAAY,EAAEK,YAAY,EAAEC,YAAY,EAAEM,YAAY,EAAEG,UAAU,EAAEE,YAAY,EAAEG,cAAc,EAAEa,UAAU,EAAEnM,YAAY,EAAE5E,GAAG,EAAEgR,OAAO,EAAEa,QAAQ,EAAErL,cAAc,EAAEuJ,YAAY,IAAIkU,YAAY,EAAElC,cAAc,IAAImC,cAAc,EAAEtgB,SAAS,EAAEqK,UAAU,EAAErO,MAAM,EAAE+S,gBAAgB,EAAEE,kBAAkB,EAAEC,YAAY,EAAEvI,iBAAiB,EAAEwI,cAAc,EAAEwB,KAAK,EAAEC,aAAa,EAAEI,cAAc,EAAEC,YAAY,EAAEE,iBAAiB,EAAEI,gBAAgB,EAAEC,YAAY,EAAEG,WAAW,EAAEC,cAAc,EAAEK,YAAY,EAAEC,cAAc,EAAEE,UAAU,EAAEsE,aAAa,EAAE5K,YAAY,IAAIyU,WAAW,EAAE1U,aAAa,EAAE4L,WAAW,EAAEd,aAAa,EAAEmB,cAAc,EAAE3L,YAAY,IAAIqU,WAAW,EAAEtU,aAAa,EAAEsM,UAAU,EAAET,YAAY,EAAEW,WAAW,EAAEI,WAAW,EAAEC,SAAS,EAAEQ,UAAU,EAAEqB,WAAW,EAAEY,cAAc,EAAEY,cAAc,EAAES,SAAS,EAAEW,aAAa,EAAEW,cAAc,EAAEW,gBAAgB,EAAExE,eAAe,EAAEoF,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0161685eadf085b8a1a9d91d554c95def74e74a848236e49ebbd136a579d2e8e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0161685eadf085b8a1a9d91d554c95def74e74a848236e49ebbd136a579d2e8e.json new file mode 100644 index 00000000..a87cc9c0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0161685eadf085b8a1a9d91d554c95def74e74a848236e49ebbd136a579d2e8e.json @@ -0,0 +1 @@ +{"ast":null,"code":"const descriptionsKey = Symbol(\"elDescriptions\");\nexport { descriptionsKey };","map":{"version":3,"names":["descriptionsKey","Symbol"],"sources":["../../../../../../packages/components/descriptions/src/token.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { IDescriptionsInject } from './descriptions.type'\n\nexport const descriptionsKey: InjectionKey =\n Symbol('elDescriptions')\n"],"mappings":"AAAY,MAACA,eAAe,GAAGC,MAAM,CAAC,gBAAgB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0177b98e19baebd98c35dd5d5d503e8228eb2a7a5dad9212b8ab0ba709888ced.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0177b98e19baebd98c35dd5d5d503e8228eb2a7a5dad9212b8ab0ba709888ced.json new file mode 100644 index 00000000..bfb700c4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0177b98e19baebd98c35dd5d5d503e8228eb2a7a5dad9212b8ab0ba709888ced.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseClone from './_baseClone.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n}\nexport default iteratee;","map":{"version":3,"names":["baseClone","baseIteratee","CLONE_DEEP_FLAG","iteratee","func"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/iteratee.js"],"sourcesContent":["import baseClone from './_baseClone.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n}\n\nexport default iteratee;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,YAAY,MAAM,oBAAoB;;AAE7C;AACA,IAAIC,eAAe,GAAG,CAAC;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,IAAI,EAAE;EACtB,OAAOH,YAAY,CAAC,OAAOG,IAAI,IAAI,UAAU,GAAGA,IAAI,GAAGJ,SAAS,CAACI,IAAI,EAAEF,eAAe,CAAC,CAAC;AAC1F;AAEA,eAAeC,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/019f8509a12c543815ab4ce946e2fbb098e2bd72a6d4d6d13194ef22439e0373.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/019f8509a12c543815ab4ce946e2fbb098e2bd72a6d4d6d13194ef22439e0373.json new file mode 100644 index 00000000..49d8ea6a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/019f8509a12c543815ab4ce946e2fbb098e2bd72a6d4d6d13194ef22439e0373.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getDevtoolsGlobalHook, getTarget, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n } else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy\n });\n if (proxy) {\n setupFn(proxy.proxiedTarget);\n }\n }\n}","map":{"version":3,"names":["getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","ApiProxy","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","target","hook","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","emit","proxy","list","__VUE_DEVTOOLS_PLUGINS__","push","proxiedTarget"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@vue/devtools-api/lib/esm/index.js"],"sourcesContent":["import { getDevtoolsGlobalHook, getTarget, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy) {\n setupFn(proxy.proxiedTarget);\n }\n }\n}\n"],"mappings":"AAAA,SAASA,qBAAqB,EAAEC,SAAS,EAAEC,gBAAgB,QAAQ,UAAU;AAC7E,SAASC,UAAU,QAAQ,YAAY;AACvC,SAASC,QAAQ,QAAQ,YAAY;AACrC,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,OAAO,SAASC,mBAAmBA,CAACC,gBAAgB,EAAEC,OAAO,EAAE;EAC3D,MAAMC,UAAU,GAAGF,gBAAgB;EACnC,MAAMG,MAAM,GAAGR,SAAS,CAAC,CAAC;EAC1B,MAAMS,IAAI,GAAGV,qBAAqB,CAAC,CAAC;EACpC,MAAMW,WAAW,GAAGT,gBAAgB,IAAIM,UAAU,CAACI,gBAAgB;EACnE,IAAIF,IAAI,KAAKD,MAAM,CAACI,qCAAqC,IAAI,CAACF,WAAW,CAAC,EAAE;IACxED,IAAI,CAACI,IAAI,CAACX,UAAU,EAAEG,gBAAgB,EAAEC,OAAO,CAAC;EACpD,CAAC,MACI;IACD,MAAMQ,KAAK,GAAGJ,WAAW,GAAG,IAAIP,QAAQ,CAACI,UAAU,EAAEE,IAAI,CAAC,GAAG,IAAI;IACjE,MAAMM,IAAI,GAAGP,MAAM,CAACQ,wBAAwB,GAAGR,MAAM,CAACQ,wBAAwB,IAAI,EAAE;IACpFD,IAAI,CAACE,IAAI,CAAC;MACNZ,gBAAgB,EAAEE,UAAU;MAC5BD,OAAO;MACPQ;IACJ,CAAC,CAAC;IACF,IAAIA,KAAK,EAAE;MACPR,OAAO,CAACQ,KAAK,CAACI,aAAa,CAAC;IAChC;EACJ;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01bddc499f63bd87cf1f73e0127fc92bf4af196e92044ae843a9c27d5d994eec.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01bddc499f63bd87cf1f73e0127fc92bf4af196e92044ae843a9c27d5d994eec.json new file mode 100644 index 00000000..7f45f1d9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01bddc499f63bd87cf1f73e0127fc92bf4af196e92044ae843a9c27d5d994eec.json @@ -0,0 +1 @@ +{"ast":null,"code":"import axios from 'axios';\nexport default {\n name: 'DroneListView',\n data() {\n return {\n drones: [],\n dialogVisible: false,\n form: {\n name: '',\n type: '',\n serial_number: '',\n app_key: '',\n app_secret: '',\n description: ''\n }\n };\n },\n methods: {\n async fetchDrones() {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n this.drones = res.data.data;\n }\n } catch (e) {\n this.$message.error('获取无人机列表失败');\n }\n },\n async addDrone() {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.post('/api/drones', this.form, {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n this.$message.success('添加成功');\n this.dialogVisible = false;\n this.fetchDrones();\n this.form = {\n name: '',\n type: '',\n serial_number: '',\n app_key: '',\n app_secret: '',\n description: ''\n };\n } else {\n this.$message.error(res.data.message || '添加失败');\n }\n } catch (e) {\n this.$message.error('添加失败');\n }\n }\n },\n mounted() {\n this.fetchDrones();\n }\n};","map":{"version":3,"names":["axios","name","data","drones","dialogVisible","form","type","serial_number","app_key","app_secret","description","methods","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","success","e","$message","error","addDrone","post","message","mounted"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\DroneListView.vue"],"sourcesContent":["\r\n\r\n "],"mappings":"AA2CA,OAAOA,KAAI,MAAO,OAAM;AACxB,eAAe;EACbC,IAAI,EAAE,eAAe;EACrBC,IAAIA,CAAA,EAAG;IACL,OAAO;MACLC,MAAM,EAAE,EAAE;MACVC,aAAa,EAAE,KAAK;MACpBC,IAAI,EAAE;QACJJ,IAAI,EAAE,EAAE;QACRK,IAAI,EAAE,EAAE;QACRC,aAAa,EAAE,EAAE;QACjBC,OAAO,EAAE,EAAE;QACXC,UAAU,EAAE,EAAE;QACdC,WAAW,EAAE;MACf;IACF;EACF,CAAC;EACDC,OAAO,EAAE;IACP,MAAMC,WAAWA,CAAA,EAAG;MAClB,IAAI;QACF,MAAMC,KAAI,GAAIC,YAAY,CAACC,OAAO,CAAC,OAAO;QAC1C,MAAMC,GAAE,GAAI,MAAMhB,KAAK,CAACiB,GAAG,CAAC,aAAa,EAAE;UACzCC,OAAO,EAAE;YAAEC,aAAa,EAAE,UAAUN,KAAK;UAAG;QAC9C,CAAC;QACD,IAAIG,GAAG,CAACd,IAAI,CAACkB,OAAO,EAAE;UACpB,IAAI,CAACjB,MAAK,GAAIa,GAAG,CAACd,IAAI,CAACA,IAAG;QAC5B;MACF,EAAE,OAAOmB,CAAC,EAAE;QACV,IAAI,CAACC,QAAQ,CAACC,KAAK,CAAC,WAAW;MACjC;IACF,CAAC;IACD,MAAMC,QAAQA,CAAA,EAAG;MACf,IAAI;QACF,MAAMX,KAAI,GAAIC,YAAY,CAACC,OAAO,CAAC,OAAO;QAC1C,MAAMC,GAAE,GAAI,MAAMhB,KAAK,CAACyB,IAAI,CAAC,aAAa,EAAE,IAAI,CAACpB,IAAI,EAAE;UACrDa,OAAO,EAAE;YAAEC,aAAa,EAAE,UAAUN,KAAK;UAAG;QAC9C,CAAC;QACD,IAAIG,GAAG,CAACd,IAAI,CAACkB,OAAO,EAAE;UACpB,IAAI,CAACE,QAAQ,CAACF,OAAO,CAAC,MAAM;UAC5B,IAAI,CAAChB,aAAY,GAAI,KAAI;UACzB,IAAI,CAACQ,WAAW,CAAC;UACjB,IAAI,CAACP,IAAG,GAAI;YAAEJ,IAAI,EAAE,EAAE;YAAEK,IAAI,EAAE,EAAE;YAAEC,aAAa,EAAE,EAAE;YAAEC,OAAO,EAAE,EAAE;YAAEC,UAAU,EAAE,EAAE;YAAEC,WAAW,EAAE;UAAG;QACpG,OAAO;UACL,IAAI,CAACY,QAAQ,CAACC,KAAK,CAACP,GAAG,CAACd,IAAI,CAACwB,OAAM,IAAK,MAAM;QAChD;MACF,EAAE,OAAOL,CAAC,EAAE;QACV,IAAI,CAACC,QAAQ,CAACC,KAAK,CAAC,MAAM;MAC5B;IACF;EACF,CAAC;EACDI,OAAOA,CAAA,EAAG;IACR,IAAI,CAACf,WAAW,CAAC;EACnB;AACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01db1bd0f04ea8728dd0ca5593c88c4f4fb1ed4a496c4c913026b4ed5f7c75f0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01db1bd0f04ea8728dd0ca5593c88c4f4fb1ed4a496c4c913026b4ed5f7c75f0.json new file mode 100644 index 00000000..780aa491 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01db1bd0f04ea8728dd0ca5593c88c4f4fb1ed4a496c4c913026b4ed5f7c75f0.json @@ -0,0 +1 @@ +{"ast":null,"code":"function useCursor(input) {\n let selectionInfo;\n function recordCursor() {\n if (input.value == void 0) return;\n const {\n selectionStart,\n selectionEnd,\n value\n } = input.value;\n if (selectionStart == null || selectionEnd == null) return;\n const beforeTxt = value.slice(0, Math.max(0, selectionStart));\n const afterTxt = value.slice(Math.max(0, selectionEnd));\n selectionInfo = {\n selectionStart,\n selectionEnd,\n value,\n beforeTxt,\n afterTxt\n };\n }\n function setCursor() {\n if (input.value == void 0 || selectionInfo == void 0) return;\n const {\n value\n } = input.value;\n const {\n beforeTxt,\n afterTxt,\n selectionStart\n } = selectionInfo;\n if (beforeTxt == void 0 || afterTxt == void 0 || selectionStart == void 0) return;\n let startPos = value.length;\n if (value.endsWith(afterTxt)) {\n startPos = value.length - afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else {\n const beforeLastChar = beforeTxt[selectionStart - 1];\n const newIndex = value.indexOf(beforeLastChar, selectionStart - 1);\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n input.value.setSelectionRange(startPos, startPos);\n }\n return [recordCursor, setCursor];\n}\nexport { useCursor };","map":{"version":3,"names":["useCursor","input","selectionInfo","recordCursor","value","selectionStart","selectionEnd","beforeTxt","slice","Math","max","afterTxt","setCursor","startPos","length","endsWith","startsWith","beforeLastChar","newIndex","indexOf","setSelectionRange"],"sources":["../../../../../packages/hooks/use-cursor/index.ts"],"sourcesContent":["import type { ShallowRef } from 'vue'\n\ninterface SelectionInfo {\n selectionStart?: number\n selectionEnd?: number\n value?: string\n beforeTxt?: string\n afterTxt?: string\n}\n\n// Keep input cursor in the correct position when we use formatter.\nexport function useCursor(\n input: ShallowRef\n): [() => void, () => void] {\n let selectionInfo: SelectionInfo\n function recordCursor() {\n if (input.value == undefined) return\n\n const { selectionStart, selectionEnd, value } = input.value\n\n if (selectionStart == null || selectionEnd == null) return\n\n const beforeTxt = value.slice(0, Math.max(0, selectionStart))\n const afterTxt = value.slice(Math.max(0, selectionEnd))\n\n selectionInfo = {\n selectionStart,\n selectionEnd,\n value,\n beforeTxt,\n afterTxt,\n }\n }\n function setCursor() {\n if (input.value == undefined || selectionInfo == undefined) return\n\n const { value } = input.value\n const { beforeTxt, afterTxt, selectionStart } = selectionInfo\n\n if (\n beforeTxt == undefined ||\n afterTxt == undefined ||\n selectionStart == undefined\n )\n return\n\n let startPos = value.length\n\n if (value.endsWith(afterTxt)) {\n startPos = value.length - afterTxt.length\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length\n } else {\n const beforeLastChar = beforeTxt[selectionStart - 1]\n const newIndex = value.indexOf(beforeLastChar, selectionStart - 1)\n if (newIndex !== -1) {\n startPos = newIndex + 1\n }\n }\n\n input.value.setSelectionRange(startPos, startPos)\n }\n\n return [recordCursor, setCursor]\n}\n"],"mappings":"AAAO,SAASA,SAASA,CAACC,KAAK,EAAE;EAC/B,IAAIC,aAAa;EACjB,SAASC,YAAYA,CAAA,EAAG;IACtB,IAAIF,KAAK,CAACG,KAAK,IAAI,KAAK,CAAC,EACvB;IACF,MAAM;MAAEC,cAAc;MAAEC,YAAY;MAAEF;IAAK,CAAE,GAAGH,KAAK,CAACG,KAAK;IAC3D,IAAIC,cAAc,IAAI,IAAI,IAAIC,YAAY,IAAI,IAAI,EAChD;IACF,MAAMC,SAAS,GAAGH,KAAK,CAACI,KAAK,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEL,cAAc,CAAC,CAAC;IAC7D,MAAMM,QAAQ,GAAGP,KAAK,CAACI,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,YAAY,CAAC,CAAC;IACvDJ,aAAa,GAAG;MACdG,cAAc;MACdC,YAAY;MACZF,KAAK;MACLG,SAAS;MACTI;IACN,CAAK;EACL;EACE,SAASC,SAASA,CAAA,EAAG;IACnB,IAAIX,KAAK,CAACG,KAAK,IAAI,KAAK,CAAC,IAAIF,aAAa,IAAI,KAAK,CAAC,EAClD;IACF,MAAM;MAAEE;IAAK,CAAE,GAAGH,KAAK,CAACG,KAAK;IAC7B,MAAM;MAAEG,SAAS;MAAEI,QAAQ;MAAEN;IAAc,CAAE,GAAGH,aAAa;IAC7D,IAAIK,SAAS,IAAI,KAAK,CAAC,IAAII,QAAQ,IAAI,KAAK,CAAC,IAAIN,cAAc,IAAI,KAAK,CAAC,EACvE;IACF,IAAIQ,QAAQ,GAAGT,KAAK,CAACU,MAAM;IAC3B,IAAIV,KAAK,CAACW,QAAQ,CAACJ,QAAQ,CAAC,EAAE;MAC5BE,QAAQ,GAAGT,KAAK,CAACU,MAAM,GAAGH,QAAQ,CAACG,MAAM;IAC/C,CAAK,MAAM,IAAIV,KAAK,CAACY,UAAU,CAACT,SAAS,CAAC,EAAE;MACtCM,QAAQ,GAAGN,SAAS,CAACO,MAAM;IACjC,CAAK,MAAM;MACL,MAAMG,cAAc,GAAGV,SAAS,CAACF,cAAc,GAAG,CAAC,CAAC;MACpD,MAAMa,QAAQ,GAAGd,KAAK,CAACe,OAAO,CAACF,cAAc,EAAEZ,cAAc,GAAG,CAAC,CAAC;MAClE,IAAIa,QAAQ,KAAK,CAAC,CAAC,EAAE;QACnBL,QAAQ,GAAGK,QAAQ,GAAG,CAAC;MAC/B;IACA;IACIjB,KAAK,CAACG,KAAK,CAACgB,iBAAiB,CAACP,QAAQ,EAAEA,QAAQ,CAAC;EACrD;EACE,OAAO,CAACV,YAAY,EAAES,SAAS,CAAC;AAClC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01e1f5a39a9090be3d1d1df5fa5968a8d86f007fa97816c0efd54305a31edf37.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01e1f5a39a9090be3d1d1df5fa5968a8d86f007fa97816c0efd54305a31edf37.json new file mode 100644 index 00000000..0b5a49de --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/01e1f5a39a9090be3d1d1df5fa5968a8d86f007fa97816c0efd54305a31edf37.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createList from '../builders/build-list.mjs';\nimport { isHorizontal } from '../utils.mjs';\nimport { AUTO_ALIGNMENT, CENTERED_ALIGNMENT, END_ALIGNMENT, START_ALIGNMENT, SMART_ALIGNMENT } from '../defaults.mjs';\nimport { isString } from '@vue/shared';\nimport { throwError } from '../../../../utils/error.mjs';\nconst FixedSizeList = createList({\n name: \"ElFixedSizeList\",\n getItemOffset: ({\n itemSize\n }, index) => index * itemSize,\n getItemSize: ({\n itemSize\n }) => itemSize,\n getEstimatedTotalSize: ({\n total,\n itemSize\n }) => itemSize * total,\n getOffset: ({\n height,\n total,\n itemSize,\n layout,\n width\n }, index, alignment, scrollOffset) => {\n const size = isHorizontal(layout) ? width : height;\n if (process.env.NODE_ENV !== \"production\" && isString(size)) {\n throwError(\"[ElVirtualList]\", `\n You should set\n width/height\n to number when your layout is\n horizontal/vertical\n `);\n }\n const lastItemOffset = Math.max(0, total * itemSize - size);\n const maxOffset = Math.min(lastItemOffset, index * itemSize);\n const minOffset = Math.max(0, (index + 1) * itemSize - size);\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT;\n } else {\n alignment = CENTERED_ALIGNMENT;\n }\n }\n switch (alignment) {\n case START_ALIGNMENT:\n {\n return maxOffset;\n }\n case END_ALIGNMENT:\n {\n return minOffset;\n }\n case CENTERED_ALIGNMENT:\n {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n if (middleOffset < Math.ceil(size / 2)) {\n return 0;\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset;\n } else {\n return middleOffset;\n }\n }\n case AUTO_ALIGNMENT:\n default:\n {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n }\n }\n },\n getStartIndexForOffset: ({\n total,\n itemSize\n }, offset) => Math.max(0, Math.min(total - 1, Math.floor(offset / itemSize))),\n getStopIndexForStartIndex: ({\n height,\n total,\n itemSize,\n layout,\n width\n }, startIndex, scrollOffset) => {\n const offset = startIndex * itemSize;\n const size = isHorizontal(layout) ? width : height;\n const numVisibleItems = Math.ceil((size + scrollOffset - offset) / itemSize);\n return Math.max(0, Math.min(total - 1, startIndex + numVisibleItems - 1));\n },\n initCache() {\n return void 0;\n },\n clearCache: true,\n validateProps() {}\n});\nexport { FixedSizeList as default };","map":{"version":3,"names":["FixedSizeList","createList","name","getItemOffset","itemSize","index","getItemSize","getEstimatedTotalSize","total","getOffset","height","layout","width","alignment","scrollOffset","size","isHorizontal","process","env","NODE_ENV","isString","throwError","lastItemOffset","Math","max","maxOffset","min","minOffset","SMART_ALIGNMENT","AUTO_ALIGNMENT","CENTERED_ALIGNMENT","START_ALIGNMENT","END_ALIGNMENT","middleOffset","round","ceil","floor","getStartIndexForOffset","offset","getStopIndexForStartIndex","startIndex","numVisibleItems","initCache","clearCache","validateProps"],"sources":["../../../../../../../packages/components/virtual-list/src/components/fixed-size-list.ts"],"sourcesContent":["import { isString, throwError } from '@element-plus/utils'\nimport buildList from '../builders/build-list'\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { VirtualizedListProps } from '../props'\n\ntype Props = VirtualizedListProps\n\nconst FixedSizeList = buildList({\n name: 'ElFixedSizeList',\n getItemOffset: ({ itemSize }, index) => index * (itemSize as number),\n\n getItemSize: ({ itemSize }) => itemSize as number,\n\n getEstimatedTotalSize: ({ total, itemSize }) => (itemSize as number) * total,\n\n getOffset: (\n { height, total, itemSize, layout, width },\n index,\n alignment,\n scrollOffset\n ) => {\n const size = (isHorizontal(layout) ? width : height) as number\n if (process.env.NODE_ENV !== 'production' && isString(size)) {\n throwError(\n '[ElVirtualList]',\n `\n You should set\n width/height\n to number when your layout is\n horizontal/vertical\n `\n )\n }\n const lastItemOffset = Math.max(0, total * (itemSize as number) - size)\n const maxOffset = Math.min(lastItemOffset, index * (itemSize as number))\n const minOffset = Math.max(0, (index + 1) * (itemSize as number) - size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (\n scrollOffset >= minOffset - size &&\n scrollOffset <= maxOffset + size\n ) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(size / 2)) {\n return 0 // near the beginning\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset // near the end\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n },\n\n getStartIndexForOffset: ({ total, itemSize }, offset) =>\n Math.max(0, Math.min(total - 1, Math.floor(offset / (itemSize as number)))),\n\n getStopIndexForStartIndex: (\n { height, total, itemSize, layout, width }: Props,\n startIndex: number,\n scrollOffset: number\n ) => {\n const offset = startIndex * (itemSize as number)\n const size = isHorizontal(layout) ? width : height\n const numVisibleItems = Math.ceil(\n ((size as number) + scrollOffset - offset) / (itemSize as number)\n )\n return Math.max(\n 0,\n Math.min(\n total - 1,\n // because startIndex is inclusive, so in order to prevent array outbound indexing\n // we need to - 1 to prevent outbound behavior\n startIndex + numVisibleItems - 1\n )\n )\n },\n\n /**\n * Fixed size list does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache() {\n return undefined as any\n },\n\n clearCache: true,\n\n validateProps() {},\n})\n\nexport type FixedSizeListInstance = InstanceType & unknown\nexport default FixedSizeList\n"],"mappings":";;;;;AAUK,MAACA,aAAa,GAAGC,UAAS,CAAC;EAC9BC,IAAI,EAAE,iBAAiB;EACvBC,aAAa,EAAEA,CAAC;IAAEC;EAAQ,CAAE,EAAEC,KAAK,KAAKA,KAAK,GAAGD,QAAQ;EACxDE,WAAW,EAAEA,CAAC;IAAEF;EAAQ,CAAE,KAAKA,QAAQ;EACvCG,qBAAqB,EAAEA,CAAC;IAAEC,KAAK;IAAEJ;EAAQ,CAAE,KAAKA,QAAQ,GAAGI,KAAK;EAChEC,SAAS,EAAEA,CAAC;IAAEC,MAAM;IAAEF,KAAK;IAAEJ,QAAQ;IAAEO,MAAM;IAAEC;EAAK,CAAE,EAAEP,KAAK,EAAEQ,SAAS,EAAEC,YAAY,KAAK;IACzF,MAAMC,IAAI,GAAGC,YAAY,CAACL,MAAM,CAAC,GAAGC,KAAK,GAAGF,MAAM;IAClD,IAAIO,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIC,QAAQ,CAACL,IAAI,CAAC,EAAE;MAC3DM,UAAU,CAAC,iBAAiB,EAAE;AACpC;AACA;AACA;AACA;AACA,OAAO,CAAC;IACR;IACI,MAAMC,cAAc,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEhB,KAAK,GAAGJ,QAAQ,GAAGW,IAAI,CAAC;IAC3D,MAAMU,SAAS,GAAGF,IAAI,CAACG,GAAG,CAACJ,cAAc,EAAEjB,KAAK,GAAGD,QAAQ,CAAC;IAC5D,MAAMuB,SAAS,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAACnB,KAAK,GAAG,CAAC,IAAID,QAAQ,GAAGW,IAAI,CAAC;IAC5D,IAAIF,SAAS,KAAKe,eAAe,EAAE;MACjC,IAAId,YAAY,IAAIa,SAAS,GAAGZ,IAAI,IAAID,YAAY,IAAIW,SAAS,GAAGV,IAAI,EAAE;QACxEF,SAAS,GAAGgB,cAAc;MAClC,CAAO,MAAM;QACLhB,SAAS,GAAGiB,kBAAkB;MACtC;IACA;IACI,QAAQjB,SAAS;MACf,KAAKkB,eAAe;QAAE;UACpB,OAAON,SAAS;QACxB;MACM,KAAKO,aAAa;QAAE;UAClB,OAAOL,SAAS;QACxB;MACM,KAAKG,kBAAkB;QAAE;UACvB,MAAMG,YAAY,GAAGV,IAAI,CAACW,KAAK,CAACP,SAAS,GAAG,CAACF,SAAS,GAAGE,SAAS,IAAI,CAAC,CAAC;UACxE,IAAIM,YAAY,GAAGV,IAAI,CAACY,IAAI,CAACpB,IAAI,GAAG,CAAC,CAAC,EAAE;YACtC,OAAO,CAAC;UAClB,CAAS,MAAM,IAAIkB,YAAY,GAAGX,cAAc,GAAGC,IAAI,CAACa,KAAK,CAACrB,IAAI,GAAG,CAAC,CAAC,EAAE;YAC/D,OAAOO,cAAc;UAC/B,CAAS,MAAM;YACL,OAAOW,YAAY;UAC7B;QACA;MACM,KAAKJ,cAAc;MACnB;QAAS;UACP,IAAIf,YAAY,IAAIa,SAAS,IAAIb,YAAY,IAAIW,SAAS,EAAE;YAC1D,OAAOX,YAAY;UAC7B,CAAS,MAAM,IAAIA,YAAY,GAAGa,SAAS,EAAE;YACnC,OAAOA,SAAS;UAC1B,CAAS,MAAM;YACL,OAAOF,SAAS;UAC1B;QACA;IACA;EACA,CAAG;EACDY,sBAAsB,EAAEA,CAAC;IAAE7B,KAAK;IAAEJ;EAAQ,CAAE,EAAEkC,MAAM,KAAKf,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACG,GAAG,CAAClB,KAAK,GAAG,CAAC,EAAEe,IAAI,CAACa,KAAK,CAACE,MAAM,GAAGlC,QAAQ,CAAC,CAAC,CAAC;EACxHmC,yBAAyB,EAAEA,CAAC;IAAE7B,MAAM;IAAEF,KAAK;IAAEJ,QAAQ;IAAEO,MAAM;IAAEC;EAAK,CAAE,EAAE4B,UAAU,EAAE1B,YAAY,KAAK;IACnG,MAAMwB,MAAM,GAAGE,UAAU,GAAGpC,QAAQ;IACpC,MAAMW,IAAI,GAAGC,YAAY,CAACL,MAAM,CAAC,GAAGC,KAAK,GAAGF,MAAM;IAClD,MAAM+B,eAAe,GAAGlB,IAAI,CAACY,IAAI,CAAC,CAACpB,IAAI,GAAGD,YAAY,GAAGwB,MAAM,IAAIlC,QAAQ,CAAC;IAC5E,OAAOmB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACG,GAAG,CAAClB,KAAK,GAAG,CAAC,EAAEgC,UAAU,GAAGC,eAAe,GAAG,CAAC,CAAC,CAAC;EAC7E,CAAG;EACDC,SAASA,CAAA,EAAG;IACV,OAAO,KAAK,CAAC;EACjB,CAAG;EACDC,UAAU,EAAE,IAAI;EAChBC,aAAaA,CAAA,EAAG,CAClB;AACA,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02161a7d6470b36f85624d058d480d201cd95d2b03d96103f1f40f77d7fa5f96.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02161a7d6470b36f85624d058d480d201cd95d2b03d96103f1f40f77d7fa5f96.json new file mode 100644 index 00000000..2b1eedae --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02161a7d6470b36f85624d058d480d201cd95d2b03d96103f1f40f77d7fa5f96.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createVNode, renderSlot, mergeProps } from 'vue';\nimport { get } from 'lodash-unified';\nimport { Alignment } from '../constants.mjs';\nimport { placeholderSign } from '../private.mjs';\nimport { enforceUnit, tryCall, componentToSlot } from '../utils.mjs';\nimport TableCell from '../components/cell.mjs';\nimport ExpandIcon from '../components/expand-icon.mjs';\nimport { isFunction, isObject } from '@vue/shared';\nconst CellRenderer = ({\n columns,\n column,\n columnIndex,\n depth,\n expandIconProps,\n isScrolling,\n rowData,\n rowIndex,\n style,\n expandedRowKeys,\n ns,\n cellProps: _cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey\n}, {\n slots\n}) => {\n const cellStyle = enforceUnit(style);\n if (column.placeholderSign === placeholderSign) {\n return createVNode(\"div\", {\n \"class\": ns.em(\"row-cell\", \"placeholder\"),\n \"style\": cellStyle\n }, null);\n }\n const {\n cellRenderer,\n dataKey,\n dataGetter\n } = column;\n const cellData = isFunction(dataGetter) ? dataGetter({\n columns,\n column,\n columnIndex,\n rowData,\n rowIndex\n }) : get(rowData, dataKey != null ? dataKey : \"\");\n const extraCellProps = tryCall(_cellProps, {\n cellData,\n columns,\n column,\n columnIndex,\n rowIndex,\n rowData\n });\n const cellProps = {\n class: ns.e(\"cell-text\"),\n columns,\n column,\n columnIndex,\n cellData,\n isScrolling,\n rowData,\n rowIndex\n };\n const columnCellRenderer = componentToSlot(cellRenderer);\n const Cell = columnCellRenderer ? columnCellRenderer(cellProps) : renderSlot(slots, \"default\", cellProps, () => [createVNode(TableCell, cellProps, null)]);\n const kls = [ns.e(\"row-cell\"), column.class, column.align === Alignment.CENTER && ns.is(\"align-center\"), column.align === Alignment.RIGHT && ns.is(\"align-right\")];\n const expandable = rowIndex >= 0 && expandColumnKey && column.key === expandColumnKey;\n const expanded = rowIndex >= 0 && expandedRowKeys.includes(rowData[rowKey]);\n let IconOrPlaceholder;\n const iconStyle = `margin-inline-start: ${depth * indentSize}px;`;\n if (expandable) {\n if (isObject(expandIconProps)) {\n IconOrPlaceholder = createVNode(ExpandIcon, mergeProps(expandIconProps, {\n \"class\": [ns.e(\"expand-icon\"), ns.is(\"expanded\", expanded)],\n \"size\": iconSize,\n \"expanded\": expanded,\n \"style\": iconStyle,\n \"expandable\": true\n }), null);\n } else {\n IconOrPlaceholder = createVNode(\"div\", {\n \"style\": [iconStyle, `width: ${iconSize}px; height: ${iconSize}px;`].join(\" \")\n }, null);\n }\n }\n return createVNode(\"div\", mergeProps({\n \"class\": kls,\n \"style\": cellStyle\n }, extraCellProps, {\n \"role\": \"cell\"\n }), [IconOrPlaceholder, Cell]);\n};\nCellRenderer.inheritAttrs = false;\nvar Cell = CellRenderer;\nexport { Cell as default };","map":{"version":3,"names":["columns","column","columnIndex","depth","expandIconProps","isScrolling","rowData","rowIndex","style","expandedRowKeys","ns","cellProps","_cellProps","expandColumnKey","indentSize","iconSize","rowKey","slots","cellStyle","enforceUnit","placeholderSign","createVNode","em","cellRenderer","dataGetter","get","dataKey","extraCellProps","tryCall","cellData","class","e","columnCellRenderer","componentToSlot","Cell","renderSlot","TableCell","kls","align","Alignment","CENTER","is","RIGHT","expandable","key","expanded","includes","IconOrPlaceholder","iconStyle","isObject","ExpandIcon","mergeProps","join","CellRenderer"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { get } from 'lodash-unified'\nimport { isFunction, isObject } from '@element-plus/utils'\nimport { ExpandIcon, TableCell } from '../components'\nimport { Alignment } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs, VNode } from 'vue'\nimport type { TableV2RowCellRenderParam } from '../components'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\ntype CellRendererProps = TableV2RowCellRenderParam &\n Pick<\n TableV2Props,\n 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'\n > &\n UnwrapNestedRefs> & {\n ns: UseNamespaceReturn\n }\n\nconst CellRenderer: FunctionalComponent = (\n {\n // renderer props\n columns,\n column,\n columnIndex,\n depth,\n expandIconProps,\n isScrolling,\n rowData,\n rowIndex,\n // from use-table\n style,\n expandedRowKeys,\n ns,\n // derived props\n cellProps: _cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n },\n { slots }\n) => {\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return
\n }\n const { cellRenderer, dataKey, dataGetter } = column\n\n const cellData = isFunction(dataGetter)\n ? dataGetter({ columns, column, columnIndex, rowData, rowIndex })\n : get(rowData, dataKey ?? '')\n\n const extraCellProps = tryCall(_cellProps, {\n cellData,\n columns,\n column,\n columnIndex,\n rowIndex,\n rowData,\n })\n\n const cellProps = {\n class: ns.e('cell-text'),\n columns,\n column,\n columnIndex,\n cellData,\n isScrolling,\n rowData,\n rowIndex,\n }\n const columnCellRenderer = componentToSlot(cellRenderer)\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n ,\n ])\n\n const kls = [\n ns.e('row-cell'),\n column.class,\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n ]\n\n const expandable =\n rowIndex >= 0 && expandColumnKey && column.key === expandColumnKey\n const expanded = rowIndex >= 0 && expandedRowKeys.includes(rowData[rowKey])\n\n let IconOrPlaceholder: VNode | undefined\n const iconStyle = `margin-inline-start: ${depth * indentSize}px;`\n if (expandable) {\n if (isObject(expandIconProps)) {\n IconOrPlaceholder = (\n \n )\n } else {\n IconOrPlaceholder = (\n \n )\n }\n }\n\n return (\n
\n {IconOrPlaceholder}\n {Cell}\n
\n )\n}\n\nCellRenderer.inheritAttrs = false\n\nexport default CellRenderer\n"],"mappings":";;;;;;;;;EAuBMA,OAAA;EAEFC,MAAA;EACAC,WAFF;EAGEC,KAHF;EAIEC,eAJF;EAKEC,WALF;EAMEC,OANF;EAOEC,QAPF;EAQEC,KARF;EASEC,eATF;EAUEC,EAAA;EACAC,SAXF,EAAAC,UAAA;EAYEC,eAZF;EAaEC,UAbF;EAcEC,QAAA;EACAC;GAfF;EAiBEC;MAjBF;EAmBE,MAAAC,SAAA,GAAAC,WAAA,CAAAX,KAAA;EAEF,IAAAP,MAAA,CAAAmB,eAAA,KAAAA,eAAA;IAAE,OAAAC,WAAA;MACC,SAAAX,EAAA,CAAAY,EAAA;MACH,OAAe,EAAAJ;;EAEf;EACE;IAAAK,YAAA;WAA4D;IAA5DC;EACD,IAAAvB,MAAA;;IACKD,OAAA;IAAEC,MAAF;IAAgBC,WAAhB;IAAyBI,OAAA;IAAzBC;GAEA,IAAAkB,GAAA,CAAAnB,OAAA,EAAqBoB,OAAA,WAAAA,OAAA;QACZC,cAAA,GAAAC,OAAA,CAAAhB,UAAA;IAAWiB,QAAX;IAAmB7B,OAAnB;IAAgCC,MAAhC;IAAyCC,WAAA;IADvCK,QAAA;IAIjBD;IACE;QADyCK,SAAA;IAGzCmB,KAHyC,EAAApB,EAAA,CAAAqB,CAAA;IAIzC/B,OAJyC;IAKzCC,MALyC;IAMzCC,WAAA;IANF2B,QAAA;IASAxB,WAAA;IACEC,OAAO;IACPC;;QAFgByB,kBAAA,GAAAC,eAAA,CAAAV,YAAA;QAAAW,IAAA,GAAAF,kBAAA,GAAAA,kBAAA,CAAArB,SAAA,IAAAwB,UAAA,CAAAlB,KAAA,aAAAN,SAAA,SAAAU,WAAA,CAAAe,SAAA,EAAAzB,SAAA;QAAA0B,GAAA,IAAA3B,EAAA,CAAAqB,CAAA,cAAA9B,MAAA,CAAA6B,KAAA,EAAA7B,MAAA,CAAAqC,KAAA,KAAAC,SAAA,CAAAC,MAAA,IAAA9B,EAAA,CAAA+B,EAAA,kBAAAxC,MAAA,CAAAqC,KAAA,KAAAC,SAAA,CAAAG,KAAA,IAAAhC,EAAA,CAAA+B,EAAA;QAAAE,UAAA,GAAApC,QAAA,SAAAM,eAAA,IAAAZ,MAAA,CAAA2C,GAAA,KAAA/B,eAAA;EAQhB,MAAAgC,QAAA,GAAAtC,QAAA,SAAAE,eAAA,CAAAqC,QAAA,CAAAxC,OAAA,CAAAU,MAAA;EARgB,IAAlB+B,iBAAA;EAUA,MAAMC,SAAkB,2BAAkB7C,KAAA,GAAAW,UAA1C;EACA,IAAM6B,UAAyB;IAM/B,IAAMM,QAAA,CACF7C,eAAA,CACF,EAAM;MAKR2C,iBACU,GAAA1B,WAAS,CAAjB6B,UAAA,EAAAC,UAA0C,CAAA/C,eAD5C;QAEM,OAAQ,GAAAM,EAAW,CAAAqB,CAAA,cAAS,GAAArB,EAAA,CAAA+B,EAAA,WAAgB,EAAAI,QAAS;QAE3D,QAAA9B,QAAA;QACM,UAAa,EAAA8B,QAAA;;QACnB,YAAgB;MACd,EAAI,EAAQ;IACV;MAAiBE,iBAGA,GAAA1B,WAAN,CAAsB,OAAM;QAHtB,UAAA2B,SAAA,YAAAjC,QAAA,eAAAA,QAAA,OAAAqC,IAAA;MAAA;IAAA;EAAA;SAAjB/B,WAAA,QAAA8B,UAAA;IAUD,OAAM,EAAAd,GAAA;WACY,EAAAnB;mBAEN;UAFX;EAQD,KAAA6B,iBAAA,EAAAb,IAAA;AACF;;AAED,IAAAA,IAAA,GAAAmB,YAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0216bbdb608fab401b3755454730af1ae80f8d7eff7279dcdba7f506b4799c7c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0216bbdb608fab401b3755454730af1ae80f8d7eff7279dcdba7f506b4799c7c.json new file mode 100644 index 00000000..2609a14b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0216bbdb608fab401b3755454730af1ae80f8d7eff7279dcdba7f506b4799c7c.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\nexport default last;","map":{"version":3,"names":["last","array","length","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/last.js"],"sourcesContent":["/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,IAAIA,CAACC,KAAK,EAAE;EACnB,IAAIC,MAAM,GAAGD,KAAK,IAAI,IAAI,GAAG,CAAC,GAAGA,KAAK,CAACC,MAAM;EAC7C,OAAOA,MAAM,GAAGD,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC,GAAGC,SAAS;AAC/C;AAEA,eAAeH,IAAI","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/024a4c6dc6f98caad7821aca4038cc91b0fa29e111279dc84c7e2d939fd1edc0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/024a4c6dc6f98caad7821aca4038cc91b0fa29e111279dc84c7e2d939fd1edc0.json new file mode 100644 index 00000000..c55c6cd2 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/024a4c6dc6f98caad7821aca4038cc91b0fa29e111279dc84c7e2d939fd1edc0.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\nexport default CanceledError;","map":{"version":3,"names":["AxiosError","utils","CanceledError","message","config","request","call","ERR_CANCELED","name","inherits","__CANCEL__"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/cancel/CanceledError.js"],"sourcesContent":["'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n"],"mappings":"AAAA,YAAY;;AAEZ,OAAOA,UAAU,MAAM,uBAAuB;AAC9C,OAAOC,KAAK,MAAM,aAAa;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAACC,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAE;EAC/C;EACAL,UAAU,CAACM,IAAI,CAAC,IAAI,EAAEH,OAAO,IAAI,IAAI,GAAG,UAAU,GAAGA,OAAO,EAAEH,UAAU,CAACO,YAAY,EAAEH,MAAM,EAAEC,OAAO,CAAC;EACvG,IAAI,CAACG,IAAI,GAAG,eAAe;AAC7B;AAEAP,KAAK,CAACQ,QAAQ,CAACP,aAAa,EAAEF,UAAU,EAAE;EACxCU,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,eAAeR,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02686c739b065d2264eb7faa63a1b931355b1bc9358f1bdae7016d3ba89c05fa.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02686c739b065d2264eb7faa63a1b931355b1bc9358f1bdae7016d3ba89c05fa.json new file mode 100644 index 00000000..3a7599b7 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02686c739b065d2264eb7faa63a1b931355b1bc9358f1bdae7016d3ba89c05fa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('暂停失败');\n }\n };\n\n // 新增resumePath方法\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/resume-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('无人机已继续飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('继续失败');\n }\n };\n\n // 获取当前选中无人机对象\n const currentDrone = computed(() => {\n return drones.value.find(d => d.id === selectedDroneId.value) || {};\n });\n // 路径执行控制按钮文本\n const pathControlButtonText = computed(() => {\n if (currentDrone.value.status === 'paused') return '继续';\n if (currentDrone.value.status === 'flying') return '暂停';\n return '暂停';\n });\n // 路径执行控制方法\n const pathControl = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (currentDrone.value.status === 'paused') {\n // 继续\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/resume-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('无人机已继续飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('继续失败');\n }\n } else if (currentDrone.value.status === 'flying') {\n // 暂停\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/pause-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('已暂停无人机飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('暂停失败');\n }\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n resumePath,\n pathControl,\n pathControlButtonText\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","resumePath","currentDrone","d","pathControlButtonText","pathControl","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/027af6d351b49955c2bbe2b57481fdb8e8f78f21ab17ea00a1fb12491743ada0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/027af6d351b49955c2bbe2b57481fdb8e8f78f21ab17ea00a1fb12491743ada0.json new file mode 100644 index 00000000..a7a53e82 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/027af6d351b49955c2bbe2b57481fdb8e8f78f21ab17ea00a1fb12491743ada0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseIsNative from './_baseIsNative.js';\nimport isMaskable from './_isMaskable.js';\n\n/** Error message constants. */\nvar CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.';\n\n/**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n}\nexport default isNative;","map":{"version":3,"names":["baseIsNative","isMaskable","CORE_ERROR_TEXT","isNative","value","Error"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isNative.js"],"sourcesContent":["import baseIsNative from './_baseIsNative.js';\nimport isMaskable from './_isMaskable.js';\n\n/** Error message constants. */\nvar CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.';\n\n/**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n}\n\nexport default isNative;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,UAAU,MAAM,kBAAkB;;AAEzC;AACA,IAAIC,eAAe,GAAG,iEAAiE;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,KAAK,EAAE;EACvB,IAAIH,UAAU,CAACG,KAAK,CAAC,EAAE;IACrB,MAAM,IAAIC,KAAK,CAACH,eAAe,CAAC;EAClC;EACA,OAAOF,YAAY,CAACI,KAAK,CAAC;AAC5B;AAEA,eAAeD,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/029543741e4b5bda158ac8d8a07d3b3594075b77fdc95bb7aadf1136929a972e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/029543741e4b5bda158ac8d8a07d3b3594075b77fdc95bb7aadf1136929a972e.json new file mode 100644 index 00000000..f7b676a1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/029543741e4b5bda158ac8d8a07d3b3594075b77fdc95bb7aadf1136929a972e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\nexport default isMap;","map":{"version":3,"names":["baseIsMap","baseUnary","nodeUtil","nodeIsMap","isMap"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isMap.js"],"sourcesContent":["import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,QAAQ,MAAM,gBAAgB;;AAErC;AACA,IAAIC,SAAS,GAAGD,QAAQ,IAAIA,QAAQ,CAACE,KAAK;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIA,KAAK,GAAGD,SAAS,GAAGF,SAAS,CAACE,SAAS,CAAC,GAAGH,SAAS;AAExD,eAAeI,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02ae9d0ca56b92ff2b8d9668802a777865179db86489e893599d6b7d1dc8679f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02ae9d0ca56b92ff2b8d9668802a777865179db86489e893599d6b7d1dc8679f.json new file mode 100644 index 00000000..472f1326 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02ae9d0ca56b92ff2b8d9668802a777865179db86489e893599d6b7d1dc8679f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\nexport default isTypedArray;","map":{"version":3,"names":["baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isTypedArray.js"],"sourcesContent":["import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,wBAAwB;AACrD,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,QAAQ,MAAM,gBAAgB;;AAErC;AACA,IAAIC,gBAAgB,GAAGD,QAAQ,IAAIA,QAAQ,CAACE,YAAY;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIA,YAAY,GAAGD,gBAAgB,GAAGF,SAAS,CAACE,gBAAgB,CAAC,GAAGH,gBAAgB;AAEpF,eAAeI,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02c532baf042270dd7d99197af4afa054a698f2964fd135218d56643b4cf1909.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02c532baf042270dd7d99197af4afa054a698f2964fd135218d56643b4cf1909.json new file mode 100644 index 00000000..bb2c086f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02c532baf042270dd7d99197af4afa054a698f2964fd135218d56643b4cf1909.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createGrid from '../builders/build-grid.mjs';\nimport { AUTO_ALIGNMENT, CENTERED_ALIGNMENT, END_ALIGNMENT, START_ALIGNMENT, SMART_ALIGNMENT } from '../defaults.mjs';\nimport { isNumber } from '../../../../utils/types.mjs';\nimport { throwError } from '../../../../utils/error.mjs';\nconst SCOPE = \"ElFixedSizeGrid\";\nconst FixedSizeGrid = createGrid({\n name: \"ElFixedSizeGrid\",\n getColumnPosition: ({\n columnWidth\n }, index) => [columnWidth, index * columnWidth],\n getRowPosition: ({\n rowHeight\n }, index) => [rowHeight, index * rowHeight],\n getEstimatedTotalHeight: ({\n totalRow,\n rowHeight\n }) => rowHeight * totalRow,\n getEstimatedTotalWidth: ({\n totalColumn,\n columnWidth\n }) => columnWidth * totalColumn,\n getColumnOffset: ({\n totalColumn,\n columnWidth,\n width\n }, columnIndex, alignment, scrollLeft, _, scrollBarWidth) => {\n width = Number(width);\n const lastColumnOffset = Math.max(0, totalColumn * columnWidth - width);\n const maxOffset = Math.min(lastColumnOffset, columnIndex * columnWidth);\n const minOffset = Math.max(0, columnIndex * columnWidth - width + scrollBarWidth + columnWidth);\n if (alignment === \"smart\") {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n alignment = AUTO_ALIGNMENT;\n } else {\n alignment = CENTERED_ALIGNMENT;\n }\n }\n switch (alignment) {\n case START_ALIGNMENT:\n return maxOffset;\n case END_ALIGNMENT:\n return minOffset;\n case CENTERED_ALIGNMENT:\n {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n if (middleOffset < Math.ceil(width / 2)) {\n return 0;\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset;\n } else {\n return middleOffset;\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft;\n } else if (minOffset > maxOffset) {\n return minOffset;\n } else if (scrollLeft < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n }\n },\n getRowOffset: ({\n rowHeight,\n height,\n totalRow\n }, rowIndex, align, scrollTop, _, scrollBarWidth) => {\n height = Number(height);\n const lastRowOffset = Math.max(0, totalRow * rowHeight - height);\n const maxOffset = Math.min(lastRowOffset, rowIndex * rowHeight);\n const minOffset = Math.max(0, rowIndex * rowHeight - height + scrollBarWidth + rowHeight);\n if (align === SMART_ALIGNMENT) {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = AUTO_ALIGNMENT;\n } else {\n align = CENTERED_ALIGNMENT;\n }\n }\n switch (align) {\n case START_ALIGNMENT:\n return maxOffset;\n case END_ALIGNMENT:\n return minOffset;\n case CENTERED_ALIGNMENT:\n {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n if (middleOffset < Math.ceil(height / 2)) {\n return 0;\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset;\n } else {\n return middleOffset;\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop;\n } else if (minOffset > maxOffset) {\n return minOffset;\n } else if (scrollTop < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n }\n },\n getColumnStartIndexForOffset: ({\n columnWidth,\n totalColumn\n }, scrollLeft) => Math.max(0, Math.min(totalColumn - 1, Math.floor(scrollLeft / columnWidth))),\n getColumnStopIndexForStartIndex: ({\n columnWidth,\n totalColumn,\n width\n }, startIndex, scrollLeft) => {\n const left = startIndex * columnWidth;\n const visibleColumnsCount = Math.ceil((width + scrollLeft - left) / columnWidth);\n return Math.max(0, Math.min(totalColumn - 1, startIndex + visibleColumnsCount - 1));\n },\n getRowStartIndexForOffset: ({\n rowHeight,\n totalRow\n }, scrollTop) => Math.max(0, Math.min(totalRow - 1, Math.floor(scrollTop / rowHeight))),\n getRowStopIndexForStartIndex: ({\n rowHeight,\n totalRow,\n height\n }, startIndex, scrollTop) => {\n const top = startIndex * rowHeight;\n const numVisibleRows = Math.ceil((height + scrollTop - top) / rowHeight);\n return Math.max(0, Math.min(totalRow - 1, startIndex + numVisibleRows - 1));\n },\n initCache: () => void 0,\n clearCache: true,\n validateProps: ({\n columnWidth,\n rowHeight\n }) => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isNumber(columnWidth)) {\n throwError(SCOPE, `\n \"columnWidth\" must be passed as number,\n instead ${typeof columnWidth} was given.\n `);\n }\n if (!isNumber(rowHeight)) {\n throwError(SCOPE, `\n \"columnWidth\" must be passed as number,\n instead ${typeof rowHeight} was given.\n `);\n }\n }\n }\n});\nexport { FixedSizeGrid as default };","map":{"version":3,"names":["SCOPE","FixedSizeGrid","createGrid","name","getColumnPosition","columnWidth","index","getRowPosition","rowHeight","getEstimatedTotalHeight","totalRow","getEstimatedTotalWidth","totalColumn","getColumnOffset","width","columnIndex","alignment","scrollLeft","_","scrollBarWidth","Number","lastColumnOffset","Math","max","maxOffset","min","minOffset","AUTO_ALIGNMENT","CENTERED_ALIGNMENT","START_ALIGNMENT","END_ALIGNMENT","middleOffset","round","ceil","floor","getRowOffset","height","rowIndex","align","scrollTop","lastRowOffset","SMART_ALIGNMENT","getColumnStartIndexForOffset","getColumnStopIndexForStartIndex","startIndex","left","visibleColumnsCount","getRowStartIndexForOffset","getRowStopIndexForStartIndex","top","numVisibleRows","initCache","clearCache","validateProps","process","env","NODE_ENV","isNumber","throwError"],"sources":["../../../../../../../packages/components/virtual-list/src/components/fixed-size-grid.ts"],"sourcesContent":["import { isNumber, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nconst SCOPE = 'ElFixedSizeGrid'\n\nconst FixedSizeGrid = createGrid({\n name: 'ElFixedSizeGrid',\n getColumnPosition: ({ columnWidth }, index) => [\n columnWidth as number,\n index * (columnWidth as number),\n ],\n\n getRowPosition: ({ rowHeight }, index) => [\n rowHeight as number,\n index * (rowHeight as number),\n ],\n\n getEstimatedTotalHeight: ({ totalRow, rowHeight }) =>\n (rowHeight as number) * totalRow,\n\n getEstimatedTotalWidth: ({ totalColumn, columnWidth }) =>\n (columnWidth as number) * totalColumn,\n\n getColumnOffset: (\n { totalColumn, columnWidth, width },\n columnIndex,\n alignment,\n scrollLeft,\n _,\n scrollBarWidth\n ) => {\n width = Number(width)\n const lastColumnOffset = Math.max(\n 0,\n totalColumn * (columnWidth as number) - width\n )\n const maxOffset = Math.min(\n lastColumnOffset,\n columnIndex * (columnWidth as number)\n )\n const minOffset = Math.max(\n 0,\n columnIndex * (columnWidth as number) -\n width +\n scrollBarWidth +\n (columnWidth as number)\n )\n\n if (alignment === 'smart') {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(width / 2)) {\n return 0\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollLeft < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getRowOffset: (\n { rowHeight, height, totalRow },\n rowIndex,\n align,\n scrollTop,\n _,\n scrollBarWidth\n ): number => {\n height = Number(height)\n const lastRowOffset = Math.max(0, totalRow * (rowHeight as number) - height)\n const maxOffset = Math.min(lastRowOffset, rowIndex * (rowHeight as number))\n const minOffset = Math.max(\n 0,\n rowIndex * (rowHeight as number) -\n height +\n scrollBarWidth +\n (rowHeight as number)\n )\n\n if (align === SMART_ALIGNMENT) {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = AUTO_ALIGNMENT\n } else {\n align = CENTERED_ALIGNMENT\n }\n }\n\n switch (align) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(height / 2)) {\n return 0\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollTop < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getColumnStartIndexForOffset: ({ columnWidth, totalColumn }, scrollLeft) =>\n Math.max(\n 0,\n Math.min(\n totalColumn - 1,\n Math.floor(scrollLeft / (columnWidth as number))\n )\n ),\n\n getColumnStopIndexForStartIndex: (\n { columnWidth, totalColumn, width },\n startIndex: number,\n scrollLeft: number\n ): number => {\n const left = startIndex * (columnWidth as number)\n const visibleColumnsCount = Math.ceil(\n ((width as number) + scrollLeft - left) / (columnWidth as number)\n )\n return Math.max(\n 0,\n Math.min(totalColumn - 1, startIndex + visibleColumnsCount - 1)\n )\n },\n\n getRowStartIndexForOffset: (\n { rowHeight, totalRow },\n scrollTop: number\n ): number =>\n Math.max(\n 0,\n Math.min(totalRow - 1, Math.floor(scrollTop / (rowHeight as number)))\n ),\n\n getRowStopIndexForStartIndex: (\n { rowHeight, totalRow, height },\n startIndex: number,\n scrollTop: number\n ): number => {\n const top = startIndex * (rowHeight as number)\n const numVisibleRows = Math.ceil(\n ((height as number) + scrollTop - top) / (rowHeight as number)\n )\n return Math.max(\n 0,\n Math.min(\n totalRow - 1,\n startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive\n )\n )\n },\n /**\n * Fixed size grid does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache: () => undefined as any,\n\n clearCache: true,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isNumber(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isNumber(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default FixedSizeGrid\n"],"mappings":";;;;AASA,MAAMA,KAAK,GAAG,iBAAiB;AAC1B,MAACC,aAAa,GAAGC,UAAU,CAAC;EAC/BC,IAAI,EAAE,iBAAiB;EACvBC,iBAAiB,EAAEA,CAAC;IAAEC;EAAW,CAAE,EAAEC,KAAK,KAAK,CAC7CD,WAAW,EACXC,KAAK,GAAGD,WAAW,CACpB;EACDE,cAAc,EAAEA,CAAC;IAAEC;EAAS,CAAE,EAAEF,KAAK,KAAK,CACxCE,SAAS,EACTF,KAAK,GAAGE,SAAS,CAClB;EACDC,uBAAuB,EAAEA,CAAC;IAAEC,QAAQ;IAAEF;EAAS,CAAE,KAAKA,SAAS,GAAGE,QAAQ;EAC1EC,sBAAsB,EAAEA,CAAC;IAAEC,WAAW;IAAEP;EAAW,CAAE,KAAKA,WAAW,GAAGO,WAAW;EACnFC,eAAe,EAAEA,CAAC;IAAED,WAAW;IAAEP,WAAW;IAAES;EAAK,CAAE,EAAEC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,CAAC,EAAEC,cAAc,KAAK;IAC/GL,KAAK,GAAGM,MAAM,CAACN,KAAK,CAAC;IACrB,MAAMO,gBAAgB,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEX,WAAW,GAAGP,WAAW,GAAGS,KAAK,CAAC;IACvE,MAAMU,SAAS,GAAGF,IAAI,CAACG,GAAG,CAACJ,gBAAgB,EAAEN,WAAW,GAAGV,WAAW,CAAC;IACvE,MAAMqB,SAAS,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAER,WAAW,GAAGV,WAAW,GAAGS,KAAK,GAAGK,cAAc,GAAGd,WAAW,CAAC;IAC/F,IAAIW,SAAS,KAAK,OAAO,EAAE;MACzB,IAAIC,UAAU,IAAIS,SAAS,GAAGZ,KAAK,IAAIG,UAAU,IAAIO,SAAS,GAAGV,KAAK,EAAE;QACtEE,SAAS,GAAGW,cAAc;MAClC,CAAO,MAAM;QACLX,SAAS,GAAGY,kBAAkB;MACtC;IACA;IACI,QAAQZ,SAAS;MACf,KAAKa,eAAe;QAClB,OAAOL,SAAS;MAClB,KAAKM,aAAa;QAChB,OAAOJ,SAAS;MAClB,KAAKE,kBAAkB;QAAE;UACvB,MAAMG,YAAY,GAAGT,IAAI,CAACU,KAAK,CAACN,SAAS,GAAG,CAACF,SAAS,GAAGE,SAAS,IAAI,CAAC,CAAC;UACxE,IAAIK,YAAY,GAAGT,IAAI,CAACW,IAAI,CAACnB,KAAK,GAAG,CAAC,CAAC,EAAE;YACvC,OAAO,CAAC;UAClB,CAAS,MAAM,IAAIiB,YAAY,GAAGV,gBAAgB,GAAGC,IAAI,CAACY,KAAK,CAACpB,KAAK,GAAG,CAAC,CAAC,EAAE;YAClE,OAAOO,gBAAgB;UACjC,CAAS,MAAM;YACL,OAAOU,YAAY;UAC7B;QACA;MACM,KAAKJ,cAAc;MACnB;QACE,IAAIV,UAAU,IAAIS,SAAS,IAAIT,UAAU,IAAIO,SAAS,EAAE;UACtD,OAAOP,UAAU;QAC3B,CAAS,MAAM,IAAIS,SAAS,GAAGF,SAAS,EAAE;UAChC,OAAOE,SAAS;QAC1B,CAAS,MAAM,IAAIT,UAAU,GAAGS,SAAS,EAAE;UACjC,OAAOA,SAAS;QAC1B,CAAS,MAAM;UACL,OAAOF,SAAS;QAC1B;IACA;EACA,CAAG;EACDW,YAAY,EAAEA,CAAC;IAAE3B,SAAS;IAAE4B,MAAM;IAAE1B;EAAQ,CAAE,EAAE2B,QAAQ,EAAEC,KAAK,EAAEC,SAAS,EAAErB,CAAC,EAAEC,cAAc,KAAK;IAChGiB,MAAM,GAAGhB,MAAM,CAACgB,MAAM,CAAC;IACvB,MAAMI,aAAa,GAAGlB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,QAAQ,GAAGF,SAAS,GAAG4B,MAAM,CAAC;IAChE,MAAMZ,SAAS,GAAGF,IAAI,CAACG,GAAG,CAACe,aAAa,EAAEH,QAAQ,GAAG7B,SAAS,CAAC;IAC/D,MAAMkB,SAAS,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEc,QAAQ,GAAG7B,SAAS,GAAG4B,MAAM,GAAGjB,cAAc,GAAGX,SAAS,CAAC;IACzF,IAAI8B,KAAK,KAAKG,eAAe,EAAE;MAC7B,IAAIF,SAAS,IAAIb,SAAS,GAAGU,MAAM,IAAIG,SAAS,IAAIf,SAAS,GAAGY,MAAM,EAAE;QACtEE,KAAK,GAAGX,cAAc;MAC9B,CAAO,MAAM;QACLW,KAAK,GAAGV,kBAAkB;MAClC;IACA;IACI,QAAQU,KAAK;MACX,KAAKT,eAAe;QAClB,OAAOL,SAAS;MAClB,KAAKM,aAAa;QAChB,OAAOJ,SAAS;MAClB,KAAKE,kBAAkB;QAAE;UACvB,MAAMG,YAAY,GAAGT,IAAI,CAACU,KAAK,CAACN,SAAS,GAAG,CAACF,SAAS,GAAGE,SAAS,IAAI,CAAC,CAAC;UACxE,IAAIK,YAAY,GAAGT,IAAI,CAACW,IAAI,CAACG,MAAM,GAAG,CAAC,CAAC,EAAE;YACxC,OAAO,CAAC;UAClB,CAAS,MAAM,IAAIL,YAAY,GAAGS,aAAa,GAAGlB,IAAI,CAACY,KAAK,CAACE,MAAM,GAAG,CAAC,CAAC,EAAE;YAChE,OAAOI,aAAa;UAC9B,CAAS,MAAM;YACL,OAAOT,YAAY;UAC7B;QACA;MACM,KAAKJ,cAAc;MACnB;QACE,IAAIY,SAAS,IAAIb,SAAS,IAAIa,SAAS,IAAIf,SAAS,EAAE;UACpD,OAAOe,SAAS;QAC1B,CAAS,MAAM,IAAIb,SAAS,GAAGF,SAAS,EAAE;UAChC,OAAOE,SAAS;QAC1B,CAAS,MAAM,IAAIa,SAAS,GAAGb,SAAS,EAAE;UAChC,OAAOA,SAAS;QAC1B,CAAS,MAAM;UACL,OAAOF,SAAS;QAC1B;IACA;EACA,CAAG;EACDkB,4BAA4B,EAAEA,CAAC;IAAErC,WAAW;IAAEO;EAAW,CAAE,EAAEK,UAAU,KAAKK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACG,GAAG,CAACb,WAAW,GAAG,CAAC,EAAEU,IAAI,CAACY,KAAK,CAACjB,UAAU,GAAGZ,WAAW,CAAC,CAAC,CAAC;EACxJsC,+BAA+B,EAAEA,CAAC;IAAEtC,WAAW;IAAEO,WAAW;IAAEE;EAAK,CAAE,EAAE8B,UAAU,EAAE3B,UAAU,KAAK;IAChG,MAAM4B,IAAI,GAAGD,UAAU,GAAGvC,WAAW;IACrC,MAAMyC,mBAAmB,GAAGxB,IAAI,CAACW,IAAI,CAAC,CAACnB,KAAK,GAAGG,UAAU,GAAG4B,IAAI,IAAIxC,WAAW,CAAC;IAChF,OAAOiB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACG,GAAG,CAACb,WAAW,GAAG,CAAC,EAAEgC,UAAU,GAAGE,mBAAmB,GAAG,CAAC,CAAC,CAAC;EACvF,CAAG;EACDC,yBAAyB,EAAEA,CAAC;IAAEvC,SAAS;IAAEE;EAAQ,CAAE,EAAE6B,SAAS,KAAKjB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACG,GAAG,CAACf,QAAQ,GAAG,CAAC,EAAEY,IAAI,CAACY,KAAK,CAACK,SAAS,GAAG/B,SAAS,CAAC,CAAC,CAAC;EACzIwC,4BAA4B,EAAEA,CAAC;IAAExC,SAAS;IAAEE,QAAQ;IAAE0B;EAAM,CAAE,EAAEQ,UAAU,EAAEL,SAAS,KAAK;IACxF,MAAMU,GAAG,GAAGL,UAAU,GAAGpC,SAAS;IAClC,MAAM0C,cAAc,GAAG5B,IAAI,CAACW,IAAI,CAAC,CAACG,MAAM,GAAGG,SAAS,GAAGU,GAAG,IAAIzC,SAAS,CAAC;IACxE,OAAOc,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACG,GAAG,CAACf,QAAQ,GAAG,CAAC,EAAEkC,UAAU,GAAGM,cAAc,GAAG,CAAC,CAAC,CAAC;EAC/E,CAAG;EACDC,SAAS,EAAEA,CAAA,KAAM,KAAK,CAAC;EACvBC,UAAU,EAAE,IAAI;EAChBC,aAAa,EAAEA,CAAC;IAAEhD,WAAW;IAAEG;EAAS,CAAE,KAAK;IAC7C,IAAI8C,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,IAAI,CAACC,QAAQ,CAACpD,WAAW,CAAC,EAAE;QAC1BqD,UAAU,CAAC1D,KAAK,EAAE;AAC1B;AACA,sBAAsB,OAAOK,WAAW;AACxC,SAAS,CAAC;MACV;MACM,IAAI,CAACoD,QAAQ,CAACjD,SAAS,CAAC,EAAE;QACxBkD,UAAU,CAAC1D,KAAK,EAAE;AAC1B;AACA,sBAAsB,OAAOQ,SAAS;AACtC,SAAS,CAAC;MACV;IACA;EACA;AACA,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02cbd56e2cbdef02b58302dfea1e1a7961d4cc4117cb59cb8769980fc811200b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02cbd56e2cbdef02b58302dfea1e1a7961d4cc4117cb59cb8769980fc811200b.json new file mode 100644 index 00000000..94a5d42b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/02cbd56e2cbdef02b58302dfea1e1a7961d4cc4117cb59cb8769980fc811200b.json @@ -0,0 +1 @@ +{"ast":null,"code":"const POPPER_INJECTION_KEY = Symbol(\"popper\");\nconst POPPER_CONTENT_INJECTION_KEY = Symbol(\"popperContent\");\nexport { POPPER_CONTENT_INJECTION_KEY, POPPER_INJECTION_KEY };","map":{"version":3,"names":["POPPER_INJECTION_KEY","Symbol","POPPER_CONTENT_INJECTION_KEY"],"sources":["../../../../../../packages/components/popper/src/constants.ts"],"sourcesContent":["import type { CSSProperties, ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { Instance } from '@popperjs/core'\n\nexport type Measurable = {\n getBoundingClientRect: () => DOMRect\n}\n\n/**\n * triggerRef indicates the element that triggers popper\n * contentRef indicates the element of popper content\n * referenceRef indicates the element that popper content relative with\n */\nexport type ElPopperInjectionContext = {\n triggerRef: Ref\n contentRef: Ref\n popperInstanceRef: Ref\n referenceRef: Ref\n role: ComputedRef\n}\n\nexport type ElPopperContentInjectionContext = {\n arrowRef: Ref\n arrowStyle: ComputedRef\n}\n\nexport const POPPER_INJECTION_KEY: InjectionKey =\n Symbol('popper')\n\nexport const POPPER_CONTENT_INJECTION_KEY: InjectionKey =\n Symbol('popperContent')\n"],"mappings":"AAAY,MAACA,oBAAoB,GAAGC,MAAM,CAAC,QAAQ;AACvC,MAACC,4BAA4B,GAAGD,MAAM,CAAC,eAAe","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03075b51937b78d6df2ba0b169ac0e927c90ffc3dcf98f476b73e80ade795646.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03075b51937b78d6df2ba0b169ac0e927c90ffc3dcf98f476b73e80ade795646.json new file mode 100644 index 00000000..6bac383e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03075b51937b78d6df2ba0b169ac0e927c90ffc3dcf98f476b73e80ade795646.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createWrap from './_createWrap.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_RIGHT_FLAG = 16;\n\n/**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\nfunction curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurryRight.placeholder = {};\nexport default curryRight;","map":{"version":3,"names":["createWrap","WRAP_CURRY_RIGHT_FLAG","curryRight","func","arity","guard","undefined","result","placeholder"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/curryRight.js"],"sourcesContent":["import createWrap from './_createWrap.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_RIGHT_FLAG = 16;\n\n/**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\nfunction curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurryRight.placeholder = {};\n\nexport default curryRight;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;;AAEzC;AACA,IAAIC,qBAAqB,GAAG,EAAE;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAE;EACtCD,KAAK,GAAGC,KAAK,GAAGC,SAAS,GAAGF,KAAK;EACjC,IAAIG,MAAM,GAAGP,UAAU,CAACG,IAAI,EAAEF,qBAAqB,EAAEK,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEF,KAAK,CAAC;EAClHG,MAAM,CAACC,WAAW,GAAGN,UAAU,CAACM,WAAW;EAC3C,OAAOD,MAAM;AACf;;AAEA;AACAL,UAAU,CAACM,WAAW,GAAG,CAAC,CAAC;AAE3B,eAAeN,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03152538e6a15b87bb3f0f5d019293984057a22dcbc3c19aeaa3b00ee7e93de0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03152538e6a15b87bb3f0f5d019293984057a22dcbc3c19aeaa3b00ee7e93de0.json new file mode 100644 index 00000000..3f2f8430 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03152538e6a15b87bb3f0f5d019293984057a22dcbc3c19aeaa3b00ee7e93de0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n await fetchDrones(); // 路径规划前强制刷新无人机数据\n console.log('[调试] 当前所有无人机:', JSON.parse(JSON.stringify(drones.value)));\n console.log('[调试] 当前选中无人机ID:', selectedDroneId.value);\n const drone = drones.value.find(d => d.id === selectedDroneId.value);\n console.log('[调试] 选中无人机详细信息:', drone);\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n let planningData = {};\n if (drone && drone.latitude != null && drone.longitude != null) {\n // 以无人机当前位置为起点,所有点为目标点\n planningData = {\n droneId: drone.id,\n startPoint: null,\n targetPoints: pathPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n } else {\n // 以第一个点为起点,其余为目标点\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1);\n planningData = {\n droneId: drone ? drone.id : null,\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n }\n try {\n console.log('发送多目标路径规划请求:', planningData);\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 用后端返回的最优顺序覆盖pathPoints.value\n if (data.path_points && Array.isArray(data.path_points) && data.path_points.length > 0) {\n pathPoints.value = data.path_points;\n }\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n\n // 只渲染路径曲线,不为每个平滑点加Marker\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n\n // 只为起点和目标点/终点加Marker\n const markers = [];\n // 起点\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n // 终点\n const endIdx = plannedPath.length - 1;\n const endMarker = new AMap.Marker({\n position: [plannedPath[endIdx].lng, plannedPath[endIdx].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: '终点',\n zIndex: 150\n });\n mapInstance.value.add(endMarker);\n markers.push(endMarker);\n pathMarkers.value = markers;\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]);\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n\n // 暂停模拟飞行\n const pausePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/pause`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已暂停');\n } else {\n ElMessage.info(res.data.message || '无人机未在飞行,无需暂停');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('暂停失败: ' + (error.response?.data?.message || error.message));\n }\n };\n\n // 继续模拟飞行\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/resume`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已继续飞行');\n } else {\n ElMessage.info(res.data.message || '无人机未暂停或无法继续');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('继续飞行失败: ' + (error.response?.data?.message || error.message));\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n pausePath,\n resumePath\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","parse","drone","d","warning","planningData","latitude","longitude","droneId","startPoint","algorithm","geometry_type","geometry_data","slice","details","path_points","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathCoords","markers","startMarker","endIdx","endMarker","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","pausePath","resumePath","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/031eef178d71f1e21e0bb6db4d9da778e5bebc0465ac81ad21ad08139018e6f7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/031eef178d71f1e21e0bb6db4d9da778e5bebc0465ac81ad21ad08139018e6f7.json new file mode 100644 index 00000000..88090aef --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/031eef178d71f1e21e0bb6db4d9da778e5bebc0465ac81ad21ad08139018e6f7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { onMounted, onBeforeUnmount } from 'vue';\nimport { isClient } from '@vueuse/core';\nimport { EVENT_CODE } from '../../constants/aria.mjs';\nlet registeredEscapeHandlers = [];\nconst cachedHandler = event => {\n if (event.code === EVENT_CODE.esc) {\n registeredEscapeHandlers.forEach(registeredHandler => registeredHandler(event));\n }\n};\nconst useEscapeKeydown = handler => {\n onMounted(() => {\n if (registeredEscapeHandlers.length === 0) {\n document.addEventListener(\"keydown\", cachedHandler);\n }\n if (isClient) registeredEscapeHandlers.push(handler);\n });\n onBeforeUnmount(() => {\n registeredEscapeHandlers = registeredEscapeHandlers.filter(registeredHandler => registeredHandler !== handler);\n if (registeredEscapeHandlers.length === 0) {\n if (isClient) document.removeEventListener(\"keydown\", cachedHandler);\n }\n });\n};\nexport { useEscapeKeydown };","map":{"version":3,"names":["registeredEscapeHandlers","cachedHandler","event","code","EVENT_CODE","esc","forEach","registeredHandler","useEscapeKeydown","handler","onMounted","length","document","addEventListener","isClient","push","onBeforeUnmount","filter","removeEventListener"],"sources":["../../../../../packages/hooks/use-escape-keydown/index.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted } from 'vue'\nimport { isClient } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\n\nlet registeredEscapeHandlers: ((e: KeyboardEvent) => void)[] = []\n\nconst cachedHandler = (event: KeyboardEvent) => {\n if (event.code === EVENT_CODE.esc) {\n registeredEscapeHandlers.forEach((registeredHandler) =>\n registeredHandler(event)\n )\n }\n}\n\nexport const useEscapeKeydown = (handler: (e: KeyboardEvent) => void) => {\n onMounted(() => {\n if (registeredEscapeHandlers.length === 0) {\n document.addEventListener('keydown', cachedHandler)\n }\n if (isClient) registeredEscapeHandlers.push(handler)\n })\n\n onBeforeUnmount(() => {\n registeredEscapeHandlers = registeredEscapeHandlers.filter(\n (registeredHandler) => registeredHandler !== handler\n )\n if (registeredEscapeHandlers.length === 0) {\n if (isClient) document.removeEventListener('keydown', cachedHandler)\n }\n })\n}\n"],"mappings":";;;AAGA,IAAIA,wBAAwB,GAAG,EAAE;AACjC,MAAMC,aAAa,GAAIC,KAAK,IAAK;EAC/B,IAAIA,KAAK,CAACC,IAAI,KAAKC,UAAU,CAACC,GAAG,EAAE;IACjCL,wBAAwB,CAACM,OAAO,CAAEC,iBAAiB,IAAKA,iBAAiB,CAACL,KAAK,CAAC,CAAC;EACrF;AACA,CAAC;AACW,MAACM,gBAAgB,GAAIC,OAAO,IAAK;EAC3CC,SAAS,CAAC,MAAM;IACd,IAAIV,wBAAwB,CAACW,MAAM,KAAK,CAAC,EAAE;MACzCC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEZ,aAAa,CAAC;IACzD;IACI,IAAIa,QAAQ,EACVd,wBAAwB,CAACe,IAAI,CAACN,OAAO,CAAC;EAC5C,CAAG,CAAC;EACFO,eAAe,CAAC,MAAM;IACpBhB,wBAAwB,GAAGA,wBAAwB,CAACiB,MAAM,CAAEV,iBAAiB,IAAKA,iBAAiB,KAAKE,OAAO,CAAC;IAChH,IAAIT,wBAAwB,CAACW,MAAM,KAAK,CAAC,EAAE;MACzC,IAAIG,QAAQ,EACVF,QAAQ,CAACM,mBAAmB,CAAC,SAAS,EAAEjB,aAAa,CAAC;IAC9D;EACA,CAAG,CAAC;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/032671ebbd04df4315f8d919bce30ceccc528ba49cf2f9ab6fe1ebba5d9ad308.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/032671ebbd04df4315f8d919bce30ceccc528ba49cf2f9ab6fe1ebba5d9ad308.json new file mode 100644 index 00000000..28618ba6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/032671ebbd04df4315f8d919bce30ceccc528ba49cf2f9ab6fe1ebba5d9ad308.json @@ -0,0 +1 @@ +{"ast":null,"code":"import toNumber from './toNumber.js';\n\n/**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\nfunction createRelationalOperation(operator) {\n return function (value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n}\nexport default createRelationalOperation;","map":{"version":3,"names":["toNumber","createRelationalOperation","operator","value","other"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_createRelationalOperation.js"],"sourcesContent":["import toNumber from './toNumber.js';\n\n/**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\nfunction createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n}\n\nexport default createRelationalOperation;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,eAAe;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,yBAAyBA,CAACC,QAAQ,EAAE;EAC3C,OAAO,UAASC,KAAK,EAAEC,KAAK,EAAE;IAC5B,IAAI,EAAE,OAAOD,KAAK,IAAI,QAAQ,IAAI,OAAOC,KAAK,IAAI,QAAQ,CAAC,EAAE;MAC3DD,KAAK,GAAGH,QAAQ,CAACG,KAAK,CAAC;MACvBC,KAAK,GAAGJ,QAAQ,CAACI,KAAK,CAAC;IACzB;IACA,OAAOF,QAAQ,CAACC,KAAK,EAAEC,KAAK,CAAC;EAC/B,CAAC;AACH;AAEA,eAAeH,yBAAyB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/034afb8dccde9c53ec415fa86de162f4d2b864a67f4f52b2a044176c1df6524c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/034afb8dccde9c53ec415fa86de162f4d2b864a67f4f52b2a044176c1df6524c.json new file mode 100644 index 00000000..a6fb53c1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/034afb8dccde9c53ec415fa86de162f4d2b864a67f4f52b2a044176c1df6524c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function (object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\nexport default mergeWith;","map":{"version":3,"names":["baseMerge","createAssigner","mergeWith","object","source","srcIndex","customizer"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/mergeWith.js"],"sourcesContent":["import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,cAAc,MAAM,sBAAsB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,SAAS,GAAGD,cAAc,CAAC,UAASE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAE;EAC5EN,SAAS,CAACG,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,CAAC;AACjD,CAAC,CAAC;AAEF,eAAeJ,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03c3a7641864971b136296cd9e2035245488983e1aa416e2fb3d1ebdb545ebcd.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03c3a7641864971b136296cd9e2035245488983e1aa416e2fb3d1ebdb545ebcd.json new file mode 100644 index 00000000..763c16f4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03c3a7641864971b136296cd9e2035245488983e1aa416e2fb3d1ebdb545ebcd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function (object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n customizer = assigner.length > 3 && typeof customizer == 'function' ? (length--, customizer) : undefined;\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\nexport default createAssigner;","map":{"version":3,"names":["baseRest","isIterateeCall","createAssigner","assigner","object","sources","index","length","customizer","undefined","guard","Object","source"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_createAssigner.js"],"sourcesContent":["import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,cAAc,MAAM,sBAAsB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACC,QAAQ,EAAE;EAChC,OAAOH,QAAQ,CAAC,UAASI,MAAM,EAAEC,OAAO,EAAE;IACxC,IAAIC,KAAK,GAAG,CAAC,CAAC;MACVC,MAAM,GAAGF,OAAO,CAACE,MAAM;MACvBC,UAAU,GAAGD,MAAM,GAAG,CAAC,GAAGF,OAAO,CAACE,MAAM,GAAG,CAAC,CAAC,GAAGE,SAAS;MACzDC,KAAK,GAAGH,MAAM,GAAG,CAAC,GAAGF,OAAO,CAAC,CAAC,CAAC,GAAGI,SAAS;IAE/CD,UAAU,GAAIL,QAAQ,CAACI,MAAM,GAAG,CAAC,IAAI,OAAOC,UAAU,IAAI,UAAU,IAC/DD,MAAM,EAAE,EAAEC,UAAU,IACrBC,SAAS;IAEb,IAAIC,KAAK,IAAIT,cAAc,CAACI,OAAO,CAAC,CAAC,CAAC,EAAEA,OAAO,CAAC,CAAC,CAAC,EAAEK,KAAK,CAAC,EAAE;MAC1DF,UAAU,GAAGD,MAAM,GAAG,CAAC,GAAGE,SAAS,GAAGD,UAAU;MAChDD,MAAM,GAAG,CAAC;IACZ;IACAH,MAAM,GAAGO,MAAM,CAACP,MAAM,CAAC;IACvB,OAAO,EAAEE,KAAK,GAAGC,MAAM,EAAE;MACvB,IAAIK,MAAM,GAAGP,OAAO,CAACC,KAAK,CAAC;MAC3B,IAAIM,MAAM,EAAE;QACVT,QAAQ,CAACC,MAAM,EAAEQ,MAAM,EAAEN,KAAK,EAAEE,UAAU,CAAC;MAC7C;IACF;IACA,OAAOJ,MAAM;EACf,CAAC,CAAC;AACJ;AAEA,eAAeF,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03d51e9acf8392881ff48948bb21e9f37444a5ed4d22c42d6c94c2f9a27d99aa.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03d51e9acf8392881ff48948bb21e9f37444a5ed4d22c42d6c94c2f9a27d99aa.json new file mode 100644 index 00000000..cd95cc0c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03d51e9acf8392881ff48948bb21e9f37444a5ed4d22c42d6c94c2f9a27d99aa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { watch, nextTick, toRefs, computed } from 'vue';\nimport { pick } from 'lodash-unified';\nimport { ElSelect } from '../../select/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nconst useSelect = (props, {\n attrs,\n emit\n}, {\n select,\n tree,\n key\n}) => {\n const ns = useNamespace(\"tree-select\");\n watch(() => props.data, () => {\n if (props.filterable) {\n nextTick(() => {\n var _a, _b;\n (_b = tree.value) == null ? void 0 : _b.filter((_a = select.value) == null ? void 0 : _a.states.inputValue);\n });\n }\n }, {\n flush: \"post\"\n });\n const result = {\n ...pick(toRefs(props), Object.keys(ElSelect.props)),\n ...attrs,\n class: computed(() => attrs.class),\n style: computed(() => attrs.style),\n \"onUpdate:modelValue\": value => emit(UPDATE_MODEL_EVENT, value),\n valueKey: key,\n popperClass: computed(() => {\n const classes = [ns.e(\"popper\")];\n if (props.popperClass) classes.push(props.popperClass);\n return classes.join(\" \");\n }),\n filterMethod: (keyword = \"\") => {\n var _a;\n if (props.filterMethod) {\n props.filterMethod(keyword);\n } else if (props.remoteMethod) {\n props.remoteMethod(keyword);\n } else {\n (_a = tree.value) == null ? void 0 : _a.filter(keyword);\n }\n }\n };\n return result;\n};\nexport { useSelect };","map":{"version":3,"names":["useSelect","props","attrs","emit","select","tree","key","ns","useNamespace","watch","data","filterable","nextTick","_a","_b","value","filter","states","inputValue","flush","result","pick","toRefs","Object","keys","ElSelect","class","computed","style","UPDATE_MODEL_EVENT","valueKey","popperClass","classes","e","push","join","filterMethod","keyword","remoteMethod"],"sources":["../../../../../../packages/components/tree-select/src/select.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { pick } from 'lodash-unified'\nimport ElSelect from '@element-plus/components/select'\nimport { useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { Ref } from 'vue'\nimport type ElTree from '@element-plus/components/tree'\n\nexport const useSelect = (\n props,\n { attrs, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref | undefined>\n tree: Ref | undefined>\n key: Ref\n }\n) => {\n const ns = useNamespace('tree-select')\n\n // update tree data when use filterMethod/remoteMethod\n watch(\n () => props.data,\n () => {\n if (props.filterable) {\n nextTick(() => {\n // let tree node expand only, same with tree filter\n tree.value?.filter(select.value?.states.inputValue)\n })\n }\n },\n { flush: 'post' }\n )\n\n const result = {\n ...pick(toRefs(props), Object.keys(ElSelect.props)),\n ...attrs,\n class: computed(() => attrs.class),\n style: computed(() => attrs.style),\n // attrs is not reactive, when v-model binding source changes,\n // this listener is still old, see the bug(or test 'v-model source change'):\n // https://github.com/element-plus/element-plus/issues/14204\n 'onUpdate:modelValue': (value) => emit(UPDATE_MODEL_EVENT, value),\n valueKey: key,\n popperClass: computed(() => {\n const classes = [ns.e('popper')]\n if (props.popperClass) classes.push(props.popperClass)\n return classes.join(' ')\n }),\n filterMethod: (keyword = '') => {\n if (props.filterMethod) {\n props.filterMethod(keyword)\n } else if (props.remoteMethod) {\n props.remoteMethod(keyword)\n } else {\n // let tree node expand only, same with tree filter\n tree.value?.filter(keyword)\n }\n },\n }\n\n return result\n}\n"],"mappings":";;;;;AAKY,MAACA,SAAS,GAAGA,CAACC,KAAK,EAAE;EAAEC,KAAK;EAAEC;AAAI,CAAE,EAAE;EAChDC,MAAM;EACNC,IAAI;EACJC;AACF,CAAC,KAAK;EACJ,MAAMC,EAAE,GAAGC,YAAY,CAAC,aAAa,CAAC;EACtCC,KAAK,CAAC,MAAMR,KAAK,CAACS,IAAI,EAAE,MAAM;IAC5B,IAAIT,KAAK,CAACU,UAAU,EAAE;MACpBC,QAAQ,CAAC,MAAM;QACb,IAAIC,EAAE,EAAEC,EAAE;QACV,CAACA,EAAE,GAAGT,IAAI,CAACU,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGD,EAAE,CAACE,MAAM,CAAC,CAACH,EAAE,GAAGT,MAAM,CAACW,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGF,EAAE,CAACI,MAAM,CAACC,UAAU,CAAC;MACnH,CAAO,CAAC;IACR;EACA,CAAG,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAE,CAAC;EACrB,MAAMC,MAAM,GAAG;IACb,GAAGC,IAAI,CAACC,MAAM,CAACrB,KAAK,CAAC,EAAEsB,MAAM,CAACC,IAAI,CAACC,QAAQ,CAACxB,KAAK,CAAC,CAAC;IACnD,GAAGC,KAAK;IACRwB,KAAK,EAAEC,QAAQ,CAAC,MAAMzB,KAAK,CAACwB,KAAK,CAAC;IAClCE,KAAK,EAAED,QAAQ,CAAC,MAAMzB,KAAK,CAAC0B,KAAK,CAAC;IAClC,qBAAqB,EAAGb,KAAK,IAAKZ,IAAI,CAAC0B,kBAAkB,EAAEd,KAAK,CAAC;IACjEe,QAAQ,EAAExB,GAAG;IACbyB,WAAW,EAAEJ,QAAQ,CAAC,MAAM;MAC1B,MAAMK,OAAO,GAAG,CAACzB,EAAE,CAAC0B,CAAC,CAAC,QAAQ,CAAC,CAAC;MAChC,IAAIhC,KAAK,CAAC8B,WAAW,EACnBC,OAAO,CAACE,IAAI,CAACjC,KAAK,CAAC8B,WAAW,CAAC;MACjC,OAAOC,OAAO,CAACG,IAAI,CAAC,GAAG,CAAC;IAC9B,CAAK,CAAC;IACFC,YAAY,EAAEA,CAACC,OAAO,GAAG,EAAE,KAAK;MAC9B,IAAIxB,EAAE;MACN,IAAIZ,KAAK,CAACmC,YAAY,EAAE;QACtBnC,KAAK,CAACmC,YAAY,CAACC,OAAO,CAAC;MACnC,CAAO,MAAM,IAAIpC,KAAK,CAACqC,YAAY,EAAE;QAC7BrC,KAAK,CAACqC,YAAY,CAACD,OAAO,CAAC;MACnC,CAAO,MAAM;QACL,CAACxB,EAAE,GAAGR,IAAI,CAACU,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGF,EAAE,CAACG,MAAM,CAACqB,OAAO,CAAC;MAC/D;IACA;EACA,CAAG;EACD,OAAOjB,MAAM;AACf","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03dcd9e0e3d5900701d268c214cd8f425ab9bd9488c783991f9c8ddb6aebcfa1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03dcd9e0e3d5900701d268c214cd8f425ab9bd9488c783991f9c8ddb6aebcfa1.json new file mode 100644 index 00000000..86af03eb --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03dcd9e0e3d5900701d268c214cd8f425ab9bd9488c783991f9c8ddb6aebcfa1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseIsRegExp from './_baseIsRegExp.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\nexport default isRegExp;","map":{"version":3,"names":["baseIsRegExp","baseUnary","nodeUtil","nodeIsRegExp","isRegExp"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isRegExp.js"],"sourcesContent":["import baseIsRegExp from './_baseIsRegExp.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nexport default isRegExp;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,QAAQ,MAAM,gBAAgB;;AAErC;AACA,IAAIC,YAAY,GAAGD,QAAQ,IAAIA,QAAQ,CAACE,QAAQ;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIA,QAAQ,GAAGD,YAAY,GAAGF,SAAS,CAACE,YAAY,CAAC,GAAGH,YAAY;AAEpE,eAAeI,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03f1adda1e44485fa5caad7c6b64b485748a780445f99f5964a406e7646f8d7d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03f1adda1e44485fa5caad7c6b64b485748a780445f99f5964a406e7646f8d7d.json new file mode 100644 index 00000000..dac38f8c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/03f1adda1e44485fa5caad7c6b64b485748a780445f99f5964a406e7646f8d7d.json @@ -0,0 +1 @@ +{"ast":null,"code":"/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\nexport default composeArgsRight;","map":{"version":3,"names":["nativeMax","Math","max","composeArgsRight","args","partials","holders","isCurried","argsIndex","argsLength","length","holdersIndex","holdersLength","rightIndex","rightLength","rangeLength","result","Array","isUncurried","offset"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_composeArgsRight.js"],"sourcesContent":["/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nexport default composeArgsRight;\n"],"mappings":"AAAA;AACA,IAAIA,SAAS,GAAGC,IAAI,CAACC,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAACC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,SAAS,EAAE;EAC5D,IAAIC,SAAS,GAAG,CAAC,CAAC;IACdC,UAAU,GAAGL,IAAI,CAACM,MAAM;IACxBC,YAAY,GAAG,CAAC,CAAC;IACjBC,aAAa,GAAGN,OAAO,CAACI,MAAM;IAC9BG,UAAU,GAAG,CAAC,CAAC;IACfC,WAAW,GAAGT,QAAQ,CAACK,MAAM;IAC7BK,WAAW,GAAGf,SAAS,CAACS,UAAU,GAAGG,aAAa,EAAE,CAAC,CAAC;IACtDI,MAAM,GAAGC,KAAK,CAACF,WAAW,GAAGD,WAAW,CAAC;IACzCI,WAAW,GAAG,CAACX,SAAS;EAE5B,OAAO,EAAEC,SAAS,GAAGO,WAAW,EAAE;IAChCC,MAAM,CAACR,SAAS,CAAC,GAAGJ,IAAI,CAACI,SAAS,CAAC;EACrC;EACA,IAAIW,MAAM,GAAGX,SAAS;EACtB,OAAO,EAAEK,UAAU,GAAGC,WAAW,EAAE;IACjCE,MAAM,CAACG,MAAM,GAAGN,UAAU,CAAC,GAAGR,QAAQ,CAACQ,UAAU,CAAC;EACpD;EACA,OAAO,EAAEF,YAAY,GAAGC,aAAa,EAAE;IACrC,IAAIM,WAAW,IAAIV,SAAS,GAAGC,UAAU,EAAE;MACzCO,MAAM,CAACG,MAAM,GAAGb,OAAO,CAACK,YAAY,CAAC,CAAC,GAAGP,IAAI,CAACI,SAAS,EAAE,CAAC;IAC5D;EACF;EACA,OAAOQ,MAAM;AACf;AAEA,eAAeb,gBAAgB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0404fbb9452fab2aac199b535f47d630099a2a5244822d79be1fcf3aacd80f29.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0404fbb9452fab2aac199b535f47d630099a2a5244822d79be1fcf3aacd80f29.json new file mode 100644 index 00000000..94b1e1d9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0404fbb9452fab2aac199b535f47d630099a2a5244822d79be1fcf3aacd80f29.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */function () {\n function TinyColor(color, opts) {\n if (color === void 0) {\n color = '';\n }\n if (opts === void 0) {\n opts = {};\n }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n } else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n } else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n } else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this.a\n };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this.a\n };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) {\n allow3Char = false;\n }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) {\n allow3Char = false;\n }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) {\n allow4Char = false;\n }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) {\n allow4Char = false;\n }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) {\n allowShortChar = false;\n }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) {\n return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\");\n };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) {\n return Math.round(bound01(x, 255) * 100);\n };\n return this.a === 1 ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\") : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b[0],\n value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) {\n amount = 50;\n }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) {\n results = 6;\n }\n if (slices === void 0) {\n slices = 30;\n }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) {\n results = 6;\n }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [this, new TinyColor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), new TinyColor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({\n h: (h + i * increment) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}();\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) {\n color = '';\n }\n if (opts === void 0) {\n opts = {};\n }\n return new TinyColor(color, opts);\n}","map":{"version":3,"names":["numberInputToObject","rgbaToHex","rgbToHex","rgbToHsl","rgbToHsv","names","inputToRGB","bound01","boundAlpha","clamp01","TinyColor","color","opts","_a","originalInput","rgb","r","g","b","a","roundA","Math","round","format","gradientType","isValid","ok","prototype","isDark","getBrightness","isLight","toRgb","getLuminance","R","G","B","RsRGB","GsRGB","BsRGB","pow","getAlpha","setAlpha","alpha","isMonochrome","s","toHsl","toHsv","hsv","h","v","toHsvString","concat","hsl","l","toHslString","toHex","allow3Char","toHexString","toHex8","allow4Char","toHex8String","toHexShortString","allowShortChar","toRgbString","toPercentageRgb","fmt","x","toPercentageRgbString","rnd","toName","hex","_i","Object","entries","length","_b","key","value","toString","formatSet","Boolean","formattedString","hasAlpha","needsAlphaFormat","startsWith","toNumber","clone","lighten","amount","brighten","max","min","darken","tint","mix","shade","desaturate","saturate","greyscale","spin","hue","rgb1","rgb2","p","rgba","analogous","results","slices","part","ret","push","complement","monochromatic","res","modification","splitcomplement","onBackground","background","fg","bg","triad","polyad","tetrad","n","result","increment","i","equals","tinycolor"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@ctrl/tinycolor/dist/module/index.js"],"sourcesContent":["import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/042fe38bd58e4769484db696b0961a4cacbeef78de58595ee37fe86861bf01a4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/042fe38bd58e4769484db696b0961a4cacbeef78de58595ee37fe86861bf01a4.json new file mode 100644 index 00000000..5c85f5f5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/042fe38bd58e4769484db696b0961a4cacbeef78de58595ee37fe86861bf01a4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isArray, isObject, isString } from '@vue/shared';\nexport { isArray, isDate, isFunction, isObject, isPlainObject, isPromise, isString, isSymbol } from '@vue/shared';\nimport { isNil } from 'lodash-unified';\nconst isUndefined = val => val === void 0;\nconst isBoolean = val => typeof val === \"boolean\";\nconst isNumber = val => typeof val === \"number\";\nconst isEmpty = val => !val && val !== 0 || isArray(val) && val.length === 0 || isObject(val) && !Object.keys(val).length;\nconst isElement = e => {\n if (typeof Element === \"undefined\") return false;\n return e instanceof Element;\n};\nconst isPropAbsent = prop => isNil(prop);\nconst isStringNumber = val => {\n if (!isString(val)) {\n return false;\n }\n return !Number.isNaN(Number(val));\n};\nconst isWindow = val => val === window;\nexport { isBoolean, isElement, isEmpty, isNumber, isPropAbsent, isStringNumber, isUndefined, isWindow };","map":{"version":3,"names":["isUndefined","val","isBoolean","isNumber","isEmpty","isArray","length","isObject","Object","keys","isElement","e","Element","isPropAbsent","prop","isNil","isStringNumber","isString","Number","isNaN","isWindow","window"],"sources":["../../../../packages/utils/types.ts"],"sourcesContent":["import { isArray, isObject, isString } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\n\nexport {\n isArray,\n isFunction,\n isObject,\n isString,\n isDate,\n isPromise,\n isSymbol,\n isPlainObject,\n} from '@vue/shared'\n\nexport const isUndefined = (val: any): val is undefined => val === undefined\nexport const isBoolean = (val: any): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: any): val is number => typeof val === 'number'\n\nexport const isEmpty = (val: unknown) =>\n (!val && val !== 0) ||\n (isArray(val) && val.length === 0) ||\n (isObject(val) && !Object.keys(val).length)\n\nexport const isElement = (e: unknown): e is Element => {\n if (typeof Element === 'undefined') return false\n return e instanceof Element\n}\n\nexport const isPropAbsent = (prop: unknown): prop is null | undefined =>\n isNil(prop)\n\nexport const isStringNumber = (val: string): boolean => {\n if (!isString(val)) {\n return false\n }\n return !Number.isNaN(Number(val))\n}\n\nexport const isWindow = (val: unknown): val is Window => val === window\n"],"mappings":";;;AAYY,MAACA,WAAW,GAAIC,GAAG,IAAKA,GAAG,KAAK,KAAK;AACrC,MAACC,SAAS,GAAID,GAAG,IAAK,OAAOA,GAAG,KAAK;AACrC,MAACE,QAAQ,GAAIF,GAAG,IAAK,OAAOA,GAAG,KAAK;AACpC,MAACG,OAAO,GAAIH,GAAG,IAAK,CAACA,GAAG,IAAIA,GAAG,KAAK,CAAC,IAAII,OAAO,CAACJ,GAAG,CAAC,IAAIA,GAAG,CAACK,MAAM,KAAK,CAAC,IAAIC,QAAQ,CAACN,GAAG,CAAC,IAAI,CAACO,MAAM,CAACC,IAAI,CAACR,GAAG,CAAC,CAACK,MAAA;AAChH,MAACI,SAAS,GAAIC,CAAC,IAAK;EAC9B,IAAI,OAAOC,OAAO,KAAK,WAAW,EAChC,OAAO,KAAK;EACd,OAAOD,CAAC,YAAYC,OAAO;AAC7B;AACY,MAACC,YAAY,GAAIC,IAAI,IAAKC,KAAK,CAACD,IAAI;AACpC,MAACE,cAAc,GAAIf,GAAG,IAAK;EACrC,IAAI,CAACgB,QAAQ,CAAChB,GAAG,CAAC,EAAE;IAClB,OAAO,KAAK;EAChB;EACE,OAAO,CAACiB,MAAM,CAACC,KAAK,CAACD,MAAM,CAACjB,GAAG,CAAC,CAAC;AACnC;AACY,MAACmB,QAAQ,GAAInB,GAAG,IAAKA,GAAG,KAAKoB,MAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/048d5f09daf6385ec6f48cc79fe235b0c6d10b819e349baddeb255407d709047.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/048d5f09daf6385ec6f48cc79fe235b0c6d10b819e349baddeb255407d709047.json new file mode 100644 index 00000000..5064380d --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/048d5f09daf6385ec6f48cc79fe235b0c6d10b819e349baddeb255407d709047.json @@ -0,0 +1 @@ +{"ast":null,"code":"import LazyWrapper from './_LazyWrapper.js';\nimport copyArray from './_copyArray.js';\n\n/**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\nfunction lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n}\nexport default lazyClone;","map":{"version":3,"names":["LazyWrapper","copyArray","lazyClone","result","__wrapped__","__actions__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_lazyClone.js"],"sourcesContent":["import LazyWrapper from './_LazyWrapper.js';\nimport copyArray from './_copyArray.js';\n\n/**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\nfunction lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n}\n\nexport default lazyClone;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,SAAS,MAAM,iBAAiB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAAA,EAAG;EACnB,IAAIC,MAAM,GAAG,IAAIH,WAAW,CAAC,IAAI,CAACI,WAAW,CAAC;EAC9CD,MAAM,CAACE,WAAW,GAAGJ,SAAS,CAAC,IAAI,CAACI,WAAW,CAAC;EAChDF,MAAM,CAACG,OAAO,GAAG,IAAI,CAACA,OAAO;EAC7BH,MAAM,CAACI,YAAY,GAAG,IAAI,CAACA,YAAY;EACvCJ,MAAM,CAACK,aAAa,GAAGP,SAAS,CAAC,IAAI,CAACO,aAAa,CAAC;EACpDL,MAAM,CAACM,aAAa,GAAG,IAAI,CAACA,aAAa;EACzCN,MAAM,CAACO,SAAS,GAAGT,SAAS,CAAC,IAAI,CAACS,SAAS,CAAC;EAC5C,OAAOP,MAAM;AACf;AAEA,eAAeD,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a0dee0cf5fd135ccc24c2828d9caf5d197502e6f34771fa7aa146a76741816.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a0dee0cf5fd135ccc24c2828d9caf5d197502e6f34771fa7aa146a76741816.json new file mode 100644 index 00000000..dd1ef86a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a0dee0cf5fd135ccc24c2828d9caf5d197502e6f34771fa7aa146a76741816.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseToString from './_baseToString.js';\nimport castSlice from './_castSlice.js';\nimport charsStartIndex from './_charsStartIndex.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * Removes leading whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimStart(' abc ');\n * // => 'abc '\n *\n * _.trimStart('-_-abc-_-', '_-');\n * // => 'abc-_-'\n */\nfunction trimStart(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimStart, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n start = charsStartIndex(strSymbols, stringToArray(chars));\n return castSlice(strSymbols, start).join('');\n}\nexport default trimStart;","map":{"version":3,"names":["baseToString","castSlice","charsStartIndex","stringToArray","toString","reTrimStart","trimStart","string","chars","guard","undefined","replace","strSymbols","start","join"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/trimStart.js"],"sourcesContent":["import baseToString from './_baseToString.js';\nimport castSlice from './_castSlice.js';\nimport charsStartIndex from './_charsStartIndex.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * Removes leading whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimStart(' abc ');\n * // => 'abc '\n *\n * _.trimStart('-_-abc-_-', '_-');\n * // => 'abc-_-'\n */\nfunction trimStart(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimStart, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n start = charsStartIndex(strSymbols, stringToArray(chars));\n\n return castSlice(strSymbols, start).join('');\n}\n\nexport default trimStart;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,eAAe,MAAM,uBAAuB;AACnD,OAAOC,aAAa,MAAM,qBAAqB;AAC/C,OAAOC,QAAQ,MAAM,eAAe;;AAEpC;AACA,IAAIC,WAAW,GAAG,MAAM;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE;EACvCF,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAAC;EACzB,IAAIA,MAAM,KAAKE,KAAK,IAAID,KAAK,KAAKE,SAAS,CAAC,EAAE;IAC5C,OAAOH,MAAM,CAACI,OAAO,CAACN,WAAW,EAAE,EAAE,CAAC;EACxC;EACA,IAAI,CAACE,MAAM,IAAI,EAAEC,KAAK,GAAGR,YAAY,CAACQ,KAAK,CAAC,CAAC,EAAE;IAC7C,OAAOD,MAAM;EACf;EACA,IAAIK,UAAU,GAAGT,aAAa,CAACI,MAAM,CAAC;IAClCM,KAAK,GAAGX,eAAe,CAACU,UAAU,EAAET,aAAa,CAACK,KAAK,CAAC,CAAC;EAE7D,OAAOP,SAAS,CAACW,UAAU,EAAEC,KAAK,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AAC9C;AAEA,eAAeR,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a2d562e86afd57cd4505c564494d94e671ac550e8294f1a559bfe6ad91f443.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a2d562e86afd57cd4505c564494d94e671ac550e8294f1a559bfe6ad91f443.json new file mode 100644 index 00000000..c7d07bfe --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a2d562e86afd57cd4505c564494d94e671ac550e8294f1a559bfe6ad91f443.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, computed, provide, toRefs, watch, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, nextTick } from 'vue';\nimport { pick } from 'lodash-unified';\nimport { checkboxGroupProps, checkboxGroupEmits } from './checkbox-group.mjs';\nimport { checkboxGroupContextKey } from './constants.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';\nconst __default__ = defineComponent({\n name: \"ElCheckboxGroup\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: checkboxGroupProps,\n emits: checkboxGroupEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const ns = useNamespace(\"checkbox\");\n const {\n formItem\n } = useFormItem();\n const {\n inputId: groupId,\n isLabeledByFormItem\n } = useFormItemInputId(props, {\n formItemContext: formItem\n });\n const changeEvent = async value => {\n emit(UPDATE_MODEL_EVENT, value);\n await nextTick();\n emit(CHANGE_EVENT, value);\n };\n const modelValue = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n changeEvent(val);\n }\n });\n provide(checkboxGroupContextKey, {\n ...pick(toRefs(props), [\"size\", \"min\", \"max\", \"disabled\", \"validateEvent\", \"fill\", \"textColor\"]),\n modelValue,\n changeEvent\n });\n watch(() => props.modelValue, () => {\n if (props.validateEvent) {\n formItem == null ? void 0 : formItem.validate(\"change\").catch(err => debugWarn(err));\n }\n });\n return (_ctx, _cache) => {\n var _a;\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n id: unref(groupId),\n class: normalizeClass(unref(ns).b(\"group\")),\n role: \"group\",\n \"aria-label\": !unref(isLabeledByFormItem) ? _ctx.ariaLabel || \"checkbox-group\" : void 0,\n \"aria-labelledby\": unref(isLabeledByFormItem) ? (_a = unref(formItem)) == null ? void 0 : _a.labelId : void 0\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 8, [\"id\", \"class\", \"aria-label\", \"aria-labelledby\"]);\n };\n }\n});\nvar CheckboxGroup = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"checkbox-group.vue\"]]);\nexport { CheckboxGroup as default };","map":{"version":3,"names":["name","ns","useNamespace","formItem","useFormItem","inputId","groupId","isLabeledByFormItem","useFormItemInputId","props","formItemContext","changeEvent","value","emit","UPDATE_MODEL_EVENT","nextTick","CHANGE_EVENT","modelValue","computed","get","set","val","provide","checkboxGroupContextKey","pick","toRefs","watch","validateEvent","validate","catch","err","debugWarn","_ctx","_cache","_a","openBlock","createBlock","resolveDynamicComponent","tag"],"sources":["../../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;;;;;;;mCA2Bc;EACZA,IAAM;AACR;;;;;;;;;IAIM,MAAAC,EAAA,GAAKC,YAAA,CAAa,UAAU;IAE5B;MAAEC;IAAS,IAAIC,WAAY;IACjC,MAAM;MAAEC,OAAS,EAAAC,OAAA;MAASC;IAAoB,IAAIC,kBAAA,CAAmBC,KAAO;MAC1EC,eAAiB,EAAAP;IAAA,CAClB;IAEK,MAAAQ,WAAA,GAAc,MAAOC,KAAkC;MAC3DC,IAAA,CAAKC,kBAAA,EAAoBF,KAAK;MAC9B,MAAMG,QAAS;MACfF,IAAA,CAAKG,YAAA,EAAcJ,KAAK;IAAA,CAC1B;IAEA,MAAMK,UAAA,GAAaC,QAAS;MAC1BC,GAAMA,CAAA;QACJ,OAAOV,KAAM,CAAAQ,UAAA;MAAA,CACf;MACAG,IAAIC,GAA6B;QAC/BV,WAAA,CAAYU,GAAG;MAAA;IACjB,CACD;IAEDC,OAAA,CAAQC,uBAAyB;MAC/B,GAAGC,IAAA,CAAKC,MAAO,CAAAhB,KAAK,CAAG,GACrB,QACA,OACA,OACA,YACA,iBACA,QACA,YACD;MACDQ,UAAA;MACAN;IAAA,CACD;IAEDe,KAAA,OAAAjB,KAAA,CAAAQ,UAAA;MACE,IAAAR,KAAY,CAAAkB,aAAA;QACNxB,QAAA,oBAAAA,QAAA,CAAAyB,QAAA,WAAAC,KAAA,CAAAC,GAAA,IAAAC,SAAA,CAAAD,GAAA;MACJ;IACE,CAAU;IACZ,QAAAE,IAAA,EAAAC,MAAA;MACF,IAAAC,EAAA;MACF,OAAAC,SAAA,IAAAC,WAAA,CAAAC,uBAAA,CAAAL,IAAA,CAAAM,GAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a7485cf47ed796d078c4eee01865a2e8d0ff78d618301e5d9f97417b189998.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a7485cf47ed796d078c4eee01865a2e8d0ff78d618301e5d9f97417b189998.json new file mode 100644 index 00000000..03746064 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04a7485cf47ed796d078c4eee01865a2e8d0ff78d618301e5d9f97417b189998.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, h, Comment } from 'vue';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nfunction isVNodeEmpty(vnodes) {\n return !!(vnodes == null ? void 0 : vnodes.every(vnode => vnode.type === Comment));\n}\nvar NodeContent = defineComponent({\n name: \"NodeContent\",\n setup() {\n const ns = useNamespace(\"cascader-node\");\n return {\n ns\n };\n },\n render() {\n const {\n ns\n } = this;\n const {\n node,\n panel\n } = this.$parent;\n const {\n data,\n label: nodeLabel\n } = node;\n const {\n renderLabelFn\n } = panel;\n const label = () => {\n let renderLabel = renderLabelFn == null ? void 0 : renderLabelFn({\n node,\n data\n });\n if (isVNodeEmpty(renderLabel)) {\n renderLabel = nodeLabel;\n }\n return renderLabel != null ? renderLabel : nodeLabel;\n };\n return h(\"span\", {\n class: ns.e(\"label\")\n }, label());\n }\n});\nexport { NodeContent as default };","map":{"version":3,"names":["isVNodeEmpty","vnodes","every","vnode","type","Comment","NodeContent","defineComponent","name","setup","ns","useNamespace","render","node","panel","$parent","data","label","nodeLabel","renderLabelFn","renderLabel","h","class","e"],"sources":["../../../../../../packages/components/cascader-panel/src/node-content.ts"],"sourcesContent":["// @ts-nocheck\nimport { Comment, defineComponent, h } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { VNode } from 'vue'\n\nfunction isVNodeEmpty(vnodes?: VNode[]) {\n return !!vnodes?.every((vnode) => vnode.type === Comment)\n}\n\nexport default defineComponent({\n name: 'NodeContent',\n setup() {\n const ns = useNamespace('cascader-node')\n return {\n ns,\n }\n },\n render() {\n const { ns } = this\n const { node, panel } = this.$parent\n const { data, label: nodeLabel } = node\n const { renderLabelFn } = panel\n const label = () => {\n let renderLabel = renderLabelFn?.({ node, data })\n if (isVNodeEmpty(renderLabel)) {\n renderLabel = nodeLabel\n }\n return renderLabel ?? nodeLabel\n }\n return h('span', { class: ns.e('label') }, label())\n },\n})\n"],"mappings":";;AAEA,SAASA,YAAYA,CAACC,MAAM,EAAE;EAC5B,OAAO,CAAC,EAAEA,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACC,KAAK,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,KAAKC,OAAO,CAAC,CAAC;AACtF;AACA,IAAAC,WAAA,GAAeC,eAAe,CAAC;EAC7BC,IAAI,EAAE,aAAa;EACnBC,KAAKA,CAAA,EAAG;IACN,MAAMC,EAAE,GAAGC,YAAY,CAAC,eAAe,CAAC;IACxC,OAAO;MACLD;IACN,CAAK;EACL,CAAG;EACDE,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEF;IAAE,CAAE,GAAG,IAAI;IACnB,MAAM;MAAEG,IAAI;MAAEC;IAAK,CAAE,GAAG,IAAI,CAACC,OAAO;IACpC,MAAM;MAAEC,IAAI;MAAEC,KAAK,EAAEC;IAAS,CAAE,GAAGL,IAAI;IACvC,MAAM;MAAEM;IAAa,CAAE,GAAGL,KAAK;IAC/B,MAAMG,KAAK,GAAGA,CAAA,KAAM;MAClB,IAAIG,WAAW,GAAGD,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,aAAa,CAAC;QAAEN,IAAI;QAAEG;MAAI,CAAE,CAAC;MAChF,IAAIhB,YAAY,CAACoB,WAAW,CAAC,EAAE;QAC7BA,WAAW,GAAGF,SAAS;MAC/B;MACM,OAAOE,WAAW,IAAI,IAAI,GAAGA,WAAW,GAAGF,SAAS;IAC1D,CAAK;IACD,OAAOG,CAAC,CAAC,MAAM,EAAE;MAAEC,KAAK,EAAEZ,EAAE,CAACa,CAAC,CAAC,OAAO;IAAC,CAAE,EAAEN,KAAK,EAAE,CAAC;EACvD;AACA,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04ae28880a11e48f866878629e894fd82085b2118ef5d552b5bc015940de4a2d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04ae28880a11e48f866878629e894fd82085b2118ef5d552b5bc015940de4a2d.json new file mode 100644 index 00000000..8a2c1500 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04ae28880a11e48f866878629e894fd82085b2118ef5d552b5bc015940de4a2d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {\n responseType,\n onUploadProgress,\n onDownloadProgress\n } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n let request = new XMLHttpRequest();\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n request.upload.addEventListener('progress', uploadThrottled);\n request.upload.addEventListener('loadend', flushUpload);\n }\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n const protocol = parseProtocol(_config.url);\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n};","map":{"version":3,"names":["utils","settle","transitionalDefaults","AxiosError","CanceledError","parseProtocol","platform","AxiosHeaders","progressEventReducer","resolveConfig","isXHRAdapterSupported","XMLHttpRequest","config","Promise","dispatchXhrRequest","resolve","reject","_config","requestData","data","requestHeaders","from","headers","normalize","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","cancelToken","unsubscribe","signal","removeEventListener","request","open","method","toUpperCase","url","timeout","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","response","status","statusText","_resolve","value","_reject","err","onreadystatechange","handleLoad","readyState","responseURL","indexOf","setTimeout","onabort","handleAbort","ECONNABORTED","onerror","handleError","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","undefined","setContentType","forEach","toJSON","setRequestHeader","val","key","isUndefined","withCredentials","addEventListener","upload","cancel","type","abort","subscribe","aborted","protocol","protocols","ERR_BAD_REQUEST","send"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/adapters/xhr.js"],"sourcesContent":["import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04bd4f90cfc8b6e27713fa39ca09c011698786fd9eb67f2726cd2bc920f78b2e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04bd4f90cfc8b6e27713fa39ca09c011698786fd9eb67f2726cd2bc920f78b2e.json new file mode 100644 index 00000000..8fbb7e25 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04bd4f90cfc8b6e27713fa39ca09c011698786fd9eb67f2726cd2bc920f78b2e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { nextTick } from 'vue';\nimport Node from './node.mjs';\nimport { getNodeKey } from './util.mjs';\nimport { hasOwn, isObject } from '@vue/shared';\nimport { isPropAbsent } from '../../../../utils/types.mjs';\nclass TreeStore {\n constructor(options) {\n this.currentNode = null;\n this.currentNodeKey = null;\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option];\n }\n }\n this.nodesMap = {};\n }\n initialize() {\n this.root = new Node({\n data: this.data,\n store: this\n });\n this.root.initialize();\n if (this.lazy && this.load) {\n const loadFn = this.load;\n loadFn(this.root, data => {\n this.root.doCreateChildren(data);\n this._initDefaultCheckedNodes();\n });\n } else {\n this._initDefaultCheckedNodes();\n }\n }\n filter(value) {\n const filterNodeMethod = this.filterNodeMethod;\n const lazy = this.lazy;\n const traverse = async function (node) {\n const childNodes = node.root ? node.root.childNodes : node.childNodes;\n for (const [index, child] of childNodes.entries()) {\n child.visible = filterNodeMethod.call(child, value, child.data, child);\n if (index % 80 === 0 && index > 0) {\n await nextTick();\n }\n await traverse(child);\n }\n if (!node.visible && childNodes.length) {\n let allHidden = true;\n allHidden = !childNodes.some(child => child.visible);\n if (node.root) {\n node.root.visible = allHidden === false;\n } else {\n node.visible = allHidden === false;\n }\n }\n if (!value) return;\n if (node.visible && !node.isLeaf) {\n if (!lazy || node.loaded) {\n node.expand();\n }\n }\n };\n traverse(this);\n }\n setData(newVal) {\n const instanceChanged = newVal !== this.root.data;\n if (instanceChanged) {\n this.nodesMap = {};\n this.root.setData(newVal);\n this._initDefaultCheckedNodes();\n this.setCurrentNodeKey(this.currentNodeKey);\n } else {\n this.root.updateChildren();\n }\n }\n getNode(data) {\n if (data instanceof Node) return data;\n const key = isObject(data) ? getNodeKey(this.key, data) : data;\n return this.nodesMap[key] || null;\n }\n insertBefore(data, refData) {\n const refNode = this.getNode(refData);\n refNode.parent.insertBefore({\n data\n }, refNode);\n }\n insertAfter(data, refData) {\n const refNode = this.getNode(refData);\n refNode.parent.insertAfter({\n data\n }, refNode);\n }\n remove(data) {\n const node = this.getNode(data);\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null;\n }\n node.parent.removeChild(node);\n }\n }\n append(data, parentData) {\n const parentNode = !isPropAbsent(parentData) ? this.getNode(parentData) : this.root;\n if (parentNode) {\n parentNode.insertChild({\n data\n });\n }\n }\n _initDefaultCheckedNodes() {\n const defaultCheckedKeys = this.defaultCheckedKeys || [];\n const nodesMap = this.nodesMap;\n defaultCheckedKeys.forEach(checkedKey => {\n const node = nodesMap[checkedKey];\n if (node) {\n node.setChecked(true, !this.checkStrictly);\n }\n });\n }\n _initDefaultCheckedNode(node) {\n const defaultCheckedKeys = this.defaultCheckedKeys || [];\n if (defaultCheckedKeys.includes(node.key)) {\n node.setChecked(true, !this.checkStrictly);\n }\n }\n setDefaultCheckedKey(newVal) {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal;\n this._initDefaultCheckedNodes();\n }\n }\n registerNode(node) {\n const key = this.key;\n if (!node || !node.data) return;\n if (!key) {\n this.nodesMap[node.id] = node;\n } else {\n const nodeKey = node.key;\n if (nodeKey !== void 0) this.nodesMap[node.key] = node;\n }\n }\n deregisterNode(node) {\n const key = this.key;\n if (!key || !node || !node.data) return;\n node.childNodes.forEach(child => {\n this.deregisterNode(child);\n });\n delete this.nodesMap[node.key];\n }\n getCheckedNodes(leafOnly = false, includeHalfChecked = false) {\n const checkedNodes = [];\n const traverse = function (node) {\n const childNodes = node.root ? node.root.childNodes : node.childNodes;\n childNodes.forEach(child => {\n if ((child.checked || includeHalfChecked && child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) {\n checkedNodes.push(child.data);\n }\n traverse(child);\n });\n };\n traverse(this);\n return checkedNodes;\n }\n getCheckedKeys(leafOnly = false) {\n return this.getCheckedNodes(leafOnly).map(data => (data || {})[this.key]);\n }\n getHalfCheckedNodes() {\n const nodes = [];\n const traverse = function (node) {\n const childNodes = node.root ? node.root.childNodes : node.childNodes;\n childNodes.forEach(child => {\n if (child.indeterminate) {\n nodes.push(child.data);\n }\n traverse(child);\n });\n };\n traverse(this);\n return nodes;\n }\n getHalfCheckedKeys() {\n return this.getHalfCheckedNodes().map(data => (data || {})[this.key]);\n }\n _getAllNodes() {\n const allNodes = [];\n const nodesMap = this.nodesMap;\n for (const nodeKey in nodesMap) {\n if (hasOwn(nodesMap, nodeKey)) {\n allNodes.push(nodesMap[nodeKey]);\n }\n }\n return allNodes;\n }\n updateChildren(key, data) {\n const node = this.nodesMap[key];\n if (!node) return;\n const childNodes = node.childNodes;\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const child = childNodes[i];\n this.remove(child.data);\n }\n for (let i = 0, j = data.length; i < j; i++) {\n const child = data[i];\n this.append(child, node.data);\n }\n }\n _setCheckedKeys(key, leafOnly = false, checkedKeys) {\n const allNodes = this._getAllNodes().sort((a, b) => a.level - b.level);\n const cache = /* @__PURE__ */Object.create(null);\n const keys = Object.keys(checkedKeys);\n allNodes.forEach(node => node.setChecked(false, false));\n const cacheCheckedChild = node => {\n node.childNodes.forEach(child => {\n var _a;\n cache[child.data[key]] = true;\n if ((_a = child.childNodes) == null ? void 0 : _a.length) {\n cacheCheckedChild(child);\n }\n });\n };\n for (let i = 0, j = allNodes.length; i < j; i++) {\n const node = allNodes[i];\n const nodeKey = node.data[key].toString();\n const checked = keys.includes(nodeKey);\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false);\n }\n continue;\n }\n if (node.childNodes.length) {\n cacheCheckedChild(node);\n }\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false);\n continue;\n }\n node.setChecked(true, true);\n if (leafOnly) {\n node.setChecked(false, false);\n const traverse = function (node2) {\n const childNodes = node2.childNodes;\n childNodes.forEach(child => {\n if (!child.isLeaf) {\n child.setChecked(false, false);\n }\n traverse(child);\n });\n };\n traverse(node);\n }\n }\n }\n setCheckedNodes(array, leafOnly = false) {\n const key = this.key;\n const checkedKeys = {};\n array.forEach(item => {\n checkedKeys[(item || {})[key]] = true;\n });\n this._setCheckedKeys(key, leafOnly, checkedKeys);\n }\n setCheckedKeys(keys, leafOnly = false) {\n this.defaultCheckedKeys = keys;\n const key = this.key;\n const checkedKeys = {};\n keys.forEach(key2 => {\n checkedKeys[key2] = true;\n });\n this._setCheckedKeys(key, leafOnly, checkedKeys);\n }\n setDefaultExpandedKeys(keys) {\n keys = keys || [];\n this.defaultExpandedKeys = keys;\n keys.forEach(key => {\n const node = this.getNode(key);\n if (node) node.expand(null, this.autoExpandParent);\n });\n }\n setChecked(data, checked, deep) {\n const node = this.getNode(data);\n if (node) {\n node.setChecked(!!checked, deep);\n }\n }\n getCurrentNode() {\n return this.currentNode;\n }\n setCurrentNode(currentNode) {\n const prevCurrentNode = this.currentNode;\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false;\n }\n this.currentNode = currentNode;\n this.currentNode.isCurrent = true;\n }\n setUserCurrentNode(node, shouldAutoExpandParent = true) {\n const key = node[this.key];\n const currNode = this.nodesMap[key];\n this.setCurrentNode(currNode);\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true);\n }\n }\n setCurrentNodeKey(key, shouldAutoExpandParent = true) {\n this.currentNodeKey = key;\n if (isPropAbsent(key)) {\n this.currentNode && (this.currentNode.isCurrent = false);\n this.currentNode = null;\n return;\n }\n const node = this.getNode(key);\n if (node) {\n this.setCurrentNode(node);\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true);\n }\n }\n }\n}\nexport { TreeStore as default };","map":{"version":3,"names":["TreeStore","constructor","options","currentNode","currentNodeKey","option","hasOwn","nodesMap","initialize","root","Node","data","store","lazy","load","loadFn","doCreateChildren","_initDefaultCheckedNodes","filter","value","filterNodeMethod","traverse","node","childNodes","index","child","entries","visible","call","nextTick","length","allHidden","some","isLeaf","loaded","expand","setData","newVal","instanceChanged","setCurrentNodeKey","updateChildren","getNode","key","isObject","getNodeKey","insertBefore","refData","refNode","parent","insertAfter","remove","removeChild","append","parentData","parentNode","isPropAbsent","insertChild","defaultCheckedKeys","forEach","checkedKey","setChecked","checkStrictly","_initDefaultCheckedNode","includes","setDefaultCheckedKey","registerNode","id","nodeKey","deregisterNode","getCheckedNodes","leafOnly","includeHalfChecked","checkedNodes","checked","indeterminate","push","getCheckedKeys","map","getHalfCheckedNodes","nodes","getHalfCheckedKeys","_getAllNodes","allNodes","i","j","_setCheckedKeys","checkedKeys","sort","a","b","level","cache","Object","create","keys","cacheCheckedChild","_a","toString","node2","setCheckedNodes","array","item","setCheckedKeys","key2","setDefaultExpandedKeys","defaultExpandedKeys","autoExpandParent","deep","getCurrentNode","setCurrentNode","prevCurrentNode","isCurrent","setUserCurrentNode","shouldAutoExpandParent","currNode"],"sources":["../../../../../../../packages/components/tree/src/model/tree-store.ts"],"sourcesContent":["// @ts-nocheck\nimport { nextTick } from 'vue'\nimport { hasOwn, isObject, isPropAbsent } from '@element-plus/utils'\nimport Node from './node'\nimport { getNodeKey } from './util'\n\nimport type {\n FilterNodeMethodFunction,\n FilterValue,\n LoadFunction,\n TreeData,\n TreeKey,\n TreeNodeData,\n TreeOptionProps,\n TreeStoreNodesMap,\n TreeStoreOptions,\n} from '../tree.type'\n\nexport default class TreeStore {\n currentNode: Node\n currentNodeKey: TreeKey\n nodesMap: TreeStoreNodesMap\n root: Node\n data: TreeData\n lazy: boolean\n load: LoadFunction\n filterNodeMethod: FilterNodeMethodFunction\n key: TreeKey\n defaultCheckedKeys: TreeKey[]\n checkStrictly: boolean\n defaultExpandedKeys: TreeKey[]\n autoExpandParent: boolean\n defaultExpandAll: boolean\n checkDescendants: boolean\n props: TreeOptionProps\n\n constructor(options: TreeStoreOptions) {\n this.currentNode = null\n this.currentNodeKey = null\n\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option]\n }\n }\n\n this.nodesMap = {}\n }\n\n initialize() {\n this.root = new Node({\n data: this.data,\n store: this,\n })\n this.root.initialize()\n\n if (this.lazy && this.load) {\n const loadFn = this.load\n loadFn(this.root, (data) => {\n this.root.doCreateChildren(data)\n this._initDefaultCheckedNodes()\n })\n } else {\n this._initDefaultCheckedNodes()\n }\n }\n\n filter(value: FilterValue): void {\n const filterNodeMethod = this.filterNodeMethod\n const lazy = this.lazy\n const traverse = async function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n for (const [index, child] of childNodes.entries()) {\n child.visible = filterNodeMethod.call(child, value, child.data, child)\n\n if (index % 80 === 0 && index > 0) {\n await nextTick()\n }\n await traverse(child)\n }\n\n if (!(node as Node).visible && childNodes.length) {\n let allHidden = true\n allHidden = !childNodes.some((child) => child.visible)\n\n if ((node as TreeStore).root) {\n ;(node as TreeStore).root.visible = allHidden === false\n } else {\n ;(node as Node).visible = allHidden === false\n }\n }\n if (!value) return\n\n if ((node as Node).visible && !(node as Node).isLeaf) {\n if (!lazy || node.loaded) {\n ;(node as Node).expand()\n }\n }\n }\n\n traverse(this)\n }\n\n setData(newVal: TreeData): void {\n const instanceChanged = newVal !== this.root.data\n if (instanceChanged) {\n this.nodesMap = {}\n this.root.setData(newVal)\n this._initDefaultCheckedNodes()\n this.setCurrentNodeKey(this.currentNodeKey)\n } else {\n this.root.updateChildren()\n }\n }\n\n getNode(data: TreeKey | TreeNodeData | Node): Node {\n if (data instanceof Node) return data\n const key = isObject(data) ? getNodeKey(this.key, data) : data\n return this.nodesMap[key] || null\n }\n\n insertBefore(\n data: TreeNodeData,\n refData: TreeKey | TreeNodeData | Node\n ): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertBefore({ data }, refNode)\n }\n\n insertAfter(\n data: TreeNodeData,\n refData: TreeKey | TreeNodeData | Node\n ): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertAfter({ data }, refNode)\n }\n\n remove(data: TreeNodeData | Node): void {\n const node = this.getNode(data)\n\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null\n }\n node.parent.removeChild(node)\n }\n }\n\n append(data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node): void {\n const parentNode = !isPropAbsent(parentData)\n ? this.getNode(parentData)\n : this.root\n\n if (parentNode) {\n parentNode.insertChild({ data })\n }\n }\n\n _initDefaultCheckedNodes(): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n const nodesMap = this.nodesMap\n\n defaultCheckedKeys.forEach((checkedKey) => {\n const node = nodesMap[checkedKey]\n\n if (node) {\n node.setChecked(true, !this.checkStrictly)\n }\n })\n }\n\n _initDefaultCheckedNode(node: Node): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n\n if (defaultCheckedKeys.includes(node.key)) {\n node.setChecked(true, !this.checkStrictly)\n }\n }\n\n setDefaultCheckedKey(newVal: TreeKey[]): void {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal\n this._initDefaultCheckedNodes()\n }\n }\n\n registerNode(node: Node): void {\n const key = this.key\n if (!node || !node.data) return\n\n if (!key) {\n this.nodesMap[node.id] = node\n } else {\n const nodeKey = node.key\n if (nodeKey !== undefined) this.nodesMap[node.key] = node\n }\n }\n\n deregisterNode(node: Node): void {\n const key = this.key\n if (!key || !node || !node.data) return\n\n node.childNodes.forEach((child) => {\n this.deregisterNode(child)\n })\n\n delete this.nodesMap[node.key]\n }\n\n getCheckedNodes(\n leafOnly = false,\n includeHalfChecked = false\n ): TreeNodeData[] {\n const checkedNodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (\n (child.checked || (includeHalfChecked && child.indeterminate)) &&\n (!leafOnly || (leafOnly && child.isLeaf))\n ) {\n checkedNodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return checkedNodes\n }\n\n getCheckedKeys(leafOnly = false): TreeKey[] {\n return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key])\n }\n\n getHalfCheckedNodes(): TreeNodeData[] {\n const nodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (child.indeterminate) {\n nodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return nodes\n }\n\n getHalfCheckedKeys(): TreeKey[] {\n return this.getHalfCheckedNodes().map((data) => (data || {})[this.key])\n }\n\n _getAllNodes(): Node[] {\n const allNodes: Node[] = []\n const nodesMap = this.nodesMap\n for (const nodeKey in nodesMap) {\n if (hasOwn(nodesMap, nodeKey)) {\n allNodes.push(nodesMap[nodeKey])\n }\n }\n\n return allNodes\n }\n\n updateChildren(key: TreeKey, data: TreeData): void {\n const node = this.nodesMap[key]\n if (!node) return\n const childNodes = node.childNodes\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const child = childNodes[i]\n this.remove(child.data)\n }\n for (let i = 0, j = data.length; i < j; i++) {\n const child = data[i]\n this.append(child, node.data)\n }\n }\n\n _setCheckedKeys(\n key: TreeKey,\n leafOnly = false,\n checkedKeys: { [key: string]: boolean }\n ): void {\n const allNodes = this._getAllNodes().sort((a, b) => a.level - b.level)\n const cache = Object.create(null)\n const keys = Object.keys(checkedKeys)\n allNodes.forEach((node) => node.setChecked(false, false))\n const cacheCheckedChild = (node) => {\n node.childNodes.forEach((child) => {\n cache[child.data[key]] = true\n if (child.childNodes?.length) {\n cacheCheckedChild(child)\n }\n })\n }\n for (let i = 0, j = allNodes.length; i < j; i++) {\n const node = allNodes[i]\n const nodeKey = node.data[key].toString()\n const checked = keys.includes(nodeKey)\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false)\n }\n continue\n }\n\n if (node.childNodes.length) {\n cacheCheckedChild(node)\n }\n\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false)\n continue\n }\n node.setChecked(true, true)\n\n if (leafOnly) {\n node.setChecked(false, false)\n const traverse = function (node: Node): void {\n const childNodes = node.childNodes\n childNodes.forEach((child) => {\n if (!child.isLeaf) {\n child.setChecked(false, false)\n }\n traverse(child)\n })\n }\n traverse(node)\n }\n }\n }\n\n setCheckedNodes(array: Node[], leafOnly = false): void {\n const key = this.key\n const checkedKeys = {}\n array.forEach((item) => {\n checkedKeys[(item || {})[key]] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setCheckedKeys(keys: TreeKey[], leafOnly = false): void {\n this.defaultCheckedKeys = keys\n const key = this.key\n const checkedKeys = {}\n keys.forEach((key) => {\n checkedKeys[key] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setDefaultExpandedKeys(keys: TreeKey[]) {\n keys = keys || []\n this.defaultExpandedKeys = keys\n keys.forEach((key) => {\n const node = this.getNode(key)\n if (node) node.expand(null, this.autoExpandParent)\n })\n }\n\n setChecked(\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ): void {\n const node = this.getNode(data)\n\n if (node) {\n node.setChecked(!!checked, deep)\n }\n }\n\n getCurrentNode(): Node {\n return this.currentNode\n }\n\n setCurrentNode(currentNode: Node): void {\n const prevCurrentNode = this.currentNode\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false\n }\n this.currentNode = currentNode\n this.currentNode.isCurrent = true\n }\n\n setUserCurrentNode(node: Node, shouldAutoExpandParent = true): void {\n const key = node[this.key]\n const currNode = this.nodesMap[key]\n this.setCurrentNode(currNode)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n\n setCurrentNodeKey(key?: TreeKey, shouldAutoExpandParent = true): void {\n this.currentNodeKey = key\n if (isPropAbsent(key)) {\n this.currentNode && (this.currentNode.isCurrent = false)\n this.currentNode = null\n return\n }\n const node = this.getNode(key)\n if (node) {\n this.setCurrentNode(node)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04c9ad97b0080cfc2cccc61a62aa3689a172d9f1b1d0530455fbf3aafa17330d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04c9ad97b0080cfc2cccc61a62aa3689a172d9f1b1d0530455fbf3aafa17330d.json new file mode 100644 index 00000000..96fc9ce4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04c9ad97b0080cfc2cccc61a62aa3689a172d9f1b1d0530455fbf3aafa17330d.json @@ -0,0 +1 @@ +{"ast":null,"code":"var ansiRegex = new RegExp([\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\", \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))\"].join(\"|\"), \"g\");\n\n/**\n *\n * Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.\n * Adapted from code originally released by Sindre Sorhus\n * Licensed the MIT License\n *\n * @param {string} string\n * @return {string}\n */\nfunction stripAnsi(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a `string`, got `\".concat(typeof string, \"`\"));\n }\n return string.replace(ansiRegex, \"\");\n}\nexport default stripAnsi;","map":{"version":3,"names":["ansiRegex","RegExp","join","stripAnsi","string","TypeError","concat","replace"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/webpack-dev-server/client/utils/stripAnsi.js"],"sourcesContent":["var ansiRegex = new RegExp([\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\", \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))\"].join(\"|\"), \"g\");\n\n/**\n *\n * Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.\n * Adapted from code originally released by Sindre Sorhus\n * Licensed the MIT License\n *\n * @param {string} string\n * @return {string}\n */\nfunction stripAnsi(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a `string`, got `\".concat(typeof string, \"`\"));\n }\n return string.replace(ansiRegex, \"\");\n}\nexport default stripAnsi;"],"mappings":"AAAA,IAAIA,SAAS,GAAG,IAAIC,MAAM,CAAC,CAAC,8HAA8H,EAAE,0DAA0D,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;;AAEvO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,MAAM,EAAE;EACzB,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAM,IAAIC,SAAS,CAAC,4BAA4B,CAACC,MAAM,CAAC,OAAOF,MAAM,EAAE,GAAG,CAAC,CAAC;EAC9E;EACA,OAAOA,MAAM,CAACG,OAAO,CAACP,SAAS,EAAE,EAAE,CAAC;AACtC;AACA,eAAeG,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04e4f4ff00fd50108404c17ad8885cf7539c4181aeec1a3dbe2f05d8e51dd1ae.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04e4f4ff00fd50108404c17ad8885cf7539c4181aeec1a3dbe2f05d8e51dd1ae.json new file mode 100644 index 00000000..74cd9972 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/04e4f4ff00fd50108404c17ad8885cf7539c4181aeec1a3dbe2f05d8e51dd1ae.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeStyle as _normalizeStyle, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createBlock as _createBlock } from \"vue\";\nconst _hoisted_1 = {\n class: \"path-history-panel\"\n};\nconst _hoisted_2 = {\n class: \"panel-header\"\n};\nconst _hoisted_3 = {\n class: \"header-actions\"\n};\nconst _hoisted_4 = {\n class: \"filter-section\"\n};\nconst _hoisted_5 = {\n class: \"path-list\"\n};\nconst _hoisted_6 = {\n class: \"path-header\"\n};\nconst _hoisted_7 = {\n class: \"path-info\"\n};\nconst _hoisted_8 = {\n class: \"path-name\"\n};\nconst _hoisted_9 = {\n class: \"name\"\n};\nconst _hoisted_10 = {\n class: \"path-meta\"\n};\nconst _hoisted_11 = {\n class: \"distance\"\n};\nconst _hoisted_12 = {\n class: \"waypoints\"\n};\nconst _hoisted_13 = {\n class: \"algorithm\"\n};\nconst _hoisted_14 = {\n class: \"path-actions\"\n};\nconst _hoisted_15 = {\n key: 0,\n class: \"path-description\"\n};\nconst _hoisted_16 = {\n class: \"path-footer\"\n};\nconst _hoisted_17 = {\n class: \"created-time\"\n};\nconst _hoisted_18 = {\n class: \"panel-footer\"\n};\nconst _hoisted_19 = {\n class: \"path-summary\"\n};\nconst _hoisted_20 = {\n key: 0,\n class: \"path-detail\"\n};\nconst _hoisted_21 = {\n key: 0,\n class: \"path-description-detail\"\n};\nconst _hoisted_22 = {\n key: 1,\n class: \"threat-zones-info\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_More = _resolveComponent(\"More\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_dropdown_item = _resolveComponent(\"el-dropdown-item\");\n const _component_el_dropdown_menu = _resolveComponent(\"el-dropdown-menu\");\n const _component_el_dropdown = _resolveComponent(\"el-dropdown\");\n const _component_el_scrollbar = _resolveComponent(\"el-scrollbar\");\n const _component_el_descriptions_item = _resolveComponent(\"el-descriptions-item\");\n const _component_el_descriptions = _resolveComponent(\"el-descriptions\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_cache[7] || (_cache[7] = _createElementVNode(\"h3\", null, \"路径历史记录\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $setup.refreshPaths,\n loading: $setup.loading,\n icon: \"Refresh\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\" 刷新 \")])),\n _: 1 /* STABLE */,\n __: [4]\n }, 8 /* PROPS */, [\"onClick\", \"loading\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $setup.showAllPaths,\n icon: \"View\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\" 显示所有路径 \")])),\n _: 1 /* STABLE */,\n __: [5]\n }, 8 /* PROPS */, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $setup.hideAllPaths,\n icon: \"Hide\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\" 隐藏所有路径 \")])),\n _: 1 /* STABLE */,\n __: [6]\n }, 8 /* PROPS */, [\"onClick\"])])]), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_row, {\n gutter: 10\n }, {\n default: _withCtx(() => [_createVNode(_component_el_col, {\n span: 12\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.filterStatus,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.filterStatus = $event),\n placeholder: \"筛选状态\",\n size: \"small\",\n onChange: $setup.filterPaths\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"全部状态\",\n value: \"\"\n }), _createVNode(_component_el_option, {\n label: \"已规划\",\n value: \"planned\"\n }), _createVNode(_component_el_option, {\n label: \"执行中\",\n value: \"executing\"\n }), _createVNode(_component_el_option, {\n label: \"已完成\",\n value: \"completed\"\n }), _createVNode(_component_el_option, {\n label: \"已失败\",\n value: \"failed\"\n }), _createVNode(_component_el_option, {\n label: \"已取消\",\n value: \"cancelled\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_col, {\n span: 12\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.filterAlgorithm,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.filterAlgorithm = $event),\n placeholder: \"筛选算法\",\n size: \"small\",\n onChange: $setup.filterPaths\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"全部算法\",\n value: \"\"\n }), _createVNode(_component_el_option, {\n label: \"A*算法\",\n value: \"astar\"\n }), _createVNode(_component_el_option, {\n label: \"直线规划\",\n value: \"straight\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_5, [_createVNode(_component_el_scrollbar, {\n height: \"400px\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.filteredPaths, path => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: path.id,\n class: _normalizeClass([\"path-item\", {\n 'active': $props.selectedPaths.includes(path.id)\n }])\n }, [_createElementVNode(\"div\", _hoisted_6, [_createElementVNode(\"div\", _hoisted_7, [_createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"span\", {\n class: \"color-indicator\",\n style: _normalizeStyle({\n backgroundColor: path.color\n })\n }, null, 4 /* STYLE */), _createElementVNode(\"span\", _hoisted_9, _toDisplayString(path.name), 1 /* TEXT */), _createVNode(_component_el_tag, {\n type: $setup.getStatusType(path.status),\n size: \"small\",\n class: \"status-tag\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.getStatusText(path.status)), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"type\"])]), _createElementVNode(\"div\", _hoisted_10, [_createElementVNode(\"span\", _hoisted_11, _toDisplayString($setup.formatDistance(path.distance)), 1 /* TEXT */), _createElementVNode(\"span\", _hoisted_12, _toDisplayString(path.waypoint_count) + \"个点\", 1 /* TEXT */), _createElementVNode(\"span\", _hoisted_13, _toDisplayString(path.algorithm.toUpperCase()), 1 /* TEXT */)])]), _createElementVNode(\"div\", _hoisted_14, [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => $setup.togglePathVisibility(path),\n type: $props.selectedPaths.includes(path.id) ? 'primary' : 'default'\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($props.selectedPaths.includes(path.id) ? '隐藏' : '显示'), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\", \"type\"]), _createVNode(_component_el_dropdown, {\n onCommand: $setup.handlePathAction\n }, {\n dropdown: _withCtx(() => [_createVNode(_component_el_dropdown_menu, null, {\n default: _withCtx(() => [_createVNode(_component_el_dropdown_item, {\n command: {\n action: 'detail',\n path\n }\n }, {\n default: _withCtx(() => [...(_cache[8] || (_cache[8] = [_createTextVNode(\" 查看详情 \")]))]),\n _: 2 /* DYNAMIC */,\n __: [8]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"command\"]), _createVNode(_component_el_dropdown_item, {\n command: {\n action: 'center',\n path\n }\n }, {\n default: _withCtx(() => [...(_cache[9] || (_cache[9] = [_createTextVNode(\" 居中显示 \")]))]),\n _: 2 /* DYNAMIC */,\n __: [9]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"command\"]), _createVNode(_component_el_dropdown_item, {\n command: {\n action: 'duplicate',\n path\n }\n }, {\n default: _withCtx(() => [...(_cache[10] || (_cache[10] = [_createTextVNode(\" 复制路径 \")]))]),\n _: 2 /* DYNAMIC */,\n __: [10]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"command\"]), _createVNode(_component_el_dropdown_item, {\n command: {\n action: 'delete',\n path\n },\n divided: \"\"\n }, {\n default: _withCtx(() => [...(_cache[11] || (_cache[11] = [_createTextVNode(\" 删除 \")]))]),\n _: 2 /* DYNAMIC */,\n __: [11]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"command\"])]),\n _: 2 /* DYNAMIC */\n }, 1024 /* DYNAMIC_SLOTS */)]),\n default: _withCtx(() => [_createVNode(_component_el_button, {\n size: \"small\",\n type: \"text\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_icon, null, {\n default: _withCtx(() => [_createVNode(_component_More)]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onCommand\"])])]), path.description ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [_createElementVNode(\"p\", null, _toDisplayString(path.description), 1 /* TEXT */)])) : _createCommentVNode(\"v-if\", true), _createElementVNode(\"div\", _hoisted_16, [_createElementVNode(\"span\", _hoisted_17, _toDisplayString($setup.formatTime(path.created_at)), 1 /* TEXT */)])], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 1 /* STABLE */\n })])), [[_directive_loading, $setup.loading]]), _createElementVNode(\"div\", _hoisted_18, [_createElementVNode(\"div\", _hoisted_19, [_createElementVNode(\"span\", null, \"共 \" + _toDisplayString($setup.filteredPaths.length) + \" 条路径\", 1 /* TEXT */), _createElementVNode(\"span\", null, \"显示 \" + _toDisplayString($props.selectedPaths.length) + \" 条\", 1 /* TEXT */)])]), _createCommentVNode(\" 路径详情对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.detailDialogVisible,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.detailDialogVisible = $event),\n title: \"路径详情\",\n width: \"600px\",\n onClose: _cache[3] || (_cache[3] = $event => $setup.selectedPathDetail = null)\n }, {\n default: _withCtx(() => [$setup.selectedPathDetail ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [_createVNode(_component_el_descriptions, {\n column: 2,\n border: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_descriptions_item, {\n label: \"路径名称\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.selectedPathDetail.name), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"算法\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.selectedPathDetail.algorithm.toUpperCase()), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"状态\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_tag, {\n type: $setup.getStatusType($setup.selectedPathDetail.status)\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.getStatusText($setup.selectedPathDetail.status)), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"type\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"距离\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.formatDistance($setup.selectedPathDetail.distance)), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"航点数\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.selectedPathDetail.waypoint_count), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"飞行高度\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.selectedPathDetail.flight_altitude) + \"m\", 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"飞行速度\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.selectedPathDetail.flight_speed) + \"m/s\", 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"预计时间\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.selectedPathDetail.estimated_time) + \"分钟\", 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_descriptions_item, {\n label: \"创建时间\",\n span: 2\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.formatTime($setup.selectedPathDetail.created_at)), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), $setup.selectedPathDetail.description ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [_cache[12] || (_cache[12] = _createElementVNode(\"h4\", null, \"路径描述\", -1 /* HOISTED */)), _createElementVNode(\"p\", null, _toDisplayString($setup.selectedPathDetail.description), 1 /* TEXT */)])) : _createCommentVNode(\"v-if\", true), $setup.selectedPathDetail.threat_zones_avoided && $setup.selectedPathDetail.threat_zones_avoided.length > 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [_cache[13] || (_cache[13] = _createElementVNode(\"h4\", null, \"避开的威胁区域\", -1 /* HOISTED */)), (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.selectedPathDetail.threat_zones_avoided, zoneId => {\n return _openBlock(), _createBlock(_component_el_tag, {\n key: zoneId,\n type: \"warning\",\n size: \"small\",\n class: \"zone-tag\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 威胁区 #\" + _toDisplayString(zoneId), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1024 /* DYNAMIC_SLOTS */);\n }), 128 /* KEYED_FRAGMENT */))])) : _createCommentVNode(\"v-if\", true)])) : _createCommentVNode(\"v-if\", true)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_button","size","onClick","$setup","refreshPaths","loading","icon","_cache","type","showAllPaths","hideAllPaths","_hoisted_4","_component_el_row","gutter","_component_el_col","span","_component_el_select","filterStatus","$event","placeholder","onChange","filterPaths","_component_el_option","label","value","filterAlgorithm","_hoisted_5","_component_el_scrollbar","height","_Fragment","_renderList","filteredPaths","path","key","id","_normalizeClass","$props","selectedPaths","includes","_hoisted_6","_hoisted_7","_hoisted_8","style","_normalizeStyle","backgroundColor","color","_hoisted_9","_toDisplayString","name","_component_el_tag","getStatusType","status","getStatusText","_hoisted_10","_hoisted_11","formatDistance","distance","_hoisted_12","waypoint_count","_hoisted_13","algorithm","toUpperCase","_hoisted_14","togglePathVisibility","_component_el_dropdown","onCommand","handlePathAction","dropdown","_withCtx","_component_el_dropdown_menu","_component_el_dropdown_item","command","action","divided","_component_el_icon","_component_More","description","_hoisted_15","_hoisted_16","_hoisted_17","formatTime","created_at","_hoisted_18","_hoisted_19","length","_createCommentVNode","_component_el_dialog","detailDialogVisible","title","width","onClose","selectedPathDetail","_hoisted_20","_component_el_descriptions","column","border","_component_el_descriptions_item","flight_altitude","flight_speed","estimated_time","_hoisted_21","threat_zones_avoided","_hoisted_22","zoneId","_createBlock"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\map-panels\\PathHistoryPanel.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":";;EACOA,KAAK,EAAC;AAAoB;;EACxBA,KAAK,EAAC;AAAc;;EAElBA,KAAK,EAAC;AAAgB;;EA4BxBA,KAAK,EAAC;AAAgB;;EAgCtBA,KAAK,EAAC;AAAW;;EAQXA,KAAK,EAAC;AAAa;;EACjBA,KAAK,EAAC;AAAW;;EACfA,KAAK,EAAC;AAAW;;EAKdA,KAAK,EAAC;AAAM;;EASfA,KAAK,EAAC;AAAW;;EACdA,KAAK,EAAC;AAAU;;EAChBA,KAAK,EAAC;AAAW;;EACjBA,KAAK,EAAC;AAAW;;EAGtBA,KAAK,EAAC;AAAc;;;EAgCtBA,KAAK,EAAC;;;EAINA,KAAK,EAAC;AAAa;;EAChBA,KAAK,EAAC;AAAc;;EAQ7BA,KAAK,EAAC;AAAc;;EAClBA,KAAK,EAAC;AAAc;;;EAaMA,KAAK,EAAC;;;;EAiB9BA,KAAK,EAAC;;;;EAKNA,KAAK,EAAC;;;;;;;;;;;;;;;;;;;uBA9KjBC,mBAAA,CA4LM,OA5LNC,UA4LM,GA3LJC,mBAAA,CA4BM,OA5BNC,UA4BM,G,0BA3BJD,mBAAA,CAAe,YAAX,QAAM,sBACVA,mBAAA,CAyBM,OAzBNE,UAyBM,GAxBJC,YAAA,CAOYC,oBAAA;IANVC,IAAI,EAAC,OAAO;IACXC,OAAK,EAAEC,MAAA,CAAAC,YAAY;IACnBC,OAAO,EAAEF,MAAA,CAAAE,OAAO;IACjBC,IAAI,EAAC;;sBACN,MAEDC,MAAA,QAAAA,MAAA,O,iBAFC,MAED,E;;;6CACAR,YAAA,CAOYC,oBAAA;IANVC,IAAI,EAAC,OAAO;IACZO,IAAI,EAAC,SAAS;IACbN,OAAK,EAAEC,MAAA,CAAAM,YAAY;IACpBH,IAAI,EAAC;;sBACN,MAEDC,MAAA,QAAAA,MAAA,O,iBAFC,UAED,E;;;kCACAR,YAAA,CAOYC,oBAAA;IANVC,IAAI,EAAC,OAAO;IACZO,IAAI,EAAC,SAAS;IACbN,OAAK,EAAEC,MAAA,CAAAO,YAAY;IACpBJ,IAAI,EAAC;;sBACN,MAEDC,MAAA,QAAAA,MAAA,O,iBAFC,UAED,E;;;sCAIJX,mBAAA,CA8BM,OA9BNe,UA8BM,GA7BJZ,YAAA,CA4BSa,iBAAA;IA5BAC,MAAM,EAAE;EAAE;sBACjB,MAcS,CAdTd,YAAA,CAcSe,iBAAA;MAdAC,IAAI,EAAE;IAAE;wBACf,MAYY,CAZZhB,YAAA,CAYYiB,oBAAA;oBAXDb,MAAA,CAAAc,YAAY;mEAAZd,MAAA,CAAAc,YAAY,GAAAC,MAAA;QACrBC,WAAW,EAAC,MAAM;QAClBlB,IAAI,EAAC,OAAO;QACXmB,QAAM,EAAEjB,MAAA,CAAAkB;;0BAET,MAAmC,CAAnCtB,YAAA,CAAmCuB,oBAAA;UAAxBC,KAAK,EAAC,MAAM;UAACC,KAAK,EAAC;YAC9BzB,YAAA,CAAyCuB,oBAAA;UAA9BC,KAAK,EAAC,KAAK;UAACC,KAAK,EAAC;YAC7BzB,YAAA,CAA2CuB,oBAAA;UAAhCC,KAAK,EAAC,KAAK;UAACC,KAAK,EAAC;YAC7BzB,YAAA,CAA2CuB,oBAAA;UAAhCC,KAAK,EAAC,KAAK;UAACC,KAAK,EAAC;YAC7BzB,YAAA,CAAwCuB,oBAAA;UAA7BC,KAAK,EAAC,KAAK;UAACC,KAAK,EAAC;YAC7BzB,YAAA,CAA2CuB,oBAAA;UAAhCC,KAAK,EAAC,KAAK;UAACC,KAAK,EAAC;;;;;QAGjCzB,YAAA,CAWSe,iBAAA;MAXAC,IAAI,EAAE;IAAE;wBACf,MASY,CATZhB,YAAA,CASYiB,oBAAA;oBARDb,MAAA,CAAAsB,eAAe;mEAAftB,MAAA,CAAAsB,eAAe,GAAAP,MAAA;QACxBC,WAAW,EAAC,MAAM;QAClBlB,IAAI,EAAC,OAAO;QACXmB,QAAM,EAAEjB,MAAA,CAAAkB;;0BAET,MAAmC,CAAnCtB,YAAA,CAAmCuB,oBAAA;UAAxBC,KAAK,EAAC,MAAM;UAACC,KAAK,EAAC;YAC9BzB,YAAA,CAAwCuB,oBAAA;UAA7BC,KAAK,EAAC,MAAM;UAACC,KAAK,EAAC;YAC9BzB,YAAA,CAA2CuB,oBAAA;UAAhCC,KAAK,EAAC,MAAM;UAACC,KAAK,EAAC;;;;;;;uCAMtC9B,mBAAA,CAyEM,OAzENgC,UAyEM,GAxEJ3B,YAAA,CAuEe4B,uBAAA;IAvEDC,MAAM,EAAC;EAAO;sBAExB,MAA6B,E,kBAD/BlC,mBAAA,CAqEMmC,SAAA,QAAAC,WAAA,CApEW3B,MAAA,CAAA4B,aAAa,EAArBC,IAAI;2BADbtC,mBAAA,CAqEM;QAnEHuC,GAAG,EAAED,IAAI,CAACE,EAAE;QACbzC,KAAK,EAAA0C,eAAA,EAAC,WAAW;UAAA,UACGC,MAAA,CAAAC,aAAa,CAACC,QAAQ,CAACN,IAAI,CAACE,EAAE;QAAA;UAElDtC,mBAAA,CAoDM,OApDN2C,UAoDM,GAnDJ3C,mBAAA,CAoBM,OApBN4C,UAoBM,GAnBJ5C,mBAAA,CAaM,OAbN6C,UAaM,GAZJ7C,mBAAA,CAGQ;QAFNH,KAAK,EAAC,iBAAiB;QACtBiD,KAAK,EAAAC,eAAA;UAAAC,eAAA,EAAqBZ,IAAI,CAACa;QAAK;+BAEvCjD,mBAAA,CAAyC,QAAzCkD,UAAyC,EAAAC,gBAAA,CAAnBf,IAAI,CAACgB,IAAI,kBAC/BjD,YAAA,CAMSkD,iBAAA;QALNzC,IAAI,EAAEL,MAAA,CAAA+C,aAAa,CAAClB,IAAI,CAACmB,MAAM;QAChClD,IAAI,EAAC,OAAO;QACZR,KAAK,EAAC;;0BAEN,MAAgC,C,kCAA7BU,MAAA,CAAAiD,aAAa,CAACpB,IAAI,CAACmB,MAAM,kB;;uDAGhCvD,mBAAA,CAIM,OAJNyD,WAIM,GAHJzD,mBAAA,CAAiE,QAAjE0D,WAAiE,EAAAP,gBAAA,CAAvC5C,MAAA,CAAAoD,cAAc,CAACvB,IAAI,CAACwB,QAAQ,mBACtD5D,mBAAA,CAA0D,QAA1D6D,WAA0D,EAAAV,gBAAA,CAA/Bf,IAAI,CAAC0B,cAAc,IAAG,IAAE,iBACnD9D,mBAAA,CAAiE,QAAjE+D,WAAiE,EAAAZ,gBAAA,CAAtCf,IAAI,CAAC4B,SAAS,CAACC,WAAW,mB,KAGzDjE,mBAAA,CA6BM,OA7BNkE,WA6BM,GA5BJ/D,YAAA,CAMYC,oBAAA;QALVC,IAAI,EAAC,OAAO;QACXC,OAAK,EAAAgB,MAAA,IAAEf,MAAA,CAAA4D,oBAAoB,CAAC/B,IAAI;QAChCxB,IAAI,EAAE4B,MAAA,CAAAC,aAAa,CAACC,QAAQ,CAACN,IAAI,CAACE,EAAE;;0BAErC,MAAmD,C,kCAAhDE,MAAA,CAAAC,aAAa,CAACC,QAAQ,CAACN,IAAI,CAACE,EAAE,gC;;gEAEnCnC,YAAA,CAoBciE,sBAAA;QApBAC,SAAO,EAAE9D,MAAA,CAAA+D;MAAgB;QAI1BC,QAAQ,EAAAC,QAAA,CACjB,MAamB,CAbnBrE,YAAA,CAamBsE,2BAAA;4BAZjB,MAEmB,CAFnBtE,YAAA,CAEmBuE,2BAAA;YAFAC,OAAO;cAAAC,MAAA;cAAsBxC;YAAI;;8BAAI,MAExD,KAAAzB,MAAA,QAAAA,MAAA,O,iBAFwD,QAExD,E;;;4DACAR,YAAA,CAEmBuE,2BAAA;YAFAC,OAAO;cAAAC,MAAA;cAAsBxC;YAAI;;8BAAI,MAExD,KAAAzB,MAAA,QAAAA,MAAA,O,iBAFwD,QAExD,E;;;4DACAR,YAAA,CAEmBuE,2BAAA;YAFAC,OAAO;cAAAC,MAAA;cAAyBxC;YAAI;;8BAAI,MAE3D,KAAAzB,MAAA,SAAAA,MAAA,Q,iBAF2D,QAE3D,E;;;4DACAR,YAAA,CAEmBuE,2BAAA;YAFAC,OAAO;cAAAC,MAAA;cAAsBxC;YAAI;YAAIyC,OAAO,EAAP;;8BAAQ,MAEhE,KAAAlE,MAAA,SAAAA,MAAA,Q,iBAFgE,MAEhE,E;;;;;;0BAhBJ,MAEY,CAFZR,YAAA,CAEYC,oBAAA;UAFDC,IAAI,EAAC,OAAO;UAACO,IAAI,EAAC;;4BAC3B,MAA2B,CAA3BT,YAAA,CAA2B2E,kBAAA;8BAAlB,MAAQ,CAAR3E,YAAA,CAAQ4E,eAAA,E;;;;;;8DAsBW3C,IAAI,CAAC4C,WAAW,I,cAApDlF,mBAAA,CAEM,OAFNmF,WAEM,GADJjF,mBAAA,CAA6B,WAAAmD,gBAAA,CAAvBf,IAAI,CAAC4C,WAAW,iB,wCAGxBhF,mBAAA,CAIM,OAJNkF,WAIM,GAHJlF,mBAAA,CAEO,QAFPmF,WAEO,EAAAhC,gBAAA,CADF5C,MAAA,CAAA6E,UAAU,CAAChD,IAAI,CAACiD,UAAU,kB;;;+BApEL9E,MAAA,CAAAE,OAAO,E,GA2EzCT,mBAAA,CAKM,OALNsF,WAKM,GAJJtF,mBAAA,CAGM,OAHNuF,WAGM,GAFJvF,mBAAA,CAA6C,cAAvC,IAAE,GAAAmD,gBAAA,CAAG5C,MAAA,CAAA4B,aAAa,CAACqD,MAAM,IAAG,MAAI,iBACtCxF,mBAAA,CAA4C,cAAtC,KAAG,GAAAmD,gBAAA,CAAGX,MAAA,CAAAC,aAAa,CAAC+C,MAAM,IAAG,IAAE,gB,KAIzCC,mBAAA,aAAgB,EAChBtF,YAAA,CAyCYuF,oBAAA;gBAxCDnF,MAAA,CAAAoF,mBAAmB;+DAAnBpF,MAAA,CAAAoF,mBAAmB,GAAArE,MAAA;IAC5BsE,KAAK,EAAC,MAAM;IACZC,KAAK,EAAC,OAAO;IACZC,OAAK,EAAAnF,MAAA,QAAAA,MAAA,MAAAW,MAAA,IAAEf,MAAA,CAAAwF,kBAAkB;;sBAmB3B,MAmDO,CApEKxF,MAAA,CAAAwF,kBAAkB,I,cAA7BjG,mBAAA,CAkCM,OAlCNkG,WAkCM,GAjCJ7F,YAAA,CAckB8F,0BAAA;MAdAC,MAAM,EAAE,CAAC;MAAEC,MAAM,EAAN;;wBAC3B,MAAuF,CAAvFhG,YAAA,CAAuFiG,+BAAA;QAAjEzE,KAAK,EAAC;MAAM;0BAAC,MAA6B,C,kCAA1BpB,MAAA,CAAAwF,kBAAkB,CAAC3C,IAAI,iB;;UAC7DjD,YAAA,CAAwGiG,+BAAA;QAAlFzE,KAAK,EAAC;MAAI;0BAAC,MAAgD,C,kCAA7CpB,MAAA,CAAAwF,kBAAkB,CAAC/B,SAAS,CAACC,WAAW,mB;;UAC5E9D,YAAA,CAIuBiG,+BAAA;QAJDzE,KAAK,EAAC;MAAI;0BAC9B,MAES,CAFTxB,YAAA,CAESkD,iBAAA;UAFAzC,IAAI,EAAEL,MAAA,CAAA+C,aAAa,CAAC/C,MAAA,CAAAwF,kBAAkB,CAACxC,MAAM;;4BACpD,MAA8C,C,kCAA3ChD,MAAA,CAAAiD,aAAa,CAACjD,MAAA,CAAAwF,kBAAkB,CAACxC,MAAM,kB;;;;UAG9CpD,YAAA,CAAyGiG,+BAAA;QAAnFzE,KAAK,EAAC;MAAI;0BAAC,MAAiD,C,kCAA9CpB,MAAA,CAAAoD,cAAc,CAACpD,MAAA,CAAAwF,kBAAkB,CAACnC,QAAQ,kB;;UAC9EzD,YAAA,CAAgGiG,+BAAA;QAA1EzE,KAAK,EAAC;MAAK;0BAAC,MAAuC,C,kCAApCpB,MAAA,CAAAwF,kBAAkB,CAACjC,cAAc,iB;;UACtE3D,YAAA,CAAmGiG,+BAAA;QAA7EzE,KAAK,EAAC;MAAM;0BAAC,MAAwC,C,kCAArCpB,MAAA,CAAAwF,kBAAkB,CAACM,eAAe,IAAG,GAAC,gB;;UAC5ElG,YAAA,CAAkGiG,+BAAA;QAA5EzE,KAAK,EAAC;MAAM;0BAAC,MAAqC,C,kCAAlCpB,MAAA,CAAAwF,kBAAkB,CAACO,YAAY,IAAG,KAAG,gB;;UAC3EnG,YAAA,CAAmGiG,+BAAA;QAA7EzE,KAAK,EAAC;MAAM;0BAAC,MAAuC,C,kCAApCpB,MAAA,CAAAwF,kBAAkB,CAACQ,cAAc,IAAG,IAAE,gB;;UAC5EpG,YAAA,CAAmHiG,+BAAA;QAA7FzE,KAAK,EAAC,MAAM;QAAER,IAAI,EAAE;;0BAAG,MAA+C,C,kCAA5CZ,MAAA,CAAA6E,UAAU,CAAC7E,MAAA,CAAAwF,kBAAkB,CAACV,UAAU,kB;;;;QAG/C9E,MAAA,CAAAwF,kBAAkB,CAACf,WAAW,I,cAAzElF,mBAAA,CAGM,OAHN0G,WAGM,G,4BAFJxG,mBAAA,CAAa,YAAT,MAAI,sBACRA,mBAAA,CAA2C,WAAAmD,gBAAA,CAArC5C,MAAA,CAAAwF,kBAAkB,CAACf,WAAW,iB,wCAGDzE,MAAA,CAAAwF,kBAAkB,CAACU,oBAAoB,IAAIlG,MAAA,CAAAwF,kBAAkB,CAACU,oBAAoB,CAACjB,MAAM,Q,cAA9H1F,mBAAA,CAWM,OAXN4G,WAWM,G,4BAVJ1G,mBAAA,CAAgB,YAAZ,SAAO,uB,kBACXF,mBAAA,CAQSmC,SAAA,QAAAC,WAAA,CAPU3B,MAAA,CAAAwF,kBAAkB,CAACU,oBAAoB,EAAjDE,MAAM;2BADfC,YAAA,CAQSvD,iBAAA;QANNhB,GAAG,EAAEsE,MAAM;QACZ/F,IAAI,EAAC,SAAS;QACdP,IAAI,EAAC,OAAO;QACZR,KAAK,EAAC;;0BACP,MACM,C,iBADN,QACM,GAAAsD,gBAAA,CAAGwD,MAAM,iB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0554d8e7068eeb940f83cd3e982da9ed49fefa5385b70b3bdced976ef208b694.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0554d8e7068eeb940f83cd3e982da9ed49fefa5385b70b3bdced976ef208b694.json new file mode 100644 index 00000000..963673d5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0554d8e7068eeb940f83cd3e982da9ed49fefa5385b70b3bdced976ef208b694.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Overlay from './src/overlay.mjs';\nexport { overlayEmits, overlayProps } from './src/overlay.mjs';\nconst ElOverlay = Overlay;\nexport { ElOverlay, ElOverlay as default };","map":{"version":3,"names":["ElOverlay","Overlay"],"sources":["../../../../../packages/components/overlay/index.ts"],"sourcesContent":["import Overlay from './src/overlay'\n\nexport const ElOverlay = Overlay\nexport default ElOverlay\n\nexport * from './src/overlay'\n"],"mappings":";;AACY,MAACA,SAAS,GAAGC,OAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/056700305113ca60a946b40300f1c76813a0d2ccf9a7e31e13de12149b232c11.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/056700305113ca60a946b40300f1c76813a0d2ccf9a7e31e13de12149b232c11.json new file mode 100644 index 00000000..272c2796 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/056700305113ca60a946b40300f1c76813a0d2ccf9a7e31e13de12149b232c11.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { inject, getCurrentInstance, computed, watch, nextTick } from 'vue';\nimport { checkboxGroupContextKey } from '../constants.mjs';\nimport { useFormItem } from '../../../form/src/hooks/use-form-item.mjs';\nimport { debugWarn } from '../../../../utils/error.mjs';\nimport { CHANGE_EVENT } from '../../../../constants/event.mjs';\nconst useCheckboxEvent = (props, {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem\n}) => {\n const checkboxGroup = inject(checkboxGroupContextKey, void 0);\n const {\n formItem\n } = useFormItem();\n const {\n emit\n } = getCurrentInstance();\n function getLabeledValue(value) {\n var _a, _b, _c, _d;\n return [true, props.trueValue, props.trueLabel].includes(value) ? (_b = (_a = props.trueValue) != null ? _a : props.trueLabel) != null ? _b : true : (_d = (_c = props.falseValue) != null ? _c : props.falseLabel) != null ? _d : false;\n }\n function emitChangeEvent(checked, e) {\n emit(CHANGE_EVENT, getLabeledValue(checked), e);\n }\n function handleChange(e) {\n if (isLimitExceeded.value) return;\n const target = e.target;\n emit(CHANGE_EVENT, getLabeledValue(target.checked), e);\n }\n async function onClickRoot(e) {\n if (isLimitExceeded.value) return;\n if (!hasOwnLabel.value && !isDisabled.value && isLabeledByFormItem.value) {\n const eventTargets = e.composedPath();\n const hasLabel = eventTargets.some(item => item.tagName === \"LABEL\");\n if (!hasLabel) {\n model.value = getLabeledValue([false, props.falseValue, props.falseLabel].includes(model.value));\n await nextTick();\n emitChangeEvent(model.value, e);\n }\n }\n }\n const validateEvent = computed(() => (checkboxGroup == null ? void 0 : checkboxGroup.validateEvent) || props.validateEvent);\n watch(() => props.modelValue, () => {\n if (validateEvent.value) {\n formItem == null ? void 0 : formItem.validate(\"change\").catch(err => debugWarn(err));\n }\n });\n return {\n handleChange,\n onClickRoot\n };\n};\nexport { useCheckboxEvent };","map":{"version":3,"names":["useCheckboxEvent","props","model","isLimitExceeded","hasOwnLabel","isDisabled","isLabeledByFormItem","checkboxGroup","inject","checkboxGroupContextKey","formItem","useFormItem","emit","getCurrentInstance","getLabeledValue","value","_a","_b","_c","_d","trueValue","trueLabel","includes","falseValue","falseLabel","emitChangeEvent","checked","e","CHANGE_EVENT","handleChange","target","onClickRoot","eventTargets","composedPath","hasLabel","some","item","tagName","nextTick","validateEvent","computed","watch","modelValue","validate","catch","err","debugWarn"],"sources":["../../../../../../../packages/components/checkbox/src/composables/use-checkbox-event.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, nextTick, watch } from 'vue'\nimport { useFormItem } from '@element-plus/components/form'\nimport { debugWarn } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { checkboxGroupContextKey } from '../constants'\n\nimport type { useFormItemInputId } from '@element-plus/components/form'\nimport type { CheckboxProps } from '../checkbox'\nimport type {\n CheckboxDisabled,\n CheckboxModel,\n CheckboxStatus,\n} from '../composables'\n\nexport const useCheckboxEvent = (\n props: CheckboxProps,\n {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n }: Pick &\n Pick &\n Pick &\n Pick, 'isLabeledByFormItem'>\n) => {\n const checkboxGroup = inject(checkboxGroupContextKey, undefined)\n const { formItem } = useFormItem()\n const { emit } = getCurrentInstance()!\n\n function getLabeledValue(value: string | number | boolean) {\n return [true, props.trueValue, props.trueLabel].includes(value)\n ? props.trueValue ?? props.trueLabel ?? true\n : props.falseValue ?? props.falseLabel ?? false\n }\n\n function emitChangeEvent(\n checked: string | number | boolean,\n e: InputEvent | MouseEvent\n ) {\n emit(CHANGE_EVENT, getLabeledValue(checked), e)\n }\n\n function handleChange(e: Event) {\n if (isLimitExceeded.value) return\n\n const target = e.target as HTMLInputElement\n emit(CHANGE_EVENT, getLabeledValue(target.checked), e)\n }\n\n async function onClickRoot(e: MouseEvent) {\n if (isLimitExceeded.value) return\n\n if (!hasOwnLabel.value && !isDisabled.value && isLabeledByFormItem.value) {\n // fix: https://github.com/element-plus/element-plus/issues/9981\n const eventTargets: EventTarget[] = e.composedPath()\n const hasLabel = eventTargets.some(\n (item) => (item as HTMLElement).tagName === 'LABEL'\n )\n if (!hasLabel) {\n model.value = getLabeledValue(\n [false, props.falseValue, props.falseLabel].includes(model.value)\n )\n await nextTick()\n emitChangeEvent(model.value, e)\n }\n }\n }\n\n const validateEvent = computed(\n () => checkboxGroup?.validateEvent || props.validateEvent\n )\n\n watch(\n () => props.modelValue,\n () => {\n if (validateEvent.value) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n )\n\n return {\n handleChange,\n onClickRoot,\n }\n}\n"],"mappings":";;;;;AAKY,MAACA,gBAAgB,GAAGA,CAACC,KAAK,EAAE;EACtCC,KAAK;EACLC,eAAe;EACfC,WAAW;EACXC,UAAU;EACVC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAGC,MAAM,CAACC,uBAAuB,EAAE,KAAK,CAAC,CAAC;EAC7D,MAAM;IAAEC;EAAQ,CAAE,GAAGC,WAAW,EAAE;EAClC,MAAM;IAAEC;EAAI,CAAE,GAAGC,kBAAkB,EAAE;EACrC,SAASC,eAAeA,CAACC,KAAK,EAAE;IAC9B,IAAIC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;IAClB,OAAO,CAAC,IAAI,EAAElB,KAAK,CAACmB,SAAS,EAAEnB,KAAK,CAACoB,SAAS,CAAC,CAACC,QAAQ,CAACP,KAAK,CAAC,GAAG,CAACE,EAAE,GAAG,CAACD,EAAE,GAAGf,KAAK,CAACmB,SAAS,KAAK,IAAI,GAAGJ,EAAE,GAAGf,KAAK,CAACoB,SAAS,KAAK,IAAI,GAAGJ,EAAE,GAAG,IAAI,GAAG,CAACE,EAAE,GAAG,CAACD,EAAE,GAAGjB,KAAK,CAACsB,UAAU,KAAK,IAAI,GAAGL,EAAE,GAAGjB,KAAK,CAACuB,UAAU,KAAK,IAAI,GAAGL,EAAE,GAAG,KAAK;EAC5O;EACE,SAASM,eAAeA,CAACC,OAAO,EAAEC,CAAC,EAAE;IACnCf,IAAI,CAACgB,YAAY,EAAEd,eAAe,CAACY,OAAO,CAAC,EAAEC,CAAC,CAAC;EACnD;EACE,SAASE,YAAYA,CAACF,CAAC,EAAE;IACvB,IAAIxB,eAAe,CAACY,KAAK,EACvB;IACF,MAAMe,MAAM,GAAGH,CAAC,CAACG,MAAM;IACvBlB,IAAI,CAACgB,YAAY,EAAEd,eAAe,CAACgB,MAAM,CAACJ,OAAO,CAAC,EAAEC,CAAC,CAAC;EAC1D;EACE,eAAeI,WAAWA,CAACJ,CAAC,EAAE;IAC5B,IAAIxB,eAAe,CAACY,KAAK,EACvB;IACF,IAAI,CAACX,WAAW,CAACW,KAAK,IAAI,CAACV,UAAU,CAACU,KAAK,IAAIT,mBAAmB,CAACS,KAAK,EAAE;MACxE,MAAMiB,YAAY,GAAGL,CAAC,CAACM,YAAY,EAAE;MACrC,MAAMC,QAAQ,GAAGF,YAAY,CAACG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,OAAO,KAAK,OAAO,CAAC;MACtE,IAAI,CAACH,QAAQ,EAAE;QACbhC,KAAK,CAACa,KAAK,GAAGD,eAAe,CAAC,CAAC,KAAK,EAAEb,KAAK,CAACsB,UAAU,EAAEtB,KAAK,CAACuB,UAAU,CAAC,CAACF,QAAQ,CAACpB,KAAK,CAACa,KAAK,CAAC,CAAC;QAChG,MAAMuB,QAAQ,EAAE;QAChBb,eAAe,CAACvB,KAAK,CAACa,KAAK,EAAEY,CAAC,CAAC;MACvC;IACA;EACA;EACE,MAAMY,aAAa,GAAGC,QAAQ,CAAC,MAAM,CAACjC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACgC,aAAa,KAAKtC,KAAK,CAACsC,aAAa,CAAC;EAC3HE,KAAK,CAAC,MAAMxC,KAAK,CAACyC,UAAU,EAAE,MAAM;IAClC,IAAIH,aAAa,CAACxB,KAAK,EAAE;MACvBL,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACiC,QAAQ,CAAC,QAAQ,CAAC,CAACC,KAAK,CAAEC,GAAG,IAAKC,SAAS,CAACD,GAAG,CAAC,CAAC;IAC5F;EACA,CAAG,CAAC;EACF,OAAO;IACLhB,YAAY;IACZE;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0573fc2357386cc462d1ffe56119561a2b707d6326714315c97a7ade766a32a6.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0573fc2357386cc462d1ffe56119561a2b707d6326714315c97a7ade766a32a6.json new file mode 100644 index 00000000..84eb4f12 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0573fc2357386cc462d1ffe56119561a2b707d6326714315c97a7ade766a32a6.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\nfunction setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n set.forEach(function (value) {\n result[++index] = [value, value];\n });\n return result;\n}\nexport default setToPairs;","map":{"version":3,"names":["setToPairs","set","index","result","Array","size","forEach","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_setToPairs.js"],"sourcesContent":["/**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\nfunction setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n}\n\nexport default setToPairs;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAUA,CAACC,GAAG,EAAE;EACvB,IAAIC,KAAK,GAAG,CAAC,CAAC;IACVC,MAAM,GAAGC,KAAK,CAACH,GAAG,CAACI,IAAI,CAAC;EAE5BJ,GAAG,CAACK,OAAO,CAAC,UAASC,KAAK,EAAE;IAC1BJ,MAAM,CAAC,EAAED,KAAK,CAAC,GAAG,CAACK,KAAK,EAAEA,KAAK,CAAC;EAClC,CAAC,CAAC;EACF,OAAOJ,MAAM;AACf;AAEA,eAAeH,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0587401fb630bb40bbadf65e223bddb6e7632bd6186ce7591808546701c1480e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0587401fb630bb40bbadf65e223bddb6e7632bd6186ce7591808546701c1480e.json new file mode 100644 index 00000000..18a2891e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0587401fb630bb40bbadf65e223bddb6e7632bd6186ce7591808546701c1480e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/05b30a9d4c034d3752b63efda6420607d7a5f74c4178fbd49dd8bee823a23355.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/05b30a9d4c034d3752b63efda6420607d7a5f74c4178fbd49dd8bee823a23355.json new file mode 100644 index 00000000..c61e6eab --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/05b30a9d4c034d3752b63efda6420607d7a5f74c4178fbd49dd8bee823a23355.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\nexport default isArray;","map":{"version":3,"names":["isArray","Array"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isArray.js"],"sourcesContent":["/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIA,OAAO,GAAGC,KAAK,CAACD,OAAO;AAE3B,eAAeA,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/062223018bca412175ba0251e22ff8d454fad005203b713ac465132d92b8b013.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/062223018bca412175ba0251e22ff8d454fad005203b713ac465132d92b8b013.json new file mode 100644 index 00000000..1eb7efd3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/062223018bca412175ba0251e22ff8d454fad005203b713ac465132d92b8b013.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0628ebf913173a409ce9829a008d2fab327ec0c7bd486ccc42c26ae6a14763ed.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0628ebf913173a409ce9829a008d2fab327ec0c7bd486ccc42c26ae6a14763ed.json new file mode 100644 index 00000000..17b8651e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0628ebf913173a409ce9829a008d2fab327ec0c7bd486ccc42c26ae6a14763ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\nexport { axios as default, Axios, AxiosError, CanceledError, isCancel, CancelToken, VERSION, all, Cancel, isAxiosError, spread, toFormData, AxiosHeaders, HttpStatusCode, formToJSON, getAdapter, mergeConfig };","map":{"version":3,"names":["axios","Axios","AxiosError","CanceledError","isCancel","CancelToken","VERSION","all","Cancel","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","formToJSON","getAdapter","mergeConfig","default"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/index.js"],"sourcesContent":["import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,gBAAgB;;AAElC;AACA;AACA;AACA,MAAM;EACJC,KAAK;EACLC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,WAAW;EACXC,OAAO;EACPC,GAAG;EACHC,MAAM;EACNC,YAAY;EACZC,MAAM;EACNC,UAAU;EACVC,YAAY;EACZC,cAAc;EACdC,UAAU;EACVC,UAAU;EACVC;AACF,CAAC,GAAGhB,KAAK;AAET,SACEA,KAAK,IAAIiB,OAAO,EAChBhB,KAAK,EACLC,UAAU,EACVC,aAAa,EACbC,QAAQ,EACRC,WAAW,EACXC,OAAO,EACPC,GAAG,EACHC,MAAM,EACNC,YAAY,EACZC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVC,UAAU,EACVC,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/065a299fd289e85cff8ddeafe9f93395e2d086daf37f7bff6b3cde5de63f7b34.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/065a299fd289e85cff8ddeafe9f93395e2d086daf37f7bff6b3cde5de63f7b34.json new file mode 100644 index 00000000..eb75532d --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/065a299fd289e85cff8ddeafe9f93395e2d086daf37f7bff6b3cde5de63f7b34.json @@ -0,0 +1 @@ +{"ast":null,"code":"import apply from './_apply.js';\nimport arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseUnary from './_baseUnary.js';\nimport flatRest from './_flatRest.js';\n\n/**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\nfunction createOver(arrayFunc) {\n return flatRest(function (iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n return baseRest(function (args) {\n var thisArg = this;\n return arrayFunc(iteratees, function (iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n}\nexport default createOver;","map":{"version":3,"names":["apply","arrayMap","baseIteratee","baseRest","baseUnary","flatRest","createOver","arrayFunc","iteratees","args","thisArg","iteratee"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_createOver.js"],"sourcesContent":["import apply from './_apply.js';\nimport arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseUnary from './_baseUnary.js';\nimport flatRest from './_flatRest.js';\n\n/**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\nfunction createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n}\n\nexport default createOver;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,aAAa;AAC/B,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,QAAQ,MAAM,gBAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,SAAS,EAAE;EAC7B,OAAOF,QAAQ,CAAC,UAASG,SAAS,EAAE;IAClCA,SAAS,GAAGP,QAAQ,CAACO,SAAS,EAAEJ,SAAS,CAACF,YAAY,CAAC,CAAC;IACxD,OAAOC,QAAQ,CAAC,UAASM,IAAI,EAAE;MAC7B,IAAIC,OAAO,GAAG,IAAI;MAClB,OAAOH,SAAS,CAACC,SAAS,EAAE,UAASG,QAAQ,EAAE;QAC7C,OAAOX,KAAK,CAACW,QAAQ,EAAED,OAAO,EAAED,IAAI,CAAC;MACvC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,eAAeH,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/067134f2f96f643ed1826f63d55773f8e9d3a791387c9fba9dc19ebdc337eceb.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/067134f2f96f643ed1826f63d55773f8e9d3a791387c9fba9dc19ebdc337eceb.json new file mode 100644 index 00000000..f6823a36 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/067134f2f96f643ed1826f63d55773f8e9d3a791387c9fba9dc19ebdc337eceb.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n headers.normalize();\n return data;\n}","map":{"version":3,"names":["utils","defaults","AxiosHeaders","transformData","fns","response","config","context","headers","from","data","forEach","transform","fn","call","normalize","status","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/core/transformData.js"],"sourcesContent":["'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,OAAOA,KAAK,MAAM,eAAe;AACjC,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,YAAY,MAAM,yBAAyB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,aAAaA,CAACC,GAAG,EAAEC,QAAQ,EAAE;EACnD,MAAMC,MAAM,GAAG,IAAI,IAAIL,QAAQ;EAC/B,MAAMM,OAAO,GAAGF,QAAQ,IAAIC,MAAM;EAClC,MAAME,OAAO,GAAGN,YAAY,CAACO,IAAI,CAACF,OAAO,CAACC,OAAO,CAAC;EAClD,IAAIE,IAAI,GAAGH,OAAO,CAACG,IAAI;EAEvBV,KAAK,CAACW,OAAO,CAACP,GAAG,EAAE,SAASQ,SAASA,CAACC,EAAE,EAAE;IACxCH,IAAI,GAAGG,EAAE,CAACC,IAAI,CAACR,MAAM,EAAEI,IAAI,EAAEF,OAAO,CAACO,SAAS,CAAC,CAAC,EAAEV,QAAQ,GAAGA,QAAQ,CAACW,MAAM,GAAGC,SAAS,CAAC;EAC3F,CAAC,CAAC;EAEFT,OAAO,CAACO,SAAS,CAAC,CAAC;EAEnB,OAAOL,IAAI;AACb","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0672230496a8ee129be291e7549c63d702d162fa91676d13d07daae7934226b3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0672230496a8ee129be291e7549c63d702d162fa91676d13d07daae7934226b3.json new file mode 100644 index 00000000..65641b01 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0672230496a8ee129be291e7549c63d702d162fa91676d13d07daae7934226b3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, openBlock, createBlock, Transition, mergeProps, unref, toHandlers, withCtx, renderSlot } from 'vue';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst __default__ = defineComponent({\n name: \"ElCollapseTransition\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n setup(__props) {\n const ns = useNamespace(\"collapse-transition\");\n const reset = el => {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n };\n const on = {\n beforeEnter(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n if (el.style.height) el.dataset.elExistsHeight = el.style.height;\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n },\n enter(el) {\n requestAnimationFrame(() => {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.dataset.elExistsHeight) {\n el.style.maxHeight = el.dataset.elExistsHeight;\n } else if (el.scrollHeight !== 0) {\n el.style.maxHeight = `${el.scrollHeight}px`;\n } else {\n el.style.maxHeight = 0;\n }\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n el.style.overflow = \"hidden\";\n });\n },\n afterEnter(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n },\n enterCancelled(el) {\n reset(el);\n },\n beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.overflow = \"hidden\";\n },\n leave(el) {\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n },\n afterLeave(el) {\n reset(el);\n },\n leaveCancelled(el) {\n reset(el);\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createBlock(Transition, mergeProps({\n name: unref(ns).b()\n }, toHandlers(on)), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 16, [\"name\"]);\n };\n }\n});\nvar CollapseTransition = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"collapse-transition.vue\"]]);\nexport { CollapseTransition as default };","map":{"version":3,"names":["name","ns","useNamespace","reset","el","style","maxHeight","overflow","dataset","oldOverflow","paddingTop","oldPaddingTop","paddingBottom","oldPaddingBottom","on","beforeEnter","height","elExistsHeight","enter","requestAnimationFrame","scrollHeight","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled"],"sources":["../../../../../../packages/components/collapse-transition/src/collapse-transition.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;mCAUc;EACZA,IAAM;AACR;;;;IAEM,MAAAC,EAAA,GAAKC,YAAA,CAAa,qBAAqB;IAEvC,MAAAC,KAAA,GAASC,EAAwB;MACrCA,EAAA,CAAGC,KAAA,CAAMC,SAAY;MAClBF,EAAA,CAAAC,KAAA,CAAME,QAAW,GAAAH,EAAA,CAAGI,OAAQ,CAAAC,WAAA;MAC5BL,EAAA,CAAAC,KAAA,CAAMK,UAAa,GAAAN,EAAA,CAAGI,OAAQ,CAAAG,aAAA;MAC9BP,EAAA,CAAAC,KAAA,CAAMO,aAAgB,GAAAR,EAAA,CAAGI,OAAQ,CAAAK,gBAAA;IAAA,CACtC;IAEA,MAAMC,EAAK;MACTC,YAAYX,EAAqB;QAC/B,IAAI,CAACA,EAAA,CAAGI,OAAS,EAEdJ,EAAA,CAAAI,OAAwB;QACxBJ,EAAA,CAAAI,OAAA,CAAQG,aAAmB,GAAAP,EAAA,CAAAC,KAAS,CAAAK,UAAA;QACvCN,EAAA,CAAAI,OAAa,CAAAK,gBAAmB,GAAAT,EAAA,CAAAC,KAAA,CAAAO,aAAoB;QAEpD,IAAAR,EAAA,CAAAC,KAAqB,CAAAW,MAAA,EACrBZ,EAAA,CAAAI,OAAsB,CAAAS,cAAA,GAAAb,EAAA,CAAAC,KAAA,CAAAW,MAAA;QACtBZ,EAAA,CAAGC,KAAA,CAAMC,SAAgB;QAC3BF,EAAA,CAAAC,KAAA,CAAAK,UAAA;QAAAN,EAAA,CAAAC,KAE2B,CAAAO,aAAA;MACzB;MACKM,MAAAd,EAAA;QACCe,qBAA2B;UAC1Bf,EAAA,CAAAI,OAAA,CAAMC,WAAY,GAAAL,EAAW,CAAAC,KAAA,CAAAE,QAAA;UAClC,IAAAH,EAAA,CAAAI,OAAc,CAAAS,cAAA,EAAiB;YAC7Bb,EAAA,CAAGC,KAAM,CAAAC,SAAA,GAAYF,EAAG,CAAAI,OAAe,CAAAS,cAAA;UAAA,CAClC,UAAAb,EAAA,CAAAgB,YAAA;YACLhB,EAAA,CAAGC,KAAA,CAAMC,SAAY,MAAAF,EAAA,CAAAgB,YAAA;UAAA,CACvB;YAEGhB,EAAA,CAAAC,KAAmB,CAAAC,SAAA;UACtB;UACAF,EAAA,CAAGC,KAAA,CAAMK,UAAW,GAAAN,EAAA,CAAAI,OAAA,CAAAG,aAAA;UACrBP,EAAA,CAAAC,KAAA,CAAAO,aAAA,GAAAR,EAAA,CAAAI,OAAA,CAAAK,gBAAA;UACHT,EAAA,CAAAC,KAAA,CAAAE,QAAA;QAAA;MAGE;MACGc,WAAMjB,EAAW;QACtBA,EAAA,CAAAC,KAAA,CAAAC,SAAA;QAAAF,EAAA,CAAAC,KAAA,CAAAE,QAEoC,GAAAH,EAAA,CAAAI,OAAA,CAAAC,WAAA;MAClC;MACFa,eAAAlB,EAAA;QAAAD,KAAA,CAAAC,EAAA;MAGE;MACGmB,YAAAnB,EAAwB;QACxB,KAAAA,EAAA,CAAAI,OAA2B,EAC3BJ,EAAA,CAAAI,OAAsB;QAEzBJ,EAAA,CAAGI,OAAM,CAAAG,aAAe,GAAGP,EAAY,CAAAC,KAAA,CAAAK,UAAA;QACvCN,EAAA,CAAGI,OAAiB,CAAAK,gBAAA,GAAAT,EAAA,CAAAC,KAAA,CAAAO,aAAA;QACtBR,EAAA,CAAAI,OAAA,CAAAC,WAAA,GAAAL,EAAA,CAAAC,KAAA,CAAAE,QAAA;QAAAH,EAAA,CAAAC,KAE2B,CAAAC,SAAA,MAAAF,EAAA,CAAAgB,YAAA;QACrBhB,EAAA,CAAAC,KAAA,CAAAE,QAAA,WAAuB;MACzB;MACAiB,MAAApB,EAAA;QACA,IAAAA,EAAA,CAAAgB,YAAyB;UAC3BhB,EAAA,CAAAC,KAAA,CAAAC,SAAA;UACFF,EAAA,CAAAC,KAAA,CAAAK,UAAA;UAAAN,EAAA,CAAAC,KAEgC,CAAAO,aAAA;QAC9B;MAAQ,CACV;MAEAa,WAAArB,EAAA,EAAe;QACbD,KAAA,CAAMC,EAAE;MAAA,CACV;MACFsB,eAAAtB,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06c49aa55d3b6e9f1f404d5ea74e946c1d6cdf1423dcdb5c1eb1a14e8943b5c9.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06c49aa55d3b6e9f1f404d5ea74e946c1d6cdf1423dcdb5c1eb1a14e8943b5c9.json new file mode 100644 index 00000000..8549fe71 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06c49aa55d3b6e9f1f404d5ea74e946c1d6cdf1423dcdb5c1eb1a14e8943b5c9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\nfunction baseToPairs(object, props) {\n return arrayMap(props, function (key) {\n return [key, object[key]];\n });\n}\nexport default baseToPairs;","map":{"version":3,"names":["arrayMap","baseToPairs","object","props","key"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseToPairs.js"],"sourcesContent":["import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\nfunction baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n}\n\nexport default baseToPairs;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAACC,MAAM,EAAEC,KAAK,EAAE;EAClC,OAAOH,QAAQ,CAACG,KAAK,EAAE,UAASC,GAAG,EAAE;IACnC,OAAO,CAACA,GAAG,EAAEF,MAAM,CAACE,GAAG,CAAC,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,eAAeH,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06e66096108d4a0cbe1a3b01abc8621f82eb64e0742b546542c32ca240124741.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06e66096108d4a0cbe1a3b01abc8621f82eb64e0742b546542c32ca240124741.json new file mode 100644 index 00000000..c1a1e260 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06e66096108d4a0cbe1a3b01abc8621f82eb64e0742b546542c32ca240124741.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseToPairs from './_baseToPairs.js';\nimport getTag from './_getTag.js';\nimport mapToArray from './_mapToArray.js';\nimport setToPairs from './_setToPairs.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\nfunction createToPairs(keysFunc) {\n return function (object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n}\nexport default createToPairs;","map":{"version":3,"names":["baseToPairs","getTag","mapToArray","setToPairs","mapTag","setTag","createToPairs","keysFunc","object","tag"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_createToPairs.js"],"sourcesContent":["import baseToPairs from './_baseToPairs.js';\nimport getTag from './_getTag.js';\nimport mapToArray from './_mapToArray.js';\nimport setToPairs from './_setToPairs.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\nfunction createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n}\n\nexport default createToPairs;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,UAAU,MAAM,kBAAkB;;AAEzC;AACA,IAAIC,MAAM,GAAG,cAAc;EACvBC,MAAM,GAAG,cAAc;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAACC,QAAQ,EAAE;EAC/B,OAAO,UAASC,MAAM,EAAE;IACtB,IAAIC,GAAG,GAAGR,MAAM,CAACO,MAAM,CAAC;IACxB,IAAIC,GAAG,IAAIL,MAAM,EAAE;MACjB,OAAOF,UAAU,CAACM,MAAM,CAAC;IAC3B;IACA,IAAIC,GAAG,IAAIJ,MAAM,EAAE;MACjB,OAAOF,UAAU,CAACK,MAAM,CAAC;IAC3B;IACA,OAAOR,WAAW,CAACQ,MAAM,EAAED,QAAQ,CAACC,MAAM,CAAC,CAAC;EAC9C,CAAC;AACH;AAEA,eAAeF,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06fa5312de21d4d3e6bc15d82957783691d47217e560c5415aecf67ffbe137a5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06fa5312de21d4d3e6bc15d82957783691d47217e560c5415aecf67ffbe137a5.json new file mode 100644 index 00000000..ba25351c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/06fa5312de21d4d3e6bc15d82957783691d47217e560c5415aecf67ffbe137a5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { filterOption } from './helper.mjs';\nimport { inputProps } from '../../input/src/input.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { isString, isFunction } from '@vue/shared';\nimport { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nconst mentionProps = buildProps({\n ...inputProps,\n options: {\n type: definePropType(Array),\n default: () => []\n },\n prefix: {\n type: definePropType([String, Array]),\n default: \"@\",\n validator: val => {\n if (isString(val)) return val.length === 1;\n return val.every(v => isString(v) && v.length === 1);\n }\n },\n split: {\n type: String,\n default: \" \",\n validator: val => val.length === 1\n },\n filterOption: {\n type: definePropType([Boolean, Function]),\n default: () => filterOption,\n validator: val => {\n if (val === false) return true;\n return isFunction(val);\n }\n },\n placement: {\n type: definePropType(String),\n default: \"bottom\"\n },\n showArrow: Boolean,\n offset: {\n type: Number,\n default: 0\n },\n whole: Boolean,\n checkIsWhole: {\n type: definePropType(Function)\n },\n modelValue: String,\n loading: Boolean,\n popperClass: {\n type: String,\n default: \"\"\n },\n popperOptions: {\n type: definePropType(Object),\n default: () => ({})\n }\n});\nconst mentionEmits = {\n [UPDATE_MODEL_EVENT]: value => isString(value),\n input: value => isString(value),\n search: (pattern, prefix) => isString(pattern) && isString(prefix),\n select: (option, prefix) => isString(option.value) && isString(prefix),\n focus: evt => evt instanceof FocusEvent,\n blur: evt => evt instanceof FocusEvent\n};\nexport { mentionEmits, mentionProps };","map":{"version":3,"names":["mentionProps","buildProps","inputProps","options","type","definePropType","Array","default","prefix","String","validator","val","isString","length","every","v","split","filterOption","Boolean","Function","isFunction","placement","showArrow","offset","Number","whole","checkIsWhole","modelValue","loading","popperClass","popperOptions","Object","mentionEmits","UPDATE_MODEL_EVENT","value","input","search","pattern","select","option","focus","evt","FocusEvent","blur"],"sources":["../../../../../../packages/components/mention/src/mention.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isFunction,\n isString,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { inputProps } from '@element-plus/components/input'\nimport { filterOption } from './helper'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Mention from './mention.vue'\nimport type { MentionOption } from './types'\nimport type { Options } from '@element-plus/components/popper'\n\nexport const mentionProps = buildProps({\n ...inputProps,\n /**\n * @description mention options list\n */\n options: {\n type: definePropType(Array),\n default: () => [],\n },\n /**\n * @description prefix character to trigger mentions. The string length must be exactly 1.\n */\n prefix: {\n type: definePropType([String, Array]),\n default: '@',\n validator: (val: string | string[]) => {\n if (isString(val)) return val.length === 1\n return val.every((v) => isString(v) && v.length === 1)\n },\n },\n /**\n * @description character to split mentions. The string length must be exactly 1.\n */\n split: {\n type: String,\n default: ' ',\n validator: (val: string) => val.length === 1,\n },\n /**\n * @description customize filter option logic.\n */\n filterOption: {\n type: definePropType([Boolean, Function]),\n default: () => filterOption,\n validator: (val) => {\n if (val === false) return true\n return isFunction(val)\n },\n },\n /**\n * @description set popup placement\n */\n placement: {\n type: definePropType<'bottom' | 'top'>(String),\n default: 'bottom',\n },\n /**\n * @description whether the dropdown panel has an arrow\n */\n showArrow: Boolean,\n /**\n * @description offset of the dropdown panel\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description when backspace is pressed to delete, whether the mention content is deleted as a whole\n */\n whole: Boolean,\n /**\n * @description when backspace is pressed to delete, check if the mention is a whole\n */\n checkIsWhole: {\n type: definePropType<(pattern: string, prefix: string) => boolean>(\n Function\n ),\n },\n /**\n * @description input value\n */\n modelValue: String,\n /**\n * @description whether the dropdown panel of mentions is in a loading state.\n */\n loading: Boolean,\n /**\n * @description custom class name for dropdown panel\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType>(Object),\n default: () => ({} as Partial),\n },\n})\n\nexport const mentionEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n search: (pattern: string, prefix: string) =>\n isString(pattern) && isString(prefix),\n select: (option: MentionOption, prefix: string) =>\n isString(option.value) && isString(prefix),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n}\n\nexport type MentionEmits = typeof mentionEmits\nexport type MentionProps = ExtractPropTypes\nexport type MentionInstance = InstanceType & unknown\n\nexport type { MentionOption } from './types'\n"],"mappings":";;;;;AASY,MAACA,YAAY,GAAGC,UAAU,CAAC;EACrC,GAAGC,UAAU;EACbC,OAAO,EAAE;IACPC,IAAI,EAAEC,cAAc,CAACC,KAAK,CAAC;IAC3BC,OAAO,EAAEA,CAAA,KAAM;EACnB,CAAG;EACDC,MAAM,EAAE;IACNJ,IAAI,EAAEC,cAAc,CAAC,CAACI,MAAM,EAAEH,KAAK,CAAC,CAAC;IACrCC,OAAO,EAAE,GAAG;IACZG,SAAS,EAAGC,GAAG,IAAK;MAClB,IAAIC,QAAQ,CAACD,GAAG,CAAC,EACf,OAAOA,GAAG,CAACE,MAAM,KAAK,CAAC;MACzB,OAAOF,GAAG,CAACG,KAAK,CAAEC,CAAC,IAAKH,QAAQ,CAACG,CAAC,CAAC,IAAIA,CAAC,CAACF,MAAM,KAAK,CAAC,CAAC;IAC5D;EACA,CAAG;EACDG,KAAK,EAAE;IACLZ,IAAI,EAAEK,MAAM;IACZF,OAAO,EAAE,GAAG;IACZG,SAAS,EAAGC,GAAG,IAAKA,GAAG,CAACE,MAAM,KAAK;EACvC,CAAG;EACDI,YAAY,EAAE;IACZb,IAAI,EAAEC,cAAc,CAAC,CAACa,OAAO,EAAEC,QAAQ,CAAC,CAAC;IACzCZ,OAAO,EAAEA,CAAA,KAAMU,YAAY;IAC3BP,SAAS,EAAGC,GAAG,IAAK;MAClB,IAAIA,GAAG,KAAK,KAAK,EACf,OAAO,IAAI;MACb,OAAOS,UAAU,CAACT,GAAG,CAAC;IAC5B;EACA,CAAG;EACDU,SAAS,EAAE;IACTjB,IAAI,EAAEC,cAAc,CAACI,MAAM,CAAC;IAC5BF,OAAO,EAAE;EACb,CAAG;EACDe,SAAS,EAAEJ,OAAO;EAClBK,MAAM,EAAE;IACNnB,IAAI,EAAEoB,MAAM;IACZjB,OAAO,EAAE;EACb,CAAG;EACDkB,KAAK,EAAEP,OAAO;EACdQ,YAAY,EAAE;IACZtB,IAAI,EAAEC,cAAc,CAACc,QAAQ;EACjC,CAAG;EACDQ,UAAU,EAAElB,MAAM;EAClBmB,OAAO,EAAEV,OAAO;EAChBW,WAAW,EAAE;IACXzB,IAAI,EAAEK,MAAM;IACZF,OAAO,EAAE;EACb,CAAG;EACDuB,aAAa,EAAE;IACb1B,IAAI,EAAEC,cAAc,CAAC0B,MAAM,CAAC;IAC5BxB,OAAO,EAAEA,CAAA,MAAO,EAAE;EACtB;AACA,CAAC;AACW,MAACyB,YAAY,GAAG;EAC1B,CAACC,kBAAkB,GAAIC,KAAK,IAAKtB,QAAQ,CAACsB,KAAK,CAAC;EAChDC,KAAK,EAAGD,KAAK,IAAKtB,QAAQ,CAACsB,KAAK,CAAC;EACjCE,MAAM,EAAEA,CAACC,OAAO,EAAE7B,MAAM,KAAKI,QAAQ,CAACyB,OAAO,CAAC,IAAIzB,QAAQ,CAACJ,MAAM,CAAC;EAClE8B,MAAM,EAAEA,CAACC,MAAM,EAAE/B,MAAM,KAAKI,QAAQ,CAAC2B,MAAM,CAACL,KAAK,CAAC,IAAItB,QAAQ,CAACJ,MAAM,CAAC;EACtEgC,KAAK,EAAGC,GAAG,IAAKA,GAAG,YAAYC,UAAU;EACzCC,IAAI,EAAGF,GAAG,IAAKA,GAAG,YAAYC;AAChC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/073966dd70380b6699c2034ddef0008968efe94fd7deebbb7d16c1c7bc688648.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/073966dd70380b6699c2034ddef0008968efe94fd7deebbb7d16c1c7bc688648.json new file mode 100644 index 00000000..62473a85 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/073966dd70380b6699c2034ddef0008968efe94fd7deebbb7d16c1c7bc688648.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07519f4abcd9ce94163f1e4b7555018b5206b9b03adb54565e38e6f5d0aa9873.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07519f4abcd9ce94163f1e4b7555018b5206b9b03adb54565e38e6f5d0aa9873.json new file mode 100644 index 00000000..b1bcf666 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07519f4abcd9ce94163f1e4b7555018b5206b9b03adb54565e38e6f5d0aa9873.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps } from '../../../utils/vue/props/runtime.mjs';\nconst popperArrowProps = buildProps({\n arrowOffset: {\n type: Number,\n default: 5\n }\n});\nconst usePopperArrowProps = popperArrowProps;\nexport { popperArrowProps, usePopperArrowProps };","map":{"version":3,"names":["popperArrowProps","buildProps","arrowOffset","type","Number","default","usePopperArrowProps"],"sources":["../../../../../../packages/components/popper/src/arrow.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Arrow from './arrow.vue'\n\nexport const popperArrowProps = buildProps({\n arrowOffset: {\n type: Number,\n default: 5,\n },\n} as const)\nexport type PopperArrowProps = ExtractPropTypes\n\nexport type PopperArrowInstance = InstanceType & unknown\n\n/** @deprecated use `popperArrowProps` instead, and it will be deprecated in the next major version */\nexport const usePopperArrowProps = popperArrowProps\n\n/** @deprecated use `PopperArrowProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperArrowProps = PopperArrowProps\n\n/** @deprecated use `PopperArrowInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowInstance = PopperArrowInstance\n"],"mappings":";AACY,MAACA,gBAAgB,GAAGC,UAAU,CAAC;EACzCC,WAAW,EAAE;IACXC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACC,mBAAmB,GAAGN,gBAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07896909aa77f1b0da8aa9dda27ec954c708eedb8dfc9f0f81578af1d945c500.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07896909aa77f1b0da8aa9dda27ec954c708eedb8dfc9f0f81578af1d945c500.json new file mode 100644 index 00000000..18c49b6b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07896909aa77f1b0da8aa9dda27ec954c708eedb8dfc9f0f81578af1d945c500.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseIteratee from './_baseIteratee.js';\nimport createInverter from './_createInverter.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\nvar invertBy = createInverter(function (result, value, key) {\n if (value != null && typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n}, baseIteratee);\nexport default invertBy;","map":{"version":3,"names":["baseIteratee","createInverter","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","invertBy","result","value","key","call","push"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/invertBy.js"],"sourcesContent":["import baseIteratee from './_baseIteratee.js';\nimport createInverter from './_createInverter.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\nvar invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n}, baseIteratee);\n\nexport default invertBy;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,cAAc,MAAM,sBAAsB;;AAEjD;AACA,IAAIC,WAAW,GAAGC,MAAM,CAACC,SAAS;;AAElC;AACA,IAAIC,cAAc,GAAGH,WAAW,CAACG,cAAc;;AAE/C;AACA;AACA;AACA;AACA;AACA,IAAIC,oBAAoB,GAAGJ,WAAW,CAACK,QAAQ;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,QAAQ,GAAGP,cAAc,CAAC,UAASQ,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE;EACzD,IAAID,KAAK,IAAI,IAAI,IACb,OAAOA,KAAK,CAACH,QAAQ,IAAI,UAAU,EAAE;IACvCG,KAAK,GAAGJ,oBAAoB,CAACM,IAAI,CAACF,KAAK,CAAC;EAC1C;EAEA,IAAIL,cAAc,CAACO,IAAI,CAACH,MAAM,EAAEC,KAAK,CAAC,EAAE;IACtCD,MAAM,CAACC,KAAK,CAAC,CAACG,IAAI,CAACF,GAAG,CAAC;EACzB,CAAC,MAAM;IACLF,MAAM,CAACC,KAAK,CAAC,GAAG,CAACC,GAAG,CAAC;EACvB;AACF,CAAC,EAAEX,YAAY,CAAC;AAEhB,eAAeQ,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07beacef39a7ccc1cd8892978ba063c9689d6de14ee5bd7c724910e35a4cea1a.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07beacef39a7ccc1cd8892978ba063c9689d6de14ee5bd7c724910e35a4cea1a.json new file mode 100644 index 00000000..6f078c41 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07beacef39a7ccc1cd8892978ba063c9689d6de14ee5bd7c724910e35a4cea1a.json @@ -0,0 +1 @@ +{"ast":null,"code":"const datePickTypes = [\"year\", \"years\", \"month\", \"months\", \"date\", \"dates\", \"week\", \"datetime\", \"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"];\nconst WEEK_DAYS = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport { WEEK_DAYS, datePickTypes };","map":{"version":3,"names":["datePickTypes","WEEK_DAYS"],"sources":["../../../../packages/constants/date.ts"],"sourcesContent":["export const datePickTypes = [\n 'year',\n 'years',\n 'month',\n 'months',\n 'date',\n 'dates',\n 'week',\n 'datetime',\n 'datetimerange',\n 'daterange',\n 'monthrange',\n 'yearrange',\n] as const\n\nexport const WEEK_DAYS = [\n 'sun',\n 'mon',\n 'tue',\n 'wed',\n 'thu',\n 'fri',\n 'sat',\n] as const\n\nexport type DatePickType = typeof datePickTypes[number]\n"],"mappings":"AAAY,MAACA,aAAa,GAAG,CAC3B,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,CACb;AACY,MAACC,SAAS,GAAG,CACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,CACP","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07c295ee7d4006b9af8b771e1bfe7233b49d60e00993b60849449c38076220c0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07c295ee7d4006b9af8b771e1bfe7233b49d60e00993b60849449c38076220c0.json new file mode 100644 index 00000000..43ef3422 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07c295ee7d4006b9af8b771e1bfe7233b49d60e00993b60849449c38076220c0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, useSlots, computed, provide, getCurrentInstance, openBlock, createElementBlock, normalizeClass, unref, createBlock, withCtx, normalizeStyle, renderSlot, createElementVNode, toDisplayString } from 'vue';\nimport { useTree } from './composables/useTree.mjs';\nimport ElTreeNode from './tree-node.mjs';\nimport { treeProps, treeEmits, ROOT_TREE_INJECTION_KEY } from './virtual-tree.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport FixedSizeList from '../../virtual-list/src/components/fixed-size-list.mjs';\nimport { formItemContextKey } from '../../form/src/constants.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst __default__ = defineComponent({\n name: \"ElTreeV2\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: treeProps,\n emits: treeEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const slots = useSlots();\n const treeNodeSize = computed(() => props.itemSize);\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx: {\n emit,\n slots\n },\n props,\n instance: getCurrentInstance()\n });\n provide(formItemContextKey, void 0);\n const {\n t\n } = useLocale();\n const ns = useNamespace(\"tree\");\n const {\n flattenTree,\n isNotEmpty,\n listRef,\n toggleExpand,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo\n } = useTree(props, emit);\n expose({\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(ns).b(), {\n [unref(ns).m(\"highlight-current\")]: _ctx.highlightCurrent\n }]),\n role: \"tree\"\n }, [unref(isNotEmpty) ? (openBlock(), createBlock(unref(FixedSizeList), {\n key: 0,\n ref_key: \"listRef\",\n ref: listRef,\n \"class-name\": unref(ns).b(\"virtual-list\"),\n data: unref(flattenTree),\n total: unref(flattenTree).length,\n height: _ctx.height,\n \"item-size\": unref(treeNodeSize),\n \"perf-mode\": _ctx.perfMode\n }, {\n default: withCtx(({\n data,\n index,\n style\n }) => [(openBlock(), createBlock(ElTreeNode, {\n key: data[index].key,\n style: normalizeStyle(style),\n node: data[index],\n expanded: unref(isExpanded)(data[index]),\n \"show-checkbox\": _ctx.showCheckbox,\n checked: unref(isChecked)(data[index]),\n indeterminate: unref(isIndeterminate)(data[index]),\n \"item-size\": unref(treeNodeSize),\n disabled: unref(isDisabled)(data[index]),\n current: unref(isCurrent)(data[index]),\n \"hidden-expand-icon\": unref(isForceHiddenExpandIcon)(data[index]),\n onClick: unref(handleNodeClick),\n onToggle: unref(toggleExpand),\n onCheck: unref(handleNodeCheck),\n onDrop: unref(handleNodeDrop)\n }, null, 8, [\"style\", \"node\", \"expanded\", \"show-checkbox\", \"checked\", \"indeterminate\", \"item-size\", \"disabled\", \"current\", \"hidden-expand-icon\", \"onClick\", \"onToggle\", \"onCheck\", \"onDrop\"]))]),\n _: 1\n }, 8, [\"class-name\", \"data\", \"total\", \"height\", \"item-size\", \"perf-mode\"])) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(ns).e(\"empty-block\"))\n }, [renderSlot(_ctx.$slots, \"empty\", {}, () => {\n var _a;\n return [createElementVNode(\"span\", {\n class: normalizeClass(unref(ns).e(\"empty-text\"))\n }, toDisplayString((_a = _ctx.emptyText) != null ? _a : unref(t)(\"el.tree.emptyText\")), 3)];\n })], 2))], 2);\n };\n }\n});\nvar TreeV2 = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"tree.vue\"]]);\nexport { TreeV2 as default };","map":{"version":3,"names":["name","slots","useSlots","treeNodeSize","computed","props","itemSize","provide","ROOT_TREE_INJECTION_KEY","ctx","emit","instance","getCurrentInstance","formItemContextKey","t","useLocale","ns","useNamespace","flattenTree","isNotEmpty","listRef","toggleExpand","isExpanded","isIndeterminate","isChecked","isDisabled","isCurrent","isForceHiddenExpandIcon","handleNodeClick","handleNodeDrop","handleNodeCheck","toggleCheckbox","getCurrentNode","getCurrentKey","setCurrentKey","getCheckedKeys","getCheckedNodes","getHalfCheckedKeys","getHalfCheckedNodes","setChecked","setCheckedKeys","filter","setData","getNode","expandNode","collapseNode","setExpandedKeys","scrollToNode","scrollTo","useTree","expose","_ctx","_cache"],"sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;;;;;;;mCAsDc;EACZA,IAAM;AACR;;;;;;;;;;IAKA,MAAMC,KAAA,GAAQC,QAAS;IAEvB,MAAMC,YAAe,GAAAC,QAAA,CAAS,MAAMC,KAAA,CAAMC,QAAQ;IAElDC,OAAA,CAAQC,uBAAyB;MAC/BC,GAAK;QACHC,IAAA;QACAT;MAAA,CACF;MACAI,KAAA;MACAM,QAAA,EAAUC,kBAAmB;IAAA,CAC9B;IACDL,OAAA,CAAQM,kBAAA,EAAoB,KAAS;IAC/B;MAAEC;IAAE,IAAIC,SAAU;IAClB,MAAAC,EAAA,GAAKC,YAAA,CAAa,MAAM;IACxB;MACJC,WAAA;MACAC,UAAA;MACAC,OAAA;MACAC,YAAA;MACAC,UAAA;MACAC,eAAA;MACAC,SAAA;MACAC,UAAA;MACAC,SAAA;MACAC,uBAAA;MACAC,eAAA;MACAC,cAAA;MACAC,eAAA;MAAAC,cAAA;MAEAC,cAAA;MACAC,aAAA;MACAC,aAAA;MACAC,cAAA;MACAC,eAAA;MACAC,kBAAA;MACAC,mBAAA;MACAC,UAAA;MACAC,cAAA;MACAC,MAAA;MACAC,OAAA;MACAC,OAAA;MACAC,UAAA;MACAC,YAAA;MACAC,eAAA;MACAC,YAAA;MACAC;IAAA,CACA,GAAAC,OAAA,CAAA5C,KAAA,EAAAK,IAAA;IACFwC,MAAY;MAECnB,cAAA;MACXC,cAAA;MACAC,aAAA;MACAC,aAAA;MACAC,cAAA;MACAC,eAAA;MACAC,kBAAA;MACAC,mBAAA;MACAC,UAAA;MACAC,cAAA;MACAC,MAAA;MACAC,OAAA;MACAC,OAAA;MACAC,UAAA;MACAC,YAAA;MACAC,eAAA;MACAC,YAAA;MACAC;IAAA,CACA;IACF,OAAC,CAAAG,IAAA,EAAAC,MAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07dc149d17380368e3f697cdb6cafd1ae609a17d99f8f47851b27149d6262f43.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07dc149d17380368e3f697cdb6cafd1ae609a17d99f8f47851b27149d6262f43.json new file mode 100644 index 00000000..4c8da455 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/07dc149d17380368e3f697cdb6cafd1ae609a17d99f8f47851b27149d6262f43.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { computed } from 'vue';\nfunction useMenu(instance, currentIndex) {\n const indexPath = computed(() => {\n let parent = instance.parent;\n const path = [currentIndex.value];\n while (parent.type.name !== \"ElMenu\") {\n if (parent.props.index) {\n path.unshift(parent.props.index);\n }\n parent = parent.parent;\n }\n return path;\n });\n const parentMenu = computed(() => {\n let parent = instance.parent;\n while (parent && ![\"ElMenu\", \"ElSubMenu\"].includes(parent.type.name)) {\n parent = parent.parent;\n }\n return parent;\n });\n return {\n parentMenu,\n indexPath\n };\n}\nexport { useMenu as default };","map":{"version":3,"names":["useMenu","instance","currentIndex","indexPath","computed","parent","path","value","type","name","props","index","unshift","parentMenu","includes"],"sources":["../../../../../../packages/components/menu/src/use-menu.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { ComponentInternalInstance, Ref } from 'vue'\n\nexport default function useMenu(\n instance: ComponentInternalInstance,\n currentIndex: Ref\n) {\n const indexPath = computed(() => {\n let parent = instance.parent!\n const path = [currentIndex.value]\n while (parent.type.name !== 'ElMenu') {\n if (parent.props.index) {\n path.unshift(parent.props.index as string)\n }\n parent = parent.parent!\n }\n return path\n })\n\n const parentMenu = computed(() => {\n let parent = instance.parent\n while (parent && !['ElMenu', 'ElSubMenu'].includes(parent.type.name!)) {\n parent = parent.parent\n }\n return parent!\n })\n\n return {\n parentMenu,\n indexPath,\n }\n}\n"],"mappings":";AACe,SAASA,OAAOA,CAACC,QAAQ,EAAEC,YAAY,EAAE;EACtD,MAAMC,SAAS,GAAGC,QAAQ,CAAC,MAAM;IAC/B,IAAIC,MAAM,GAAGJ,QAAQ,CAACI,MAAM;IAC5B,MAAMC,IAAI,GAAG,CAACJ,YAAY,CAACK,KAAK,CAAC;IACjC,OAAOF,MAAM,CAACG,IAAI,CAACC,IAAI,KAAK,QAAQ,EAAE;MACpC,IAAIJ,MAAM,CAACK,KAAK,CAACC,KAAK,EAAE;QACtBL,IAAI,CAACM,OAAO,CAACP,MAAM,CAACK,KAAK,CAACC,KAAK,CAAC;MACxC;MACMN,MAAM,GAAGA,MAAM,CAACA,MAAM;IAC5B;IACI,OAAOC,IAAI;EACf,CAAG,CAAC;EACF,MAAMO,UAAU,GAAGT,QAAQ,CAAC,MAAM;IAChC,IAAIC,MAAM,GAAGJ,QAAQ,CAACI,MAAM;IAC5B,OAAOA,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAACS,QAAQ,CAACT,MAAM,CAACG,IAAI,CAACC,IAAI,CAAC,EAAE;MACpEJ,MAAM,GAAGA,MAAM,CAACA,MAAM;IAC5B;IACI,OAAOA,MAAM;EACjB,CAAG,CAAC;EACF,OAAO;IACLQ,UAAU;IACVV;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08070d282f5b9259d0325e625c97218034d83ccdcc3104d6a6affbb95ddb98f5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08070d282f5b9259d0325e625c97218034d83ccdcc3104d6a6affbb95ddb98f5.json new file mode 100644 index 00000000..306345e5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08070d282f5b9259d0325e625c97218034d83ccdcc3104d6a6affbb95ddb98f5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, ref, provide, watch, unref, onMounted, onBeforeUnmount, nextTick, renderSlot } from 'vue';\nimport { isNil } from 'lodash-unified';\nimport { useFocusReason, tryFocus, createFocusOutPreventedEvent, getEdges, focusableStack, focusFirstDescendant, obtainAllFocusableElements, isFocusCausedByUserEvent } from './utils.mjs';\nimport { ON_TRAP_FOCUS_EVT, ON_RELEASE_FOCUS_EVT, FOCUS_TRAP_INJECTION_KEY, FOCUS_AFTER_TRAPPED, FOCUS_AFTER_TRAPPED_OPTS, FOCUS_AFTER_RELEASED } from './tokens.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useEscapeKeydown } from '../../../hooks/use-escape-keydown/index.mjs';\nimport { EVENT_CODE } from '../../../constants/aria.mjs';\nimport { isString } from '@vue/shared';\nconst _sfc_main = defineComponent({\n name: \"ElFocusTrap\",\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object,\n focusStartEl: {\n type: [Object, String],\n default: \"first\"\n }\n },\n emits: [ON_TRAP_FOCUS_EVT, ON_RELEASE_FOCUS_EVT, \"focusin\", \"focusout\", \"focusout-prevented\", \"release-requested\"],\n setup(props, {\n emit\n }) {\n const forwardRef = ref();\n let lastFocusBeforeTrapped;\n let lastFocusAfterTrapped;\n const {\n focusReason\n } = useFocusReason();\n useEscapeKeydown(event => {\n if (props.trapped && !focusLayer.paused) {\n emit(\"release-requested\", event);\n }\n });\n const focusLayer = {\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n };\n const onKeydown = e => {\n if (!props.loop && !props.trapped) return;\n if (focusLayer.paused) return;\n const {\n code,\n altKey,\n ctrlKey,\n metaKey,\n currentTarget,\n shiftKey\n } = e;\n const {\n loop\n } = props;\n const isTabbing = code === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey;\n const currentFocusingEl = document.activeElement;\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget;\n const [first, last] = getEdges(container);\n const isTabbable = first && last;\n if (!isTabbable) {\n if (currentFocusingEl === container) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value\n });\n emit(\"focusout-prevented\", focusoutPreventedEvent);\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value\n });\n emit(\"focusout-prevented\", focusoutPreventedEvent);\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault();\n if (loop) tryFocus(first, true);\n }\n } else if (shiftKey && [first, container].includes(currentFocusingEl)) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value\n });\n emit(\"focusout-prevented\", focusoutPreventedEvent);\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault();\n if (loop) tryFocus(last, true);\n }\n }\n }\n }\n };\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown\n });\n watch(() => props.focusTrapEl, focusTrapEl => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl;\n }\n }, {\n immediate: true\n });\n watch([forwardRef], ([forwardRef2], [oldForwardRef]) => {\n if (forwardRef2) {\n forwardRef2.addEventListener(\"keydown\", onKeydown);\n forwardRef2.addEventListener(\"focusin\", onFocusIn);\n forwardRef2.addEventListener(\"focusout\", onFocusOut);\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener(\"keydown\", onKeydown);\n oldForwardRef.removeEventListener(\"focusin\", onFocusIn);\n oldForwardRef.removeEventListener(\"focusout\", onFocusOut);\n }\n });\n const trapOnFocus = e => {\n emit(ON_TRAP_FOCUS_EVT, e);\n };\n const releaseOnFocus = e => emit(ON_RELEASE_FOCUS_EVT, e);\n const onFocusIn = e => {\n const trapContainer = unref(forwardRef);\n if (!trapContainer) return;\n const target = e.target;\n const relatedTarget = e.relatedTarget;\n const isFocusedInTrap = target && trapContainer.contains(target);\n if (!props.trapped) {\n const isPrevFocusedInTrap = relatedTarget && trapContainer.contains(relatedTarget);\n if (!isPrevFocusedInTrap) {\n lastFocusBeforeTrapped = relatedTarget;\n }\n }\n if (isFocusedInTrap) emit(\"focusin\", e);\n if (focusLayer.paused) return;\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target;\n } else {\n tryFocus(lastFocusAfterTrapped, true);\n }\n }\n };\n const onFocusOut = e => {\n const trapContainer = unref(forwardRef);\n if (focusLayer.paused || !trapContainer) return;\n if (props.trapped) {\n const relatedTarget = e.relatedTarget;\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n setTimeout(() => {\n if (!focusLayer.paused && props.trapped) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value\n });\n emit(\"focusout-prevented\", focusoutPreventedEvent);\n if (!focusoutPreventedEvent.defaultPrevented) {\n tryFocus(lastFocusAfterTrapped, true);\n }\n }\n }, 0);\n }\n } else {\n const target = e.target;\n const isFocusedInTrap = target && trapContainer.contains(target);\n if (!isFocusedInTrap) emit(\"focusout\", e);\n }\n };\n async function startTrap() {\n await nextTick();\n const trapContainer = unref(forwardRef);\n if (trapContainer) {\n focusableStack.push(focusLayer);\n const prevFocusedElement = trapContainer.contains(document.activeElement) ? lastFocusBeforeTrapped : document.activeElement;\n lastFocusBeforeTrapped = prevFocusedElement;\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement);\n if (!isPrevFocusContained) {\n const focusEvent = new Event(FOCUS_AFTER_TRAPPED, FOCUS_AFTER_TRAPPED_OPTS);\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus);\n trapContainer.dispatchEvent(focusEvent);\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl;\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl);\n if (document.activeElement !== focusStartEl) {\n focusStartEl = \"first\";\n }\n }\n if (focusStartEl === \"first\") {\n focusFirstDescendant(obtainAllFocusableElements(trapContainer), true);\n }\n if (document.activeElement === prevFocusedElement || focusStartEl === \"container\") {\n tryFocus(trapContainer);\n }\n });\n }\n }\n }\n }\n function stopTrap() {\n const trapContainer = unref(forwardRef);\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus);\n const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {\n ...FOCUS_AFTER_TRAPPED_OPTS,\n detail: {\n focusReason: focusReason.value\n }\n });\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus);\n trapContainer.dispatchEvent(releasedEvent);\n if (!releasedEvent.defaultPrevented && (focusReason.value == \"keyboard\" || !isFocusCausedByUserEvent() || trapContainer.contains(document.activeElement))) {\n tryFocus(lastFocusBeforeTrapped != null ? lastFocusBeforeTrapped : document.body);\n }\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus);\n focusableStack.remove(focusLayer);\n }\n }\n onMounted(() => {\n if (props.trapped) {\n startTrap();\n }\n watch(() => props.trapped, trapped => {\n if (trapped) {\n startTrap();\n } else {\n stopTrap();\n }\n });\n });\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap();\n }\n if (forwardRef.value) {\n forwardRef.value.removeEventListener(\"keydown\", onKeydown);\n forwardRef.value.removeEventListener(\"focusin\", onFocusIn);\n forwardRef.value.removeEventListener(\"focusout\", onFocusOut);\n forwardRef.value = void 0;\n }\n });\n return {\n onKeydown\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return renderSlot(_ctx.$slots, \"default\", {\n handleKeydown: _ctx.onKeydown\n });\n}\nvar ElFocusTrap = /* @__PURE__ */_export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"focus-trap.vue\"]]);\nexport { ElFocusTrap as default };","map":{"version":3,"names":["_sfc_main","defineComponent","name","inheritAttrs","props","loop","Boolean","trapped","focusTrapEl","Object","focusStartEl","type","String","default","emits","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","setup","emit","forwardRef","ref","lastFocusBeforeTrapped","lastFocusAfterTrapped","focusReason","useFocusReason","useEscapeKeydown","event","focusLayer","paused","pause","resume","onKeydown","e","code","altKey","ctrlKey","metaKey","currentTarget","shiftKey","isTabbing","EVENT_CODE","tab","currentFocusingEl","document","activeElement","container","first","last","getEdges","isTabbable","focusoutPreventedEvent","createFocusOutPreventedEvent","value","defaultPrevented","preventDefault","tryFocus","includes","provide","FOCUS_TRAP_INJECTION_KEY","focusTrapRef","watch","immediate","forwardRef2","oldForwardRef","addEventListener","onFocusIn","onFocusOut","removeEventListener","trapOnFocus","releaseOnFocus","trapContainer","unref","target","relatedTarget","isFocusedInTrap","contains","isPrevFocusedInTrap","isNil","setTimeout","startTrap","nextTick","focusableStack","push","prevFocusedElement","isPrevFocusContained","focusEvent","Event","FOCUS_AFTER_TRAPPED","FOCUS_AFTER_TRAPPED_OPTS","dispatchEvent","isString","focusFirstDescendant","obtainAllFocusableElements","stopTrap","releasedEvent","CustomEvent","FOCUS_AFTER_RELEASED","detail","isFocusCausedByUserEvent","body","remove","onMounted","onBeforeUnmount","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","renderSlot","$slots","handleKeydown","ElFocusTrap","_export_sfc"],"sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08142f658539721f63463f038691968ce073ee20d42d1770681edaab0eae676b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08142f658539721f63463f038691968ce073ee20d42d1770681edaab0eae676b.json new file mode 100644 index 00000000..aa5e5457 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08142f658539721f63463f038691968ce073ee20d42d1770681edaab0eae676b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n class: \"login-container\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_el_card, {\n class: \"login-card\"\n }, {\n default: _withCtx(() => [_cache[3] || (_cache[3] = _createElementVNode(\"h2\", null, \"登录指挥控制中心\", -1 /* HOISTED */)), _createVNode(_component_el_form, {\n model: $setup.form,\n onSubmit: _withModifiers($setup.onLogin, [\"prevent\"])\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"用户名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.form.username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.form.username = $event),\n autocomplete: \"off\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"密码\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.form.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.form.password = $event),\n type: \"password\",\n autocomplete: \"off\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, null, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.onLogin,\n style: {\n \"width\": \"100%\"\n },\n loading: $setup.loading\n }, {\n default: _withCtx(() => _cache[2] || (_cache[2] = [_createTextVNode(\"登录\")])),\n _: 1 /* STABLE */,\n __: [2]\n }, 8 /* PROPS */, [\"onClick\", \"loading\"])]),\n _: 1 /* STABLE */\n }), $setup.error ? (_openBlock(), _createBlock(_component_el_alert, {\n key: 0,\n title: $setup.error,\n type: \"error\",\n \"show-icon\": \"\",\n style: {\n \"margin-top\": \"10px\"\n }\n }, null, 8 /* PROPS */, [\"title\"])) : _createCommentVNode(\"v-if\", true)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\", \"onSubmit\"])]),\n _: 1 /* STABLE */,\n __: [3]\n })]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_el_card","_createElementVNode","_component_el_form","model","$setup","form","onSubmit","_withModifiers","onLogin","_component_el_form_item","label","_component_el_input","username","$event","autocomplete","password","type","_component_el_button","onClick","style","loading","_cache","error","_createBlock","_component_el_alert","title"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\LoginView.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":";;EACOA,KAAK,EAAC;AAAiB;;;;;;;;uBAA5BC,mBAAA,CAgBM,OAhBNC,UAgBM,GAfJC,YAAA,CAcUC,kBAAA;IAdDJ,KAAK,EAAC;EAAY;sBACzB,MAAiB,C,0BAAjBK,mBAAA,CAAiB,YAAb,UAAQ,sBACZF,YAAA,CAWUG,kBAAA;MAXAC,KAAK,EAAEC,MAAA,CAAAC,IAAI;MAAGC,QAAM,EAAAC,cAAA,CAAUH,MAAA,CAAAI,OAAO;;wBAC7C,MAEe,CAFfT,YAAA,CAEeU,uBAAA;QAFDC,KAAK,EAAC;MAAK;0BACvB,MAAuD,CAAvDX,YAAA,CAAuDY,mBAAA;sBAApCP,MAAA,CAAAC,IAAI,CAACO,QAAQ;qEAAbR,MAAA,CAAAC,IAAI,CAACO,QAAQ,GAAAC,MAAA;UAAEC,YAAY,EAAC;;;UAEjDf,YAAA,CAEeU,uBAAA;QAFDC,KAAK,EAAC;MAAI;0BACtB,MAAuE,CAAvEX,YAAA,CAAuEY,mBAAA;sBAApDP,MAAA,CAAAC,IAAI,CAACU,QAAQ;qEAAbX,MAAA,CAAAC,IAAI,CAACU,QAAQ,GAAAF,MAAA;UAAEG,IAAI,EAAC,UAAU;UAACF,YAAY,EAAC;;;UAEjEf,YAAA,CAEeU,uBAAA;0BADb,MAA+F,CAA/FV,YAAA,CAA+FkB,oBAAA;UAApFD,IAAI,EAAC,SAAS;UAAEE,OAAK,EAAEd,MAAA,CAAAI,OAAO;UAAEW,KAAkB,EAAlB;YAAA;UAAA,CAAkB;UAAEC,OAAO,EAAEhB,MAAA,CAAAgB;;4BAAS,MAAEC,MAAA,QAAAA,MAAA,O,iBAAF,IAAE,E;;;;;UAErEjB,MAAA,CAAAkB,KAAK,I,cAArBC,YAAA,CAAuFC,mBAAA;;QAA/DC,KAAK,EAAErB,MAAA,CAAAkB,KAAK;QAAEN,IAAI,EAAC,OAAO;QAAC,WAAS,EAAT,EAAS;QAACG,KAAuB,EAAvB;UAAA;QAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/084cf5a661d194820e55f51cd5416ed587b459597eee1c22f099d5606df7f72b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/084cf5a661d194820e55f51cd5416ed587b459597eee1c22f099d5606df7f72b.json new file mode 100644 index 00000000..c598882f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/084cf5a661d194820e55f51cd5416ed587b459597eee1c22f099d5606df7f72b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\nexport default isArrayLikeObject;","map":{"version":3,"names":["isArrayLike","isObjectLike","isArrayLikeObject","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isArrayLikeObject.js"],"sourcesContent":["import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,kBAAkB;AAC1C,OAAOC,YAAY,MAAM,mBAAmB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAACC,KAAK,EAAE;EAChC,OAAOF,YAAY,CAACE,KAAK,CAAC,IAAIH,WAAW,CAACG,KAAK,CAAC;AAClD;AAEA,eAAeD,iBAAiB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08a1d300fcf0729da748935fb2246fc3dded8f3e77c9dce2df6d516149c3e676.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08a1d300fcf0729da748935fb2246fc3dded8f3e77c9dce2df6d516149c3e676.json new file mode 100644 index 00000000..f0535aee --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08a1d300fcf0729da748935fb2246fc3dded8f3e77c9dce2df6d516149c3e676.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { computed } from 'vue';\nimport { useLocale } from '../../../../hooks/use-locale/index.mjs';\nconst useMonthRangeHeader = ({\n unlinkPanels,\n leftDate,\n rightDate\n}) => {\n const {\n t\n } = useLocale();\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, \"year\");\n if (!unlinkPanels.value) {\n rightDate.value = rightDate.value.subtract(1, \"year\");\n }\n };\n const rightNextYear = () => {\n if (!unlinkPanels.value) {\n leftDate.value = leftDate.value.add(1, \"year\");\n }\n rightDate.value = rightDate.value.add(1, \"year\");\n };\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, \"year\");\n };\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, \"year\");\n };\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t(\"el.datepicker.year\")}`;\n });\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t(\"el.datepicker.year\")}`;\n });\n const leftYear = computed(() => {\n return leftDate.value.year();\n });\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year() ? leftDate.value.year() + 1 : rightDate.value.year();\n });\n return {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear\n };\n};\nexport { useMonthRangeHeader };","map":{"version":3,"names":["useMonthRangeHeader","unlinkPanels","leftDate","rightDate","t","useLocale","leftPrevYear","value","subtract","rightNextYear","add","leftNextYear","rightPrevYear","leftLabel","computed","year","rightLabel","leftYear","rightYear"],"sources":["../../../../../../../packages/components/date-picker/src/composables/use-month-range-header.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport type { Ref, ToRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const useMonthRangeHeader = ({\n unlinkPanels,\n leftDate,\n rightDate,\n}: {\n unlinkPanels: ToRef\n leftDate: Ref\n rightDate: Ref\n}) => {\n const { t } = useLocale()\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!unlinkPanels.value) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!unlinkPanels.value) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n return {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n }\n}\n"],"mappings":";;AAEY,MAACA,mBAAmB,GAAGA,CAAC;EAClCC,YAAY;EACZC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAC,CAAE,GAAGC,SAAS,EAAE;EACzB,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzBJ,QAAQ,CAACK,KAAK,GAAGL,QAAQ,CAACK,KAAK,CAACC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnD,IAAI,CAACP,YAAY,CAACM,KAAK,EAAE;MACvBJ,SAAS,CAACI,KAAK,GAAGJ,SAAS,CAACI,KAAK,CAACC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAC3D;EACA,CAAG;EACD,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAI,CAACR,YAAY,CAACM,KAAK,EAAE;MACvBL,QAAQ,CAACK,KAAK,GAAGL,QAAQ,CAACK,KAAK,CAACG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;IACpD;IACIP,SAAS,CAACI,KAAK,GAAGJ,SAAS,CAACI,KAAK,CAACG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;EACpD,CAAG;EACD,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzBT,QAAQ,CAACK,KAAK,GAAGL,QAAQ,CAACK,KAAK,CAACG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;EAClD,CAAG;EACD,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1BT,SAAS,CAACI,KAAK,GAAGJ,SAAS,CAACI,KAAK,CAACC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;EACzD,CAAG;EACD,MAAMK,SAAS,GAAGC,QAAQ,CAAC,MAAM;IAC/B,OAAO,GAAGZ,QAAQ,CAACK,KAAK,CAACQ,IAAI,EAAE,IAAIX,CAAC,CAAC,oBAAoB,CAAC,EAAE;EAChE,CAAG,CAAC;EACF,MAAMY,UAAU,GAAGF,QAAQ,CAAC,MAAM;IAChC,OAAO,GAAGX,SAAS,CAACI,KAAK,CAACQ,IAAI,EAAE,IAAIX,CAAC,CAAC,oBAAoB,CAAC,EAAE;EACjE,CAAG,CAAC;EACF,MAAMa,QAAQ,GAAGH,QAAQ,CAAC,MAAM;IAC9B,OAAOZ,QAAQ,CAACK,KAAK,CAACQ,IAAI,EAAE;EAChC,CAAG,CAAC;EACF,MAAMG,SAAS,GAAGJ,QAAQ,CAAC,MAAM;IAC/B,OAAOX,SAAS,CAACI,KAAK,CAACQ,IAAI,EAAE,KAAKb,QAAQ,CAACK,KAAK,CAACQ,IAAI,EAAE,GAAGb,QAAQ,CAACK,KAAK,CAACQ,IAAI,EAAE,GAAG,CAAC,GAAGZ,SAAS,CAACI,KAAK,CAACQ,IAAI,EAAE;EAChH,CAAG,CAAC;EACF,OAAO;IACLT,YAAY;IACZG,aAAa;IACbE,YAAY;IACZC,aAAa;IACbC,SAAS;IACTG,UAAU;IACVC,QAAQ;IACRC;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08dc97ae423b02d032a17f3fcc0823db7ebf39a540c5167bd8f8286338342807.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08dc97ae423b02d032a17f3fcc0823db7ebf39a540c5167bd8f8286338342807.json new file mode 100644 index 00000000..2126d769 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08dc97ae423b02d032a17f3fcc0823db7ebf39a540c5167bd8f8286338342807.json @@ -0,0 +1 @@ +{"ast":null,"code":"import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\nexport default deburr;","map":{"version":3,"names":["deburrLetter","toString","reLatin","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsCombo","reComboMark","RegExp","deburr","string","replace"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/deburr.js"],"sourcesContent":["import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nexport default deburr;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,QAAQ,MAAM,eAAe;;AAEpC;AACA,IAAIC,OAAO,GAAG,6CAA6C;;AAE3D;AACA,IAAIC,iBAAiB,GAAG,iBAAiB;EACrCC,qBAAqB,GAAG,iBAAiB;EACzCC,mBAAmB,GAAG,iBAAiB;EACvCC,YAAY,GAAGH,iBAAiB,GAAGC,qBAAqB,GAAGC,mBAAmB;;AAElF;AACA,IAAIE,OAAO,GAAG,GAAG,GAAGD,YAAY,GAAG,GAAG;;AAEtC;AACA;AACA;AACA;AACA,IAAIE,WAAW,GAAGC,MAAM,CAACF,OAAO,EAAE,GAAG,CAAC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,MAAMA,CAACC,MAAM,EAAE;EACtBA,MAAM,GAAGV,QAAQ,CAACU,MAAM,CAAC;EACzB,OAAOA,MAAM,IAAIA,MAAM,CAACC,OAAO,CAACV,OAAO,EAAEF,YAAY,CAAC,CAACY,OAAO,CAACJ,WAAW,EAAE,EAAE,CAAC;AACjF;AAEA,eAAeE,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08e41c5f768f60f49b03f54abf1c7354930ab471452cade24219e49da7e6ecfc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08e41c5f768f60f49b03f54abf1c7354930ab471452cade24219e49da7e6ecfc.json new file mode 100644 index 00000000..ead330e7 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/08e41c5f768f60f49b03f54abf1c7354930ab471452cade24219e49da7e6ecfc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val),\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n \"path-control-button-text\": $setup.pathControlButtonText,\n onPathControl: $setup.pathControl,\n \"current-drone-status\": _ctx.currentDrone.value.status\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\", \"onPausePath\", \"onResumePath\", \"path-control-button-text\", \"onPathControl\", \"current-drone-status\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","onPausePath","pausePath","onResumePath","resumePath","pathControlButtonText","onPathControl","pathControl","_ctx","currentDrone","status","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/092fe301087baa3b3ba86d020a1ae18f3559a55f3ad48fdc301bc9572baa4205.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/092fe301087baa3b3ba86d020a1ae18f3559a55f3ad48fdc301bc9572baa4205.json new file mode 100644 index 00000000..667007f1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/092fe301087baa3b3ba86d020a1ae18f3559a55f3ad48fdc301bc9572baa4205.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, computed } from 'vue';\nexport default {\n name: 'ThreatZonePanel',\n props: {\n threatZones: {\n type: Array,\n default: () => []\n },\n selectedZoneId: {\n type: [String, Number],\n default: null\n },\n currentThreatType: {\n type: String,\n default: 'radar'\n },\n drawMode: {\n type: String,\n default: null\n },\n threatLevel: {\n type: String,\n default: 'medium'\n },\n circleRadius: {\n type: Number,\n default: 1000\n },\n threatDescription: {\n type: String,\n default: ''\n },\n threatTimeRange: {\n type: Array,\n default: () => [new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]\n },\n visibleLayers: {\n type: Array,\n default: () => ['radar', 'missile', 'aircraft', 'ground', 'weather']\n }\n },\n emits: ['on-threat-type-change', 'set-draw-mode', 'select-zone', 'delete-zone', 'edit-zone', 'clear-all-zones', 'update-layer-visibility', 'save-edited-zone', 'fit-to-zones'],\n setup(props, {\n emit\n }) {\n // 创建响应式引用,与props保持同步\n const threatType = computed({\n get: () => props.currentThreatType,\n set: value => emit('on-threat-type-change', value)\n });\n const level = computed({\n get: () => props.threatLevel,\n set: value => emit('on-threat-level-change', value)\n });\n const radius = computed({\n get: () => props.circleRadius,\n set: value => emit('update-circle-radius', value)\n });\n const description = computed({\n get: () => props.threatDescription,\n set: value => emit('update-threat-description', value)\n });\n const timeRange = computed({\n get: () => props.threatTimeRange,\n set: value => emit('update-threat-time-range', value)\n });\n const layers = computed({\n get: () => props.visibleLayers,\n set: value => emit('update-layer-visibility', value)\n });\n\n // 处理函数\n const handleSetDrawMode = mode => {\n emit('set-draw-mode', mode);\n };\n const onThreatTypeChange = value => {\n emit('on-threat-type-change', value);\n };\n const onThreatLevelChange = value => {\n emit('on-threat-level-change', value);\n };\n const onRadiusChange = value => {\n emit('update-circle-radius', value);\n };\n const onDescriptionChange = value => {\n emit('update-threat-description', value);\n };\n const onTimeRangeChange = value => {\n emit('update-threat-time-range', value);\n };\n const onLayerChange = value => {\n emit('update-layer-visibility', value);\n };\n\n // 获取威胁类型名称\n const getThreatTypeName = type => {\n const typeMap = {\n radar: '雷达威胁',\n missile: '导弹威胁',\n aircraft: '空中威胁',\n ground: '地面威胁',\n weather: '气象威胁'\n };\n return typeMap[type] || '未知威胁';\n };\n\n // 获取威胁等级名称\n const getThreatLevelName = level => {\n const levelMap = {\n low: '低威胁',\n medium: '中威胁',\n high: '高威胁',\n critical: '严重威胁'\n };\n return levelMap[level] || '未知等级';\n };\n return {\n threatType,\n level,\n radius,\n description,\n timeRange,\n layers,\n handleSetDrawMode,\n onThreatTypeChange,\n onThreatLevelChange,\n onRadiusChange,\n onDescriptionChange,\n onTimeRangeChange,\n onLayerChange,\n getThreatTypeName,\n getThreatLevelName\n };\n }\n};","map":{"version":3,"names":["ref","computed","name","props","threatZones","type","Array","default","selectedZoneId","String","Number","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","visibleLayers","emits","setup","emit","threatType","get","set","value","level","radius","description","timeRange","layers","handleSetDrawMode","mode","onThreatTypeChange","onThreatLevelChange","onRadiusChange","onDescriptionChange","onTimeRangeChange","onLayerChange","getThreatTypeName","typeMap","radar","missile","aircraft","ground","weather","getThreatLevelName","levelMap","low","medium","high","critical"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\map-panels\\ThreatZonePanel.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0930c531a98438ebb2c54a4c09f9a1d55d207d45f3f712d2c7be63fd81345e01.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0930c531a98438ebb2c54a4c09f9a1d55d207d45f3f712d2c7be63fd81345e01.json new file mode 100644 index 00000000..eef474d0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0930c531a98438ebb2c54a4c09f9a1d55d207d45f3f712d2c7be63fd81345e01.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response));\n }\n}","map":{"version":3,"names":["AxiosError","settle","resolve","reject","response","validateStatus","config","status","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","Math","floor","request"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/core/settle.js"],"sourcesContent":["'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,OAAOA,UAAU,MAAM,iBAAiB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,MAAMA,CAACC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,EAAE;EACxD,MAAMC,cAAc,GAAGD,QAAQ,CAACE,MAAM,CAACD,cAAc;EACrD,IAAI,CAACD,QAAQ,CAACG,MAAM,IAAI,CAACF,cAAc,IAAIA,cAAc,CAACD,QAAQ,CAACG,MAAM,CAAC,EAAE;IAC1EL,OAAO,CAACE,QAAQ,CAAC;EACnB,CAAC,MAAM;IACLD,MAAM,CAAC,IAAIH,UAAU,CACnB,kCAAkC,GAAGI,QAAQ,CAACG,MAAM,EACpD,CAACP,UAAU,CAACQ,eAAe,EAAER,UAAU,CAACS,gBAAgB,CAAC,CAACC,IAAI,CAACC,KAAK,CAACP,QAAQ,CAACG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAChGH,QAAQ,CAACE,MAAM,EACfF,QAAQ,CAACQ,OAAO,EAChBR,QACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0951bbc6d34d2e70d7ae8cc29de0e62225dc84ffbed82018acb735656d739605.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0951bbc6d34d2e70d7ae8cc29de0e62225dc84ffbed82018acb735656d739605.json new file mode 100644 index 00000000..b649368f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0951bbc6d34d2e70d7ae8cc29de0e62225dc84ffbed82018acb735656d739605.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps } from '../../../utils/vue/props/runtime.mjs';\nconst Effect = {\n LIGHT: \"light\",\n DARK: \"dark\"\n};\nconst roleTypes = [\"dialog\", \"grid\", \"group\", \"listbox\", \"menu\", \"navigation\", \"tooltip\", \"tree\"];\nconst popperProps = buildProps({\n role: {\n type: String,\n values: roleTypes,\n default: \"tooltip\"\n }\n});\nconst usePopperProps = popperProps;\nexport { Effect, popperProps, roleTypes, usePopperProps };","map":{"version":3,"names":["Effect","LIGHT","DARK","roleTypes","popperProps","buildProps","role","type","String","values","default","usePopperProps"],"sources":["../../../../../../packages/components/popper/src/popper.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Popper from './popper.vue'\n\nconst effects = ['light', 'dark'] as const\nconst triggers = ['click', 'contextmenu', 'hover', 'focus'] as const\n\nexport const Effect = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const\n\nexport const roleTypes = [\n 'dialog',\n 'grid',\n 'group',\n 'listbox',\n 'menu',\n 'navigation',\n 'tooltip',\n 'tree',\n] as const\n\nexport type PopperEffect =\n | typeof effects[number]\n | (string & NonNullable)\nexport type PopperTrigger = typeof triggers[number]\n\nexport const popperProps = buildProps({\n role: {\n type: String,\n values: roleTypes,\n default: 'tooltip',\n },\n} as const)\n\nexport type PopperProps = ExtractPropTypes\n\nexport type PopperInstance = InstanceType & unknown\n\n/** @deprecated use `popperProps` instead, and it will be deprecated in the next major version */\nexport const usePopperProps = popperProps\n\n/** @deprecated use `PopperProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperProps = PopperProps\n"],"mappings":";AAGY,MAACA,MAAM,GAAG;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR;AACY,MAACC,SAAS,GAAG,CACvB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,YAAY,EACZ,SAAS,EACT,MAAM,CACR;AACY,MAACC,WAAW,GAAGC,UAAU,CAAC;EACpCC,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAM;IACZC,MAAM,EAAEN,SAAS;IACjBO,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACC,cAAc,GAAGP,WAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/095b391ed845dc9f9c5b652f99c25759fef5090ee9bb0eaabef8fa5de18d8668.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/095b391ed845dc9f9c5b652f99c25759fef5090ee9bb0eaabef8fa5de18d8668.json new file mode 100644 index 00000000..26ee1b14 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/095b391ed845dc9f9c5b652f99c25759fef5090ee9bb0eaabef8fa5de18d8668.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"target-points\": $setup.targetPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"target-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onPausePath\", \"onResumePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onPausePath","pausePath","onResumePath","resumePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["[{\"lat\": 28.260405, \"lng\": 113.043762, \"altitude\": 100}, {\"lat\": 28.2603870934567, \"lng\": 113.043742, \"altitude\": 100}, {\"lat\": 28.26038026978722, \"lng\": 113.043732, \"altitude\": 100}, {\"lat\": 28.26037722777559, \"lng\": 113.043722, \"altitude\": 100}, {\"lat\": 28.2603758204314, \"lng\": 113.043712, \"altitude\": 100}, {\"lat\": 28.260375, \"lng\": 113.04370199999998, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.043688, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04362799999998, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.260250000000003, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26027, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26031, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26032, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26033, \"lng\": 113.04349799999994, \"altitude\": 100}, {\"lat\": 28.260329657248825, \"lng\": 113.04333899999996, \"altitude\": 100}, {\"lat\": 28.260329045127367, \"lng\": 113.04332900218694, \"altitude\": 100}, {\"lat\": 28.26032763536048, \"lng\": 113.04331901844364, \"altitude\": 100}, {\"lat\": 28.26032449792997, \"lng\": 113.04330908174028, \"altitude\": 100}, {\"lat\": 28.26031757077936, \"lng\": 113.04329926101076, \"altitude\": 100}, {\"lat\": 28.260308937584192, \"lng\": 113.04328969386172, \"altitude\": 100}, {\"lat\": 28.260299540314985, \"lng\": 113.04328067245874, \"altitude\": 100}, {\"lat\": 28.260289803396574, \"lng\": 113.04327284458132, \"altitude\": 100}, {\"lat\": 28.26027991692941, \"lng\": 113.04326765284172, \"altitude\": 100}, {\"lat\": 28.260269965363943, \"lng\": 113.0432616282346, \"altitude\": 100}, {\"lat\": 28.26025998589524, \"lng\": 113.04325740582271, \"altitude\": 100}, {\"lat\": 28.26024999490601, \"lng\": 113.04325214927236, \"altitude\": 100}, {\"lat\": 28.260240000000003, \"lng\": 113.04324899999992, \"altitude\": 100}, {\"lat\": 28.260225, \"lng\": 113.04325098991052, \"altitude\": 100}, {\"lat\": 28.260215, \"lng\": 113.04325761472994, \"altitude\": 100}, {\"lat\": 28.260205000000003, \"lng\": 113.04326063389736, \"altitude\": 100}, {\"lat\": 28.260195000000003, \"lng\": 113.04326208326216, \"altitude\": 100}, {\"lat\": 28.260175000000004, \"lng\": 113.04326385237782, \"altitude\": 100}, {\"lat\": 28.260165000000004, \"lng\": 113.04326538025909, \"altitude\": 100}, {\"lat\": 28.260155000000005, \"lng\": 113.04326855507162, \"altitude\": 100}, {\"lat\": 28.260145000000005, \"lng\": 113.04327548338618, \"altitude\": 100}, {\"lat\": 28.260075422227793, \"lng\": 113.04334300734416, \"altitude\": 100}, {\"lat\": 28.260057360492155, \"lng\": 113.04336300128588, \"altitude\": 100}, {\"lat\": 28.26005031185535, \"lng\": 113.0433730005306, \"altitude\": 100}, {\"lat\": 28.260046832361645, \"lng\": 113.04338300021698, \"altitude\": 100}, {\"lat\": 28.260042085948992, \"lng\": 113.04340300003538, \"altitude\": 100}, {\"lat\": 28.260037642166008, \"lng\": 113.04341300001414, \"altitude\": 100}, {\"lat\": 28.26003225531972, \"lng\": 113.04343300000224, \"altitude\": 100}, {\"lat\": 28.260027719490992, \"lng\": 113.04344300000092, \"altitude\": 100}, {\"lat\": 28.26002227121304, \"lng\": 113.0434630000002, \"altitude\": 100}, {\"lat\": 28.260017726619445, \"lng\": 113.04347300000012, \"altitude\": 100}, {\"lat\": 28.26001227241032, \"lng\": 113.0434930000001, \"altitude\": 100}, {\"lat\": 28.260007725185904, \"lng\": 113.0435030000001, \"altitude\": 100}, {\"lat\": 28.26000223418982, \"lng\": 113.0435230000001, \"altitude\": 100}, {\"lat\": 28.259997616009453, \"lng\": 113.04353300000012, \"altitude\": 100}, {\"lat\": 28.25999161554087, \"lng\": 113.04355300000012, \"altitude\": 100}, {\"lat\": 28.259986246848037, \"lng\": 113.04356300000012, \"altitude\": 100}, {\"lat\": 28.25998171641005, \"lng\": 113.04357300000012, \"altitude\": 100}, {\"lat\": 28.259968373932256, \"lng\": 113.04359300000012, \"altitude\": 100}, {\"lat\": 28.25996401655385, \"lng\": 113.04360300000012, \"altitude\": 100}, {\"lat\": 28.259959037920456, \"lng\": 113.04361300000014, \"altitude\": 100}, {\"lat\": 28.259956772808824, \"lng\": 113.04362300000014, \"altitude\": 100}, {\"lat\": 28.25995569686247, \"lng\": 113.04363300000014, \"altitude\": 100}, {\"lat\": 28.259953612165635, \"lng\": 113.04366300000017, \"altitude\": 100}, {\"lat\": 28.25995176489283, \"lng\": 113.04367300000015, \"altitude\": 100}, {\"lat\": 28.259947736077, \"lng\": 113.04368300000016, \"altitude\": 100}, {\"lat\": 28.25994358999897, \"lng\": 113.04370300000016, \"altitude\": 100}, {\"lat\": 28.25994072250104, \"lng\": 113.04371300000015, \"altitude\": 100}, {\"lat\": 28.259935000000013, \"lng\": 113.04372300000016, \"altitude\": 100}]\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0963fd9f67255f728b717e51cb95e47979e0091dad57a4778cf9bc1801df3210.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0963fd9f67255f728b717e51cb95e47979e0091dad57a4778cf9bc1801df3210.json new file mode 100644 index 00000000..41c3d1e1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0963fd9f67255f728b717e51cb95e47979e0091dad57a4778cf9bc1801df3210.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string`, as space separated words, to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the upper cased string.\n * @example\n *\n * _.upperCase('--foo-bar');\n * // => 'FOO BAR'\n *\n * _.upperCase('fooBar');\n * // => 'FOO BAR'\n *\n * _.upperCase('__foo_bar__');\n * // => 'FOO BAR'\n */\nvar upperCase = createCompounder(function (result, word, index) {\n return result + (index ? ' ' : '') + word.toUpperCase();\n});\nexport default upperCase;","map":{"version":3,"names":["createCompounder","upperCase","result","word","index","toUpperCase"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/upperCase.js"],"sourcesContent":["import createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string`, as space separated words, to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the upper cased string.\n * @example\n *\n * _.upperCase('--foo-bar');\n * // => 'FOO BAR'\n *\n * _.upperCase('fooBar');\n * // => 'FOO BAR'\n *\n * _.upperCase('__foo_bar__');\n * // => 'FOO BAR'\n */\nvar upperCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toUpperCase();\n});\n\nexport default upperCase;\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,wBAAwB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,SAAS,GAAGD,gBAAgB,CAAC,UAASE,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE;EAC7D,OAAOF,MAAM,IAAIE,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,eAAeJ,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/09f207afdf9102b19255d9f6e6c896b6efb7265f925db18575a8905acef3a373.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/09f207afdf9102b19255d9f6e6c896b6efb7265f925db18575a8905acef3a373.json new file mode 100644 index 00000000..e1140cef --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/09f207afdf9102b19255d9f6e6c896b6efb7265f925db18575a8905acef3a373.json @@ -0,0 +1 @@ +{"ast":null,"code":"!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_customParseFormat = t();\n}(this, function () {\n \"use strict\";\n\n var e = {\n LTS: \"h:mm:ss A\",\n LT: \"h:mm A\",\n L: \"MM/DD/YYYY\",\n LL: \"MMMM D, YYYY\",\n LLL: \"MMMM D, YYYY h:mm A\",\n LLLL: \"dddd, MMMM D, YYYY h:mm A\"\n },\n t = /(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,\n n = /\\d/,\n r = /\\d\\d/,\n i = /\\d\\d?/,\n o = /\\d*[^-_:/,()\\s\\d]+/,\n s = {},\n a = function (e) {\n return (e = +e) + (e > 68 ? 1900 : 2e3);\n };\n var f = function (e) {\n return function (t) {\n this[e] = +t;\n };\n },\n h = [/[+-]\\d\\d:?(\\d\\d)?|Z/, function (e) {\n (this.zone || (this.zone = {})).offset = function (e) {\n if (!e) return 0;\n if (\"Z\" === e) return 0;\n var t = e.match(/([+-]|\\d\\d)/g),\n n = 60 * t[1] + (+t[2] || 0);\n return 0 === n ? 0 : \"+\" === t[0] ? -n : n;\n }(e);\n }],\n u = function (e) {\n var t = s[e];\n return t && (t.indexOf ? t : t.s.concat(t.f));\n },\n d = function (e, t) {\n var n,\n r = s.meridiem;\n if (r) {\n for (var i = 1; i <= 24; i += 1) if (e.indexOf(r(i, 0, t)) > -1) {\n n = i > 12;\n break;\n }\n } else n = e === (t ? \"pm\" : \"PM\");\n return n;\n },\n c = {\n A: [o, function (e) {\n this.afternoon = d(e, !1);\n }],\n a: [o, function (e) {\n this.afternoon = d(e, !0);\n }],\n Q: [n, function (e) {\n this.month = 3 * (e - 1) + 1;\n }],\n S: [n, function (e) {\n this.milliseconds = 100 * +e;\n }],\n SS: [r, function (e) {\n this.milliseconds = 10 * +e;\n }],\n SSS: [/\\d{3}/, function (e) {\n this.milliseconds = +e;\n }],\n s: [i, f(\"seconds\")],\n ss: [i, f(\"seconds\")],\n m: [i, f(\"minutes\")],\n mm: [i, f(\"minutes\")],\n H: [i, f(\"hours\")],\n h: [i, f(\"hours\")],\n HH: [i, f(\"hours\")],\n hh: [i, f(\"hours\")],\n D: [i, f(\"day\")],\n DD: [r, f(\"day\")],\n Do: [o, function (e) {\n var t = s.ordinal,\n n = e.match(/\\d+/);\n if (this.day = n[0], t) for (var r = 1; r <= 31; r += 1) t(r).replace(/\\[|\\]/g, \"\") === e && (this.day = r);\n }],\n w: [i, f(\"week\")],\n ww: [r, f(\"week\")],\n M: [i, f(\"month\")],\n MM: [r, f(\"month\")],\n MMM: [o, function (e) {\n var t = u(\"months\"),\n n = (u(\"monthsShort\") || t.map(function (e) {\n return e.slice(0, 3);\n })).indexOf(e) + 1;\n if (n < 1) throw new Error();\n this.month = n % 12 || n;\n }],\n MMMM: [o, function (e) {\n var t = u(\"months\").indexOf(e) + 1;\n if (t < 1) throw new Error();\n this.month = t % 12 || t;\n }],\n Y: [/[+-]?\\d+/, f(\"year\")],\n YY: [r, function (e) {\n this.year = a(e);\n }],\n YYYY: [/\\d{4}/, f(\"year\")],\n Z: h,\n ZZ: h\n };\n function l(n) {\n var r, i;\n r = n, i = s && s.formats;\n for (var o = (n = r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (t, n, r) {\n var o = r && r.toUpperCase();\n return n || i[r] || e[r] || i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (e, t, n) {\n return t || n.slice(1);\n });\n })).match(t), a = o.length, f = 0; f < a; f += 1) {\n var h = o[f],\n u = c[h],\n d = u && u[0],\n l = u && u[1];\n o[f] = l ? {\n regex: d,\n parser: l\n } : h.replace(/^\\[|\\]$/g, \"\");\n }\n return function (e) {\n for (var t = {}, n = 0, r = 0; n < a; n += 1) {\n var i = o[n];\n if (\"string\" == typeof i) r += i.length;else {\n var s = i.regex,\n f = i.parser,\n h = e.slice(r),\n u = s.exec(h)[0];\n f.call(t, u), e = e.replace(u, \"\");\n }\n }\n return function (e) {\n var t = e.afternoon;\n if (void 0 !== t) {\n var n = e.hours;\n t ? n < 12 && (e.hours += 12) : 12 === n && (e.hours = 0), delete e.afternoon;\n }\n }(t), t;\n };\n }\n return function (e, t, n) {\n n.p.customParseFormat = !0, e && e.parseTwoDigitYear && (a = e.parseTwoDigitYear);\n var r = t.prototype,\n i = r.parse;\n r.parse = function (e) {\n var t = e.date,\n r = e.utc,\n o = e.args;\n this.$u = r;\n var a = o[1];\n if (\"string\" == typeof a) {\n var f = !0 === o[2],\n h = !0 === o[3],\n u = f || h,\n d = o[2];\n h && (d = o[2]), s = this.$locale(), !f && d && (s = n.Ls[d]), this.$d = function (e, t, n, r) {\n try {\n if ([\"x\", \"X\"].indexOf(t) > -1) return new Date((\"X\" === t ? 1e3 : 1) * e);\n var i = l(t)(e),\n o = i.year,\n s = i.month,\n a = i.day,\n f = i.hours,\n h = i.minutes,\n u = i.seconds,\n d = i.milliseconds,\n c = i.zone,\n m = i.week,\n M = new Date(),\n Y = a || (o || s ? 1 : M.getDate()),\n p = o || M.getFullYear(),\n v = 0;\n o && !s || (v = s > 0 ? s - 1 : M.getMonth());\n var D,\n w = f || 0,\n g = h || 0,\n y = u || 0,\n L = d || 0;\n return c ? new Date(Date.UTC(p, v, Y, w, g, y, L + 60 * c.offset * 1e3)) : n ? new Date(Date.UTC(p, v, Y, w, g, y, L)) : (D = new Date(p, v, Y, w, g, y, L), m && (D = r(D).week(m).toDate()), D);\n } catch (e) {\n return new Date(\"\");\n }\n }(t, a, r, n), this.init(), d && !0 !== d && (this.$L = this.locale(d).$L), u && t != this.format(a) && (this.$d = new Date(\"\")), s = {};\n } else if (a instanceof Array) for (var c = a.length, m = 1; m <= c; m += 1) {\n o[1] = a[m - 1];\n var M = n.apply(this, o);\n if (M.isValid()) {\n this.$d = M.$d, this.$L = M.$L, this.init();\n break;\n }\n m === c && (this.$d = new Date(\"\"));\n } else i.call(this, e);\n };\n };\n});","map":{"version":3,"names":["e","t","exports","module","define","amd","globalThis","self","dayjs_plugin_customParseFormat","LTS","LT","L","LL","LLL","LLLL","n","r","i","o","s","a","f","h","zone","offset","match","u","indexOf","concat","d","meridiem","c","A","afternoon","Q","month","S","milliseconds","SS","SSS","ss","m","mm","H","HH","hh","D","DD","Do","ordinal","day","replace","w","ww","M","MM","MMM","map","slice","Error","MMMM","Y","YY","year","YYYY","Z","ZZ","l","formats","toUpperCase","length","regex","parser","exec","call","hours","p","customParseFormat","parseTwoDigitYear","prototype","parse","date","utc","args","$u","$locale","Ls","$d","Date","minutes","seconds","week","getDate","getFullYear","v","getMonth","g","y","UTC","toDate","init","$L","locale","format","Array","apply","isValid"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/dayjs/plugin/customParseFormat.js"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a10e85cb5af9dba61800a1db52c3b8dac0bba4519020c8e9ba95e2f381e6924.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a10e85cb5af9dba61800a1db52c3b8dac0bba4519020c8e9ba95e2f381e6924.json new file mode 100644 index 00000000..81b4adfa --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a10e85cb5af9dba61800a1db52c3b8dac0bba4519020c8e9ba95e2f381e6924.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('暂停失败');\n }\n };\n\n // 新增resumePath方法\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/resume-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('无人机已继续飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('继续失败');\n }\n };\n\n // 获取当前选中无人机对象\n const currentDrone = computed(() => {\n return drones.value.find(d => d.id === selectedDroneId.value) || {};\n });\n // 路径执行控制按钮文本\n const pathControlButtonText = computed(() => {\n if (currentDrone.value.status === 'paused') return '继续';\n if (currentDrone.value.status === 'flying') return '暂停';\n return '暂停';\n });\n // 路径执行控制方法\n const pathControl = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (currentDrone.value.status === 'paused') {\n // 继续\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/resume-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('无人机已继续飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('继续失败');\n }\n } else if (currentDrone.value.status === 'flying') {\n // 暂停\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/pause-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('已暂停无人机飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('暂停失败');\n }\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n resumePath,\n pathControl,\n pathControlButtonText\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","resumePath","currentDrone","d","pathControlButtonText","pathControl","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a770abb7fdd7497056a6661b57f9d341f5c9c463db3b0caf45909e70cd9296e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a770abb7fdd7497056a6661b57f9d341f5c9c463db3b0caf45909e70cd9296e.json new file mode 100644 index 00000000..69fc5083 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a770abb7fdd7497056a6661b57f9d341f5c9c463db3b0caf45909e70cd9296e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getNative from './_getNative.js';\nvar defineProperty = function () {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}();\nexport default defineProperty;","map":{"version":3,"names":["getNative","defineProperty","func","Object","e"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_defineProperty.js"],"sourcesContent":["import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AAEvC,IAAIC,cAAc,GAAI,YAAW;EAC/B,IAAI;IACF,IAAIC,IAAI,GAAGF,SAAS,CAACG,MAAM,EAAE,gBAAgB,CAAC;IAC9CD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAChB,OAAOA,IAAI;EACb,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;AACf,CAAC,CAAC,CAAE;AAEJ,eAAeH,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a99defdc0e2834dce47c08a63e94a72da6b778eb0dd3cb4d132818153a4c186.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a99defdc0e2834dce47c08a63e94a72da6b778eb0dd3cb4d132818153a4c186.json new file mode 100644 index 00000000..5a549a06 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0a99defdc0e2834dce47c08a63e94a72da6b778eb0dd3cb4d132818153a4c186.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseWrapperValue from './_baseWrapperValue.js';\n\n/**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\nfunction wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n}\nexport default wrapperValue;","map":{"version":3,"names":["baseWrapperValue","wrapperValue","__wrapped__","__actions__"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/wrapperValue.js"],"sourcesContent":["import baseWrapperValue from './_baseWrapperValue.js';\n\n/**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\nfunction wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n}\n\nexport default wrapperValue;\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,wBAAwB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,OAAOD,gBAAgB,CAAC,IAAI,CAACE,WAAW,EAAE,IAAI,CAACC,WAAW,CAAC;AAC7D;AAEA,eAAeF,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0aae87734c21d411c832cdb4ae8926b3c6bc40a80f9a507d34de9b9fc3dcaf80.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0aae87734c21d411c832cdb4ae8926b3c6bc40a80f9a507d34de9b9fc3dcaf80.json new file mode 100644 index 00000000..b39cf1c3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0aae87734c21d411c832cdb4ae8926b3c6bc40a80f9a507d34de9b9fc3dcaf80.json @@ -0,0 +1 @@ +{"ast":null,"code":"const anchorKey = Symbol(\"anchor\");\nexport { anchorKey };","map":{"version":3,"names":["anchorKey","Symbol"],"sources":["../../../../../../packages/components/anchor/src/constants.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\n\nexport interface AnchorLinkState {\n el: HTMLElement\n href: string\n}\n\nexport interface AnchorContext {\n ns: UseNamespaceReturn\n direction: string\n currentAnchor: Ref\n addLink(state: AnchorLinkState): void\n removeLink(href: string): void\n handleClick(e: MouseEvent, href?: string): void\n}\n\nexport const anchorKey: InjectionKey = Symbol('anchor')\n"],"mappings":"AAAY,MAACA,SAAS,GAAGC,MAAM,CAAC,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ae12b91d34c89f71cf8677f20b70ad39fcc5e6329f3724b86cda90cf9a6bdbb.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ae12b91d34c89f71cf8677f20b70ad39fcc5e6329f3724b86cda90cf9a6bdbb.json new file mode 100644 index 00000000..dc11602f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ae12b91d34c89f71cf8677f20b70ad39fcc5e6329f3724b86cda90cf9a6bdbb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseGet from './_baseGet.js';\n\n/**\n * The opposite of `_.property`; this method creates a function that returns\n * the value at a given path of `object`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var array = [0, 1, 2],\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n * // => [2, 0]\n */\nfunction propertyOf(object) {\n return function (path) {\n return object == null ? undefined : baseGet(object, path);\n };\n}\nexport default propertyOf;","map":{"version":3,"names":["baseGet","propertyOf","object","path","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/propertyOf.js"],"sourcesContent":["import baseGet from './_baseGet.js';\n\n/**\n * The opposite of `_.property`; this method creates a function that returns\n * the value at a given path of `object`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var array = [0, 1, 2],\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n * // => [2, 0]\n */\nfunction propertyOf(object) {\n return function(path) {\n return object == null ? undefined : baseGet(object, path);\n };\n}\n\nexport default propertyOf;\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,eAAe;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,OAAO,UAASC,IAAI,EAAE;IACpB,OAAOD,MAAM,IAAI,IAAI,GAAGE,SAAS,GAAGJ,OAAO,CAACE,MAAM,EAAEC,IAAI,CAAC;EAC3D,CAAC;AACH;AAEA,eAAeF,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b08a90b6bf54f09f3e914f00f52c8645c18cf35720ae5ee9d63c84f2d1a7b1d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b08a90b6bf54f09f3e914f00f52c8645c18cf35720ae5ee9d63c84f2d1a7b1d.json new file mode 100644 index 00000000..8eb11973 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b08a90b6bf54f09f3e914f00f52c8645c18cf35720ae5ee9d63c84f2d1a7b1d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n await fetchDrones(); // 路径规划前强制刷新无人机数据\n const drone = drones.value.find(d => d.id === selectedDroneId.value);\n if (!drone || drone.latitude == null || drone.longitude == null) {\n ElMessage.error('请先选择并连接无人机');\n return;\n }\n // 只用未到达的目标点重新规划\n const DIST_THRESHOLD = 0.0002; // 约20米\n const remainingTargets = targetPoints.value.filter(pt => {\n const dlat = pt.lat - drone.latitude;\n const dlng = pt.lng - drone.longitude;\n return Math.sqrt(dlat * dlat + dlng * dlng) > DIST_THRESHOLD;\n });\n if (remainingTargets.length === 0) {\n ElMessage.warning('所有目标点都已到达,无需重新规划');\n return;\n }\n const planningData = {\n droneId: drone.id,\n startPoint: null,\n // 让后端用无人机当前位置为起点\n targetPoints: remainingTargets,\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n try {\n console.log('发送多目标路径规划请求:', planningData);\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 用后端返回的最优顺序覆盖pathPoints.value\n if (data.path_points && Array.isArray(data.path_points) && data.path_points.length > 0) {\n pathPoints.value = data.path_points;\n }\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n // 清除旧的路径线和标记\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathMarkers.value && pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n // 只画路径曲线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n // 只为起点和终点加Marker(可选)\n const markers = [];\n if (plannedPath.length > 0) {\n // 起点\n const start = plannedPath[0];\n const startMarker = new AMap.Marker({\n position: [start.lng, start.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: '起点',\n zIndex: 100\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n // 终点\n const end = plannedPath[plannedPath.length - 1];\n if (end && (end.lng !== start.lng || end.lat !== start.lat)) {\n const endMarker = new AMap.Marker({\n position: [end.lng, end.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: '终点',\n zIndex: 100\n });\n mapInstance.value.add(endMarker);\n markers.push(endMarker);\n }\n }\n pathMarkers.value = markers;\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]);\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n\n // 暂停模拟飞行\n const pausePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/pause`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已暂停');\n } else {\n ElMessage.info(res.data.message || '无人机未在飞行,无需暂停');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('暂停失败: ' + (error.response?.data?.message || error.message));\n }\n };\n\n // 继续模拟飞行\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/resume`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已继续飞行');\n } else {\n ElMessage.info(res.data.message || '无人机未暂停或无法继续');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('继续飞行失败: ' + (error.response?.data?.message || error.message));\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n pausePath,\n resumePath\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","drone","d","latitude","longitude","DIST_THRESHOLD","remainingTargets","pt","dlat","dlng","Math","sqrt","warning","planningData","droneId","startPoint","algorithm","geometry_type","geometry_data","details","path_points","distance","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathCoords","markers","start","startMarker","end","endMarker","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","pausePath","resumePath","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"AA4MA,SAASA,GAAG,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,KAAI,QAAS,KAAI;AAC5D,SAASC,QAAO,QAAS,MAAK;AAC9B,SAASC,SAAS,EAAEC,YAAW,QAAS,cAAa;AACrD,OAAOC,SAAQ,MAAO,6BAA4B;AAClD,OAAOC,aAAY,MAAO,4CAA2C;AACrE,OAAOC,eAAc,MAAO,8CAA6C;AACzE,OAAOC,iBAAgB,MAAO,gDAA+C;AAC7E,OAAOC,gBAAe,MAAO,+CAA8C;AAC3E,OAAOC,yBAAwB,MAAO,wDAAuD;AAC7F,OAAOC,KAAI,MAAO,OAAM;AAExB,eAAe;EACbC,IAAI,EAAE,gBAAgB;EACtBC,UAAU,EAAE;IACVR,SAAS;IACTC,aAAa;IACbC,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAAC;EACDI,KAAKA,CAAA,EAAG;IACN,MAAMC,KAAI,GAAIb,QAAQ,CAAC;IACvB,MAAMc,YAAW,GAAInB,GAAG,CAAC,IAAI;;IAE7B;IACA,MAAMoB,WAAU,GAAIpB,GAAG,CAAC,UAAU;;IAElC;IACA,MAAMqB,WAAU,GAAIrB,GAAG,CAAC,IAAI;;IAE5B;IACA,MAAMsB,OAAM,GAAItB,GAAG,CAAC,KAAK;;IAEzB;IACA,MAAMuB,YAAW,GAAIvB,GAAG,CAAC,EAAE;IAC3B,MAAMwB,aAAY,GAAIxB,GAAG,CAAC,EAAE;;IAE5B;IACA,MAAMyB,WAAU,GAAIzB,GAAG,CAAC,EAAE;IAC1B;IACA,MAAM0B,YAAW,GAAI,CAAC;IACtB,MAAMC,QAAO,GAAI3B,GAAG,CAAC,IAAI;IACzB,MAAM4B,iBAAgB,GAAI5B,GAAG,CAAC,OAAO;IACrC,MAAM6B,WAAU,GAAI7B,GAAG,CAAC,QAAQ;IAChC,MAAM8B,YAAW,GAAI9B,GAAG,CAAC,IAAI;IAC7B,MAAM+B,iBAAgB,GAAI/B,GAAG,CAAC,EAAE;IAChC,MAAMgC,eAAc,GAAIhC,GAAG,CAAC,CAAC,IAAIiC,IAAI,CAAC,CAAC,EAAE,IAAIA,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,IAAI,EAAC,GAAI,EAAC,GAAI,EAAC,GAAI,IAAI,CAAC,CAAC;IACpF,MAAMC,cAAa,GAAInC,GAAG,CAAC,IAAI;IAC/B,MAAMoC,aAAY,GAAIpC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC/E,MAAMqC,iBAAgB,GAAIrC,GAAG,CAAC,KAAK;IACnC,MAAMsC,QAAO,GAAItC,GAAG,CAAC;MACnBuC,EAAE,EAAE,IAAI;MACRC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE,QAAQ;MACfC,WAAW,EAAE,EAAE;MACfC,QAAQ,EAAE;IACZ,CAAC;;IAED;IACA,MAAMC,UAAS,GAAI5C,GAAG,CAAC,EAAE;IACzB,MAAM6C,WAAU,GAAI7C,GAAG,CAAC,EAAE;IAC1B,MAAM8C,QAAO,GAAI9C,GAAG,CAAC,IAAI;IACzB,MAAM+C,iBAAgB,GAAI/C,GAAG,CAAC,OAAO;IACrC,MAAMgD,cAAa,GAAIhD,GAAG,CAAC,GAAG;IAC9B,MAAMiD,WAAU,GAAIjD,GAAG,CAAC,EAAE;IAC1B,MAAMkD,QAAO,GAAIlD,GAAG,CAAC,IAAI;;IAEzB;IACA,MAAMmD,oBAAmB,GAAInD,GAAG,CAAC,EAAE;IACnC,MAAMoD,mBAAkB,GAAI,CAAC,GAAG;;IAEhC;IACA,MAAMC,gBAAe,GAAIrD,GAAG,CAAC,EAAE,GAAG;IAClC,MAAMsD,iBAAgB,GAAItD,GAAG,CAAC,EAAE,GAAG;IACnC,MAAMuD,iBAAgB,GAAIvD,GAAG,CAAC,EAAE,GAAG;IACnC,MAAMwD,kBAAiB,GAAIxD,GAAG,CAAC,EAAE,GAAG;IACpC,MAAMyD,cAAa,GAAIzD,GAAG,CAAC,EAAE,GAAG;IAChC,MAAM0D,YAAW,GAAI1D,GAAG,CAAC,KAAK,GAAG;IACjC,MAAM2D,aAAY,GAAI3D,GAAG,CAAC,KAAK,GAAG;IAClC,MAAM4D,iBAAgB,GAAI5D,GAAG,CAAC,YAAY,GAAG;IAC7C,MAAM6D,sBAAqB,GAAI7D,GAAG,CAAC,OAAO,GAAG;IAC7C,MAAM8D,kBAAiB,GAAI9D,GAAG,CAAC,mBAAmB,GAAG;IACrD,MAAM+D,mBAAkB,GAAI/D,GAAG,CAAC,GAAG,GAAG;IACtC,MAAMgE,gBAAe,GAAIhE,GAAG,CAAC,EAAE,GAAG;IAClC,MAAMiE,mBAAkB,GAAIjE,GAAG,CAAC,IAAI,GAAG;;IAEvC;IACA,MAAMkE,SAAQ,GAAIlE,GAAG,CAAC,IAAI;;IAE1B;IACA,MAAMmE,MAAK,GAAInE,GAAG,CAAC,EAAE;IACrB,MAAMoE,eAAc,GAAIpE,GAAG,CAAC,IAAI;;IAEhC;IACA,MAAMqE,WAAU,GAAI,MAAAA,CAAA,KAAY;MAC9B,IAAI;QACF,MAAMC,KAAI,GAAIC,YAAY,CAACC,OAAO,CAAC,OAAO;QAC1C,MAAMC,GAAE,GAAI,MAAM3D,KAAK,CAAC4D,GAAG,CAAC,aAAa,EAAE;UACzCC,OAAO,EAAE;YAAEC,aAAa,EAAE,UAAUN,KAAK;UAAG;QAC9C,CAAC;QACD,IAAIG,GAAG,CAACI,IAAI,CAACC,OAAO,EAAE;UACpBX,MAAM,CAACY,KAAI,GAAIN,GAAG,CAACI,IAAI,CAACA,IAAG;UAC3B,IAAIV,MAAM,CAACY,KAAK,CAACC,MAAK,GAAI,KAAK,CAACZ,eAAe,CAACW,KAAK,EAAE;YACrDX,eAAe,CAACW,KAAI,GAAIZ,MAAM,CAACY,KAAK,CAAC,CAAC,CAAC,CAACxC,EAAC;UAC3C;QACF;MACF,EAAE,OAAO0C,CAAC,EAAE;QACV3E,SAAS,CAAC4E,KAAK,CAAC,WAAW;MAC7B;IACF;;IAEA;IACA,MAAMC,gBAAe,GAAKC,GAAG,IAAK;MAChC,IAAI;QACF,OAAOC,IAAI,CAACC,QAAQ,CAACC,kBAAkB,CAACH,GAAG,CAAC,CAAC;MAC/C,EAAE,OAAOF,KAAK,EAAE;QACdM,OAAO,CAACC,IAAI,CAAC,aAAa,EAAEP,KAAK;QACjC,OAAOG,IAAI,CAACD,GAAG;MACjB;IACF;;IAEA;IACA,MAAMM,gBAAe,GAAI;MACvBC,KAAK,EAAE;QAAE5E,IAAI,EAAE,MAAM;QAAE6E,KAAK,EAAE;MAAU,CAAC;MACzCC,OAAO,EAAE;QAAE9E,IAAI,EAAE,MAAM;QAAE6E,KAAK,EAAE;MAAU,CAAC;MAC3CE,QAAQ,EAAE;QAAE/E,IAAI,EAAE,MAAM;QAAE6E,KAAK,EAAE;MAAU,CAAC;MAC5CG,MAAM,EAAE;QAAEhF,IAAI,EAAE,MAAM;QAAE6E,KAAK,EAAE;MAAU,CAAC;MAC1CI,OAAO,EAAE;QAAEjF,IAAI,EAAE,MAAM;QAAE6E,KAAK,EAAE;MAAU;IAC5C;;IAEA;IACA,MAAMK,iBAAgB,GAAI;MACxBC,GAAG,EAAE;QAAEnF,IAAI,EAAE,KAAK;QAAEoF,OAAO,EAAE;MAAI,CAAC;MAClCC,MAAM,EAAE;QAAErF,IAAI,EAAE,KAAK;QAAEoF,OAAO,EAAE;MAAI,CAAC;MACrCE,IAAI,EAAE;QAAEtF,IAAI,EAAE,KAAK;QAAEoF,OAAO,EAAE;MAAI,CAAC;MACnCG,QAAQ,EAAE;QAAEvF,IAAI,EAAE,MAAM;QAAEoF,OAAO,EAAE;MAAI;IACzC;;IAEA;IACA,MAAMI,WAAU,GAAKC,GAAG,IAAK;MAC3BnF,WAAW,CAAC0D,KAAI,GAAIyB,GAAE;MACtBhB,OAAO,CAACiB,GAAG,CAAC,oBAAoB;;MAEhC;MACA,MAAMC,IAAG,GAAIC,MAAM,CAACD,IAAG;MACvB,IAAIA,IAAI,EAAE;QACR,IAAI;UACFxC,SAAS,CAACa,KAAI,GAAI,IAAI2B,IAAI,CAACE,SAAS,CAACJ,GAAG;UACxCtC,SAAS,CAACa,KAAK,CAAC8B,EAAE,CAAC,MAAM,EAAEC,cAAc;UACzCtB,OAAO,CAACiB,GAAG,CAAC,gBAAgB;QAC9B,EAAE,OAAOvB,KAAK,EAAE;UACdM,OAAO,CAACN,KAAK,CAAC,iBAAiB,EAAEA,KAAK;QACxC;MACF;;MAEA;MACA6B,WAAW,CAAC;IACd;;IAEA;IACA,MAAMA,WAAU,GAAI,MAAAA,CAAA,KAAY;MAC9B,IAAI;QACFvB,OAAO,CAACiB,GAAG,CAAC,eAAe;;QAE3B;QACA,MAAMO,eAAe,CAAC;QAEtBxB,OAAO,CAACiB,GAAG,CAAC,UAAU;MAExB,EAAE,OAAOvB,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEA,KAAK;MAClC;IACF;;IAEA;IACA,MAAM+B,UAAS,GAAKhC,CAAC,IAAK;MACxB,MAAM;QAAEiC,GAAG;QAAEC;MAAI,IAAIlC,CAAC,CAACmC,MAAK;MAC5B5B,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAE;QAAES,GAAG;QAAEC,GAAG;QAAE/F,WAAW,EAAEA,WAAW,CAAC2D,KAAK;QAAEzD,OAAO,EAAEA,OAAO,CAACyD;MAAM,CAAC;MAE3F,IAAI3D,WAAW,CAAC2D,KAAI,KAAM,UAAS,IAAKzD,OAAO,CAACyD,KAAK,EAAE;QACrD;QACAsC,cAAc,CAACH,GAAG,EAAEC,GAAG;MACzB,OAAO,IAAI/F,WAAW,CAAC2D,KAAI,KAAM,cAAa,IAAKzD,OAAO,CAACyD,KAAK,EAAE;QAChE;QACAuC,YAAY,CAACJ,GAAG,EAAEC,GAAG;MACvB,OAAO,IAAI/F,WAAW,CAAC2D,KAAI,KAAM,sBAAsB,EAAE;QACvD;QACA,IAAIrB,YAAY,CAACqB,KAAK,EAAE;UACtBwC,kBAAkB,CAACL,GAAG,EAAEC,GAAG;QAC7B,OAAO,IAAIxD,aAAa,CAACoB,KAAK,EAAE;UAC9ByC,mBAAmB,CAACN,GAAG,EAAEC,GAAG;QAC9B;MACF;MACA;IACF;;IAEA;IACA,MAAMM,uBAAsB,GAAIA,CAAA,KAAM;MACpC,QAAQrG,WAAW,CAAC2D,KAAK;QACvB,KAAK,UAAU;UACb;UACA;QACF,KAAK,YAAY;UACf;UACAiC,eAAe,CAAC;UAChB;QACF,KAAK,cAAc;UACjB;UACA;MACJ;IACF;;IAEA;IACA,MAAMU,cAAa,GAAIA,CAAA,KAAM;MAC3B;MACApG,OAAO,CAACyD,KAAI,GAAI,KAAI;MACpBpD,QAAQ,CAACoD,KAAI,GAAI,IAAG;;MAEpB;MACA,IAAIb,SAAS,CAACa,KAAK,EAAE;QACnBb,SAAS,CAACa,KAAK,CAAC4C,KAAK,CAAC,IAAI;MAC5B;;MAEA;MACAC,4BAA4B,CAAC;;MAE7B;MACAH,uBAAuB,CAAC;IAC1B;;IAEA;IACA,MAAMG,4BAA2B,GAAIA,CAAA,KAAM;MACzC,MAAMC,WAAU,GAAIzG,WAAW,CAAC2D,KAAI,KAAM,YAAW;MAErD+C,MAAM,CAACC,MAAM,CAACrG,YAAY,CAAC,CAACsG,OAAO,CAACC,OAAM,IAAK;QAC7C,IAAIA,OAAM,IAAKA,OAAO,CAACC,UAAU,EAAE;UACjC,IAAI;YACFD,OAAO,CAACC,UAAU,CAAC;cACjBC,MAAM,EAAEN,WAAU,GAAI,SAAQ,GAAI,SAAS;cAC3CO,MAAM,EAAEP,WAAU,GAAI,GAAE,GAAI;YAC9B,CAAC;UACH,EAAE,OAAO3C,KAAK,EAAE;YACdM,OAAO,CAACC,IAAI,CAAC,cAAc,EAAEP,KAAK;UACpC;QACF;MACF,CAAC;MAEDM,OAAO,CAACiB,GAAG,CAAC,qBAAqBrF,WAAW,CAAC2D,KAAK,EAAE;IACtD;;IAEA;;IAEA;IACA,MAAMsD,aAAY,GAAIA,CAAA,KAAM;MAC1B/G,OAAO,CAACyD,KAAI,GAAI,CAACzD,OAAO,CAACyD,KAAI;MAC7B;MACA,IAAI3D,WAAW,CAAC2D,KAAI,KAAM,YAAY,EAAE;QACtCpD,QAAQ,CAACoD,KAAI,GAAI,IAAG;QACpB,IAAIb,SAAS,CAACa,KAAK,EAAE;UACnBb,SAAS,CAACa,KAAK,CAAC4C,KAAK,CAAC,IAAI;QAC5B;MACF;IACF;;IAEA;;IAIA;IACA,MAAMW,aAAY,GAAIA,CAAA,KAAM;MAC1B,IAAIlH,WAAW,CAAC2D,KAAI,KAAM,UAAU,EAAE;QACpC,OAAO,WAAU;MACnB,OAAO,IAAI3D,WAAW,CAAC2D,KAAI,KAAM,cAAc,EAAE;QAC/C,OAAO,WAAU;MACnB;MACA,OAAO,EAAC;IACV;;IAEA;;IAEA;IACA,MAAMsC,cAAa,GAAIA,CAACH,GAAG,EAAEC,GAAG,KAAK;MACnC,IAAI,CAAC9F,WAAW,CAAC0D,KAAK,EAAE;MAExB,MAAM2B,IAAG,GAAIC,MAAM,CAACD,IAAG;;MAEvB;MACA,MAAM6B,MAAK,GAAI,IAAI7B,IAAI,CAAC8B,MAAM,CAAC;QAC7BC,QAAQ,EAAE,CAACvB,GAAG,EAAEC,GAAG,CAAC;QACpBuB,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;UAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;UAC3BC,KAAK,EAAE,4BAA2B,GAAI3D,gBAAgB,CAAC;;;;;WAKtD,CAAC;UACF4D,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;QACjC,CAAC,CAAC;QACFG,KAAK,EAAE,WAAW9B,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAK9B,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC;MACrD,CAAC;;MAED;MACAV,MAAM,CAAC1B,EAAE,CAAC,OAAO,EAAE,MAAM;QACvBvG,SAAS,CAAC;UACR4I,OAAO,EAAE,UAAUhC,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAK9B,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC,EAAE;UACtDzG,IAAI,EAAE;QACR,CAAC;MACH,CAAC;MAEDnB,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;MAC5B/G,aAAa,CAACuD,KAAK,CAACqE,IAAI,CAACb,MAAM;MAC/BhH,YAAY,CAACwD,KAAK,CAACqE,IAAI,CAAC;QAAElC,GAAG;QAAEC;MAAI,CAAC;MAEpC7G,SAAS,CAACwE,OAAO,CAAC,WAAWoC,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAK9B,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC,EAAE;IAClE;;IAEA;IACA,MAAMI,YAAW,GAAIA,CAAA,KAAM;MACzB7H,aAAa,CAACuD,KAAK,CAACiD,OAAO,CAACO,MAAK,IAAK;QACpClH,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACf,MAAM;MACjC,CAAC;MACD/G,aAAa,CAACuD,KAAI,GAAI,EAAC;MACvBxD,YAAY,CAACwD,KAAI,GAAI,EAAC;MACtBzE,SAAS,CAACwE,OAAO,CAAC,UAAU;IAC9B;;IAEA;;IAEA;IACA,MAAMyE,UAAS,GAAIA,CAAA,KAAM;MACvB,IAAI5H,QAAQ,CAACoD,KAAI,KAAM,QAAQ,EAAE;QAC/B,OAAO,oBAAmB;MAC5B,OAAO,IAAIpD,QAAQ,CAACoD,KAAI,KAAM,SAAS,EAAE;QACvC,OAAO,kBAAiB;MAC1B,OAAO,IAAIpD,QAAQ,CAACoD,KAAI,KAAM,WAAW,EAAE;QACzC,OAAO,aAAY;MACrB;MACA,OAAO,EAAC;IACV;;IAEA;IACA,MAAMyE,sBAAqB,GAAKhH,IAAI,IAAK;MACvCZ,iBAAiB,CAACmD,KAAI,GAAIvC,IAAG;IAC/B;;IAEA;IACA,MAAMiH,uBAAsB,GAAKhH,KAAK,IAAK;MACzCZ,WAAW,CAACkD,KAAI,GAAItC,KAAI;IAC1B;;IAEA;IACA,MAAMiH,kBAAiB,GAAKC,MAAM,IAAK;MACrC7H,YAAY,CAACiD,KAAI,GAAI4E,MAAK;IAC5B;;IAEA;IACA,MAAMC,uBAAsB,GAAKC,IAAI,IAAK;MACxC9H,iBAAiB,CAACgD,KAAI,GAAI8E,IAAG;IAC/B;;IAEA;IACA,MAAMC,qBAAoB,GAAKC,KAAK,IAAK;MACvC/H,eAAe,CAAC+C,KAAI,GAAIgF,KAAI;IAC9B;;IAEA;IACA,MAAMC,WAAU,GAAKC,IAAI,IAAK;MAC5B,IAAI,CAAC/F,SAAS,CAACa,KAAK,EAAE;QACpBzE,SAAS,CAAC4E,KAAK,CAAC,UAAU;QAC1B;MACF;MAEA,IAAIvD,QAAQ,CAACoD,KAAI,KAAMkF,IAAI,EAAE;QAC3B;QACAtI,QAAQ,CAACoD,KAAI,GAAI,IAAG;QACpB,IAAI;UACFb,SAAS,CAACa,KAAK,CAAC4C,KAAK,CAAC,IAAI;QAC5B,EAAE,OAAOzC,KAAK,EAAE;UACdM,OAAO,CAACC,IAAI,CAAC,YAAY,EAAEP,KAAK;QAClC;QACA5E,SAAS,CAAC4J,IAAI,CAAC,SAAS;QACxB;MACF;MAEAvI,QAAQ,CAACoD,KAAI,GAAIkF,IAAG;MACpB3I,OAAO,CAACyD,KAAI,GAAI,KAAI;;MAEpB;MACA,MAAMoF,OAAM,GAAI;QACdC,WAAW,EAAE1E,gBAAgB,CAAC9D,iBAAiB,CAACmD,KAAK,CAAC,CAACa,KAAK;QAC5DyE,YAAY,EAAE,CAAC;QACfC,aAAa,EAAE,GAAG;QAClBC,SAAS,EAAE7E,gBAAgB,CAAC9D,iBAAiB,CAACmD,KAAK,CAAC,CAACa,KAAK;QAC1D4E,WAAW,EAAEvE,iBAAiB,CAACpE,WAAW,CAACkD,KAAK,CAAC,CAACoB;MACpD;MAEA,IAAI;QACFX,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAEwD,IAAI,EAAE,KAAK,EAAEE,OAAO;QAE3C,QAAQF,IAAI;UACV,KAAK,QAAQ;YACX/F,SAAS,CAACa,KAAK,CAAC0F,MAAM,CAACN,OAAO;YAC9B;UACF,KAAK,SAAS;YACZjG,SAAS,CAACa,KAAK,CAAC2F,OAAO,CAACP,OAAO;YAC/B;UACF,KAAK,WAAW;YACdjG,SAAS,CAACa,KAAK,CAAC4F,SAAS,CAACR,OAAO;YACjC;QACJ;QAEA7J,SAAS,CAAC4J,IAAI,CAACX,UAAU,CAAC,CAAC;MAC7B,EAAE,OAAOrE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEA,KAAK;QAChC5E,SAAS,CAAC4E,KAAK,CAAC,UAAU;QAC1BvD,QAAQ,CAACoD,KAAI,GAAI,IAAG;MACtB;IACF;;IAEA;IACA,MAAM+B,cAAa,GAAI,MAAO8D,KAAK,IAAK;MACtC;MACA,MAAM3C,OAAM,GAAI7H,KAAK,CAACwK,KAAK,CAACC,GAAG;MAE/BrF,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAEwB,OAAO;MACjCzC,OAAO,CAACiB,GAAG,CAAC,QAAQ,EAAEwB,OAAO,CAAC6C,SAAQ,IAAK7C,OAAO,CAAC8C,UAAU;;MAE7D;MACA,IAAI;QACF;QACA,MAAMC,QAAO,GAAI3J,WAAW,CAAC0D,KAAK,CAACkG,cAAc,CAAC,SAAS;QAC3DzF,OAAO,CAACiB,GAAG,CAAC,aAAa,EAAEuE,QAAQ;;QAEnC;QACA,MAAME,YAAW,GAAI;UACnBd,WAAW,EAAE1E,gBAAgB,CAAC9D,iBAAiB,CAACmD,KAAK,CAAC,CAACa,KAAK;UAC5DyE,YAAY,EAAE,CAAC;UAAG;UAClBC,aAAa,EAAE,CAAC;UAAE;UAClBC,SAAS,EAAE7E,gBAAgB,CAAC9D,iBAAiB,CAACmD,KAAK,CAAC,CAACa,KAAK;UAC1D4E,WAAW,EAAEvE,iBAAiB,CAACpE,WAAW,CAACkD,KAAK,CAAC,CAACoB;QACpD;QAEAX,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAEyE,YAAY;QACnCjD,OAAO,CAACC,UAAU,CAACgD,YAAY;;QAE/B;QACAC,UAAU,CAAC,MAAM;UACf9J,WAAW,CAAC0D,KAAK,CAACqG,UAAU,CAAC;QAC/B,CAAC,EAAE,GAAG;QAEN5F,OAAO,CAACiB,GAAG,CAAC,WAAW;MAEzB,EAAE,OAAOvB,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,YAAY,EAAEA,KAAK;MACnC;;MAEA;MACA,MAAMvC,QAAO,GAAI0I,sBAAsB,CAACpD,OAAO;;MAE/C;MACA,IAAI,CAACrG,iBAAiB,CAACmD,KAAK,EAAE;QAC5BS,OAAO,CAACN,KAAK,CAAC,SAAS,EAAEtD,iBAAiB,CAACmD,KAAK;QAChDzE,SAAS,CAAC4E,KAAK,CAAC,SAAS;QACzB;MACF;MAEA,IAAI,CAACrD,WAAW,CAACkD,KAAK,EAAE;QACtBS,OAAO,CAACN,KAAK,CAAC,SAAS,EAAErD,WAAW,CAACkD,KAAK;QAC1CzE,SAAS,CAAC4E,KAAK,CAAC,SAAS;QACzB;MACF;MAEA,IAAI,CAACvC,QAAQ,EAAE;QACb6C,OAAO,CAACN,KAAK,CAAC,UAAU;QACxB5E,SAAS,CAAC4E,KAAK,CAAC,aAAa;QAC7B;MACF;MAEA,MAAMoG,QAAO,GAAI;QACf9I,IAAI,EAAEZ,iBAAiB,CAACmD,KAAK;QAC7BtC,KAAK,EAAEZ,WAAW,CAACkD,KAAK;QACxBrC,WAAW,EAAEX,iBAAiB,CAACgD,KAAI,IAAK,EAAE;QAC1CwG,SAAS,EAAE,CAAC,GAAGvJ,eAAe,CAAC+C,KAAK,CAAC;QAAE;QACvCpC,QAAQ,EAAEA;MACZ;MAEA,IAAI;QACF6C,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAE6E,QAAQ;QAClC9F,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAE7E,iBAAiB,CAACmD,KAAK;QAC9CS,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAE5E,WAAW,CAACkD,KAAK;QACxCS,OAAO,CAACiB,GAAG,CAAC,OAAO,EAAE1E,iBAAiB,CAACgD,KAAK;QAC5CS,OAAO,CAACiB,GAAG,CAAC,OAAO,EAAE9D,QAAQ;;QAE7B;QACA,MAAM6I,QAAO,GAAI,MAAMC,KAAK,CAAC,mBAAmB,EAAE;UAChDC,MAAM,EAAE,MAAM;UACd/G,OAAO,EAAE;YACP,cAAc,EAAE;UAClB,CAAC;UACDgH,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACP,QAAQ;QAC/B,CAAC;QAED9F,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE+E,QAAQ,CAACM,MAAM,EAAEN,QAAQ,CAACO,UAAU;QAE5D,IAAI,CAACP,QAAQ,CAACQ,EAAE,EAAE;UAChB,MAAMC,SAAQ,GAAI,MAAMT,QAAQ,CAACU,IAAI,CAAC;UACtC1G,OAAO,CAACN,KAAK,CAAC,UAAU,EAAE+G,SAAS;UACnC,MAAM,IAAIE,KAAK,CAAC,YAAYX,QAAQ,CAACM,MAAM,IAAIN,QAAQ,CAACO,UAAU,MAAME,SAAS,EAAE;QACrF;QAEA,MAAMG,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;QACnC7G,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE2F,MAAM;QAE9B,IAAIA,MAAM,CAACtH,OAAO,EAAE;UAClB,MAAMwH,IAAG,GAAIF,MAAM,CAACvH,IAAG;;UAEvB;UACAxD,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACrB,OAAO;;UAEhC;UACAsE,qBAAqB,CAACD,IAAI;UAE1BhM,SAAS,CAACwE,OAAO,CAAC,MAAMY,gBAAgB,CAAC9D,iBAAiB,CAACmD,KAAK,CAAC,CAAChE,IAAI,IAAI;UAC1EyE,OAAO,CAACiB,GAAG,CAAC,kBAAkB,EAAE6F,IAAI;QAEtC,OAAO;UACL,MAAM,IAAIH,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,SAAS;QAC7C;MAEF,EAAE,OAAOhE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,aAAa,EAAEA,KAAK;QAClC5E,SAAS,CAAC4E,KAAK,CAAC,WAAU,GAAIA,KAAK,CAACgE,OAAO;;QAE3C;QACA7H,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACrB,OAAO;MAClC;;MAEA;MACAtG,QAAQ,CAACoD,KAAI,GAAI,IAAG;MACpB,IAAIb,SAAS,CAACa,KAAK,EAAE;QACnBb,SAAS,CAACa,KAAK,CAAC4C,KAAK,CAAC,IAAI;MAC5B;;MAEA;MACAnC,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAEhF,WAAW,CAACsD,KAAK,CAACC,MAAM;IAClD;IAEA,MAAMqG,sBAAqB,GAAKpD,OAAO,IAAK;MAC1CzC,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAEwB,OAAO,CAAC8C,UAAS,IAAK9C,OAAO,CAAC6C,SAAS;MAEjE,IAAI;QACF,IAAI7C,OAAO,CAAC8C,UAAS,KAAM,aAAY,IAAK9C,OAAO,CAAC6C,SAAQ,KAAM,gBAAgB,EAAE;UAClF,MAAM0B,MAAK,GAAIvE,OAAO,CAACwE,SAAS,CAAC;UACjC,MAAM9C,MAAK,GAAI1B,OAAO,CAACyE,SAAS,CAAC;UACjClH,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAE;YAAE+F,MAAM;YAAE7C;UAAO,CAAC;UACzC,OAAO;YACLnH,IAAI,EAAE,QAAQ;YACdgK,MAAM,EAAE,CAACA,MAAM,CAACtF,GAAG,EAAEsF,MAAM,CAACrF,GAAG,CAAC;YAChCwC,MAAM,EAAEA;UACV;QACF,OAAO,IAAI1B,OAAO,CAAC8C,UAAS,KAAM,cAAa,IAAK9C,OAAO,CAAC6C,SAAQ,KAAM,iBAAiB,EAAE;UAC3F,MAAM6B,IAAG,GAAI1E,OAAO,CAAC2E,OAAO,CAAC;UAC7BpH,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAEkG,IAAI;UAC5B,OAAO;YACLnK,IAAI,EAAE,SAAS;YACfmK,IAAI,EAAEA,IAAI,CAACnG,GAAG,CAACqG,KAAI,IAAK,CAACA,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC;UAChD;QACF,OAAO,IAAIc,OAAO,CAAC8C,UAAS,KAAM,gBAAe,IAAK9C,OAAO,CAAC6C,SAAQ,KAAM,mBAAmB,EAAE;UAC/F,MAAMgC,MAAK,GAAI7E,OAAO,CAAC8E,SAAS,CAAC;UACjCvH,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAEqG,MAAM;UAC7B,OAAO;YACLtK,IAAI,EAAE,WAAW;YACjBsK,MAAM,EAAE,CAACA,MAAM,CAACE,YAAY,CAAC,CAAC,CAAC9F,GAAG,EAAE4F,MAAM,CAACE,YAAY,CAAC,CAAC,CAAC7F,GAAG,EACrD2F,MAAM,CAACG,YAAY,CAAC,CAAC,CAAC/F,GAAG,EAAE4F,MAAM,CAACG,YAAY,CAAC,CAAC,CAAC9F,GAAG;UAC9D;QACF;MACF,EAAE,OAAOjC,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEA,KAAK;MAClC;MAEAM,OAAO,CAACN,KAAK,CAAC,YAAY,EAAE+C,OAAO,CAAC8C,UAAS,IAAK9C,OAAO,CAAC6C,SAAS;MACnE,OAAO,IAAG;IACZ;;IAEA;IACA,MAAM9D,eAAc,GAAI,MAAAA,CAAA,KAAY;MAClC,IAAI;QACFxB,OAAO,CAACiB,GAAG,CAAC,cAAc;QAC1BjB,OAAO,CAACiB,GAAG,CAAC,0BAA0B;QAEtC,MAAM+E,QAAO,GAAI,MAAMC,KAAK,CAAC,mBAAmB;QAChDjG,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAE+E,QAAQ,CAACM,MAAM,EAAEN,QAAQ,CAACO,UAAU;QAE9D,IAAI,CAACP,QAAQ,CAACQ,EAAE,EAAE;UAChB,MAAMC,SAAQ,GAAI,MAAMT,QAAQ,CAACU,IAAI,CAAC;UACtC1G,OAAO,CAACN,KAAK,CAAC,YAAY,EAAE+G,SAAS;UACrC,MAAM,IAAIE,KAAK,CAAC,YAAYX,QAAQ,CAACM,MAAM,IAAIN,QAAQ,CAACO,UAAU,MAAME,SAAS,EAAE;QACrF;QAEA,MAAMG,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;QACnC7G,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAE2F,MAAM;QAEhC,IAAIA,MAAM,CAACtH,OAAO,EAAE;UAClBU,OAAO,CAACiB,GAAG,CAAC,aAAa,EAAE2F,MAAM,CAACvH,IAAI;;UAEtC;UACAqI,aAAa,CAAC,IAAI;;UAElB;UACAd,MAAM,CAACvH,IAAI,CAACmD,OAAO,CAACsE,IAAG,IAAK;YAC1BC,qBAAqB,CAACD,IAAI;UAC5B,CAAC;UAED9G,OAAO,CAACiB,GAAG,CAAC,QAAQ2F,MAAM,CAACvH,IAAI,CAACG,MAAM,OAAO;QAE/C,OAAO;UACL,MAAM,IAAImH,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,SAAS;QAC7C;MAEF,EAAE,OAAOhE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;QAC/B5E,SAAS,CAAC4E,KAAK,CAAC,WAAU,GAAIA,KAAK,CAACgE,OAAO;MAC7C;IACF;;IAEA;IACA,MAAMqD,qBAAoB,GAAKD,IAAI,IAAK;MACtC,IAAI,CAACjL,WAAW,CAAC0D,KAAK,EAAE;QACtBS,OAAO,CAACN,KAAK,CAAC,iBAAiB;QAC/B;MACF;;MAEA;MACA,IAAI,CAACoH,IAAG,IAAK,CAACA,IAAI,CAAC3J,QAAQ,EAAE;QAC3B6C,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEoH,IAAI;QAC9B;MACF;MAEA,IAAI;QACF9G,OAAO,CAACiB,GAAG,CAAC,aAAa,EAAE6F,IAAI;QAE/B,MAAM5F,IAAG,GAAIC,MAAM,CAACD,IAAG;QACvB,IAAIuB,OAAM,GAAI,IAAG;;QAEjB;QACA,MAAMiD,YAAW,GAAI;UACnBd,WAAW,EAAE1E,gBAAgB,CAAC4G,IAAI,CAAC9J,IAAI,CAAC,EAAEoD,KAAI,IAAK,SAAS;UAC5DyE,YAAY,EAAE,CAAC;UACfC,aAAa,EAAE,CAAC;UAChBC,SAAS,EAAE7E,gBAAgB,CAAC4G,IAAI,CAAC9J,IAAI,CAAC,EAAEoD,KAAI,IAAK,SAAS;UAC1D4E,WAAW,EAAEvE,iBAAiB,CAACqG,IAAI,CAAC7J,KAAK,CAAC,EAAE0D,OAAM,IAAK;QACzD;QAEAX,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAEyE,YAAY;QACpC1F,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE6F,IAAI,CAAC3J,QAAQ;;QAErC;QACA,IAAI2J,IAAI,CAAC3J,QAAQ,CAACH,IAAG,KAAM,QAAQ,EAAE;UACnC;UACA,IAAI,CAAC8J,IAAI,CAAC3J,QAAQ,CAAC6J,MAAK,IAAK,CAACW,KAAK,CAACC,OAAO,CAACd,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,KAC5DF,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAACxH,MAAK,KAAM,KAChCsH,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAAC,CAAC,KAAK,IAAG,IAAKF,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAAC,CAAC,KAAK,IAAG,IACjEa,KAAK,CAACC,MAAM,CAAChB,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAAC,CAAC,CAAC,CAAC,KAAKa,KAAK,CAACC,MAAM,CAAChB,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAAC,CAAC,CAAC,CAAC,KAC/E,CAACF,IAAI,CAAC3J,QAAQ,CAACgH,MAAK,IAAK2C,IAAI,CAAC3J,QAAQ,CAACgH,MAAK,IAAK,CAAC,EAAE;YACtDnE,OAAO,CAACN,KAAK,CAAC,cAAc,EAAEoH,IAAI,CAAC3J,QAAQ;YAC3C;UACF;;UAEA;UACA,MAAMuE,GAAE,GAAIoG,MAAM,CAAChB,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAAC,CAAC,CAAC;UAC1C,MAAMrF,GAAE,GAAImG,MAAM,CAAChB,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM,CAAC,CAAC,CAAC;UAC1C,MAAM7C,MAAK,GAAI2D,MAAM,CAAChB,IAAI,CAAC3J,QAAQ,CAACgH,MAAM;UAE1CnE,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE,CAACS,GAAG,EAAEC,GAAG,CAAC,EAAEwC,MAAM;UAC1C1B,OAAM,GAAI,IAAIvB,IAAI,CAAC6G,MAAM,CAAC;YACxBf,MAAM,EAAE,IAAI9F,IAAI,CAAC8G,MAAM,CAACtG,GAAG,EAAEC,GAAG,CAAC;YACjCwC,MAAM,EAAEA,MAAM;YACd,GAAGuB;UACL,CAAC;QACH,OAAO,IAAIoB,IAAI,CAAC3J,QAAQ,CAACH,IAAG,KAAM,SAAS,EAAE;UAC3C;UACA,IAAI,CAAC8J,IAAI,CAAC3J,QAAQ,CAACgK,IAAG,IAAK,CAACQ,KAAK,CAACC,OAAO,CAACd,IAAI,CAAC3J,QAAQ,CAACgK,IAAI,KACxDL,IAAI,CAAC3J,QAAQ,CAACgK,IAAI,CAAC3H,MAAK,GAAI,CAAC,EAAE;YACjCQ,OAAO,CAACN,KAAK,CAAC,eAAe,EAAEoH,IAAI,CAAC3J,QAAQ;YAC5C;UACF;;UAEA;UACA,MAAM8K,SAAQ,GAAInB,IAAI,CAAC3J,QAAQ,CAACgK,IAAI,CAACe,KAAK,CAACb,KAAI,IAC7CM,KAAK,CAACC,OAAO,CAACP,KAAK,KAAKA,KAAK,CAAC7H,MAAK,KAAM,KACzC6H,KAAK,CAAC,CAAC,KAAK,IAAG,IAAKA,KAAK,CAAC,CAAC,KAAK,IAAG,IACnC,CAACQ,KAAK,CAACC,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAACQ,KAAK,CAACC,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC,CAAC,CACrD;UAEA,IAAI,CAACY,SAAS,EAAE;YACdjI,OAAO,CAACN,KAAK,CAAC,kBAAkB,EAAEoH,IAAI,CAAC3J,QAAQ,CAACgK,IAAI;YACpD;UACF;UAEAnH,OAAO,CAACiB,GAAG,CAAC,WAAW,EAAE6F,IAAI,CAAC3J,QAAQ,CAACgK,IAAI;UAC3C,MAAMA,IAAG,GAAIL,IAAI,CAAC3J,QAAQ,CAACgK,IAAI,CAACnG,GAAG,CAACqG,KAAI,IAAK,IAAInG,IAAI,CAAC8G,MAAM,CAACF,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC,CAAC,EAAES,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAChG5E,OAAM,GAAI,IAAIvB,IAAI,CAACiH,OAAO,CAAC;YACzBhB,IAAI,EAAEA,IAAI;YACV,GAAGzB;UACL,CAAC;QACH,OAAO,IAAIoB,IAAI,CAAC3J,QAAQ,CAACH,IAAG,KAAM,WAAW,EAAE;UAC7C;UACA,IAAI,CAAC8J,IAAI,CAAC3J,QAAQ,CAACmK,MAAK,IAAK,CAACK,KAAK,CAACC,OAAO,CAACd,IAAI,CAAC3J,QAAQ,CAACmK,MAAM,KAC5DR,IAAI,CAAC3J,QAAQ,CAACmK,MAAM,CAAC9H,MAAK,KAAM,KAChCsH,IAAI,CAAC3J,QAAQ,CAACmK,MAAM,CAACc,IAAI,CAACC,GAAE,IAAKA,GAAE,IAAK,IAAG,IAAKR,KAAK,CAACC,MAAM,CAACO,GAAG,CAAC,CAAC,CAAC,EAAE;YACvErI,OAAO,CAACN,KAAK,CAAC,cAAc,EAAEoH,IAAI,CAAC3J,QAAQ;YAC3C;UACF;;UAEA;UACA,MAAMmL,aAAY,GAAIxB,IAAI,CAAC3J,QAAQ,CAACmK,MAAM,CAACtG,GAAG,CAACqH,GAAE,IAAKP,MAAM,CAACO,GAAG,CAAC;UAEjErI,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAEqH,aAAa;UACrC,MAAMhB,MAAK,GAAI,IAAIpG,IAAI,CAACqH,MAAM,CAC5B,IAAIrH,IAAI,CAAC8G,MAAM,CAACM,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAAC,CAAC,CAAC,CAAC,EACnD,IAAIpH,IAAI,CAAC8G,MAAM,CAACM,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAAC,CAAC,CAAC,CACpD;UACA7F,OAAM,GAAI,IAAIvB,IAAI,CAACsH,SAAS,CAAC;YAC3BlB,MAAM,EAAEA,MAAM;YACd,GAAG5B;UACL,CAAC;QACH,OAAO;UACL1F,OAAO,CAACN,KAAK,CAAC,cAAc,EAAEoH,IAAI,CAAC3J,QAAQ,CAACH,IAAI;UAChD;QACF;QAEA,IAAIyF,OAAO,EAAE;UACXzC,OAAO,CAACiB,GAAG,CAAC,kBAAkB;;UAE9B;UACApF,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAAClB,OAAO;;UAE7B;UACAvG,YAAY,CAAC4K,IAAI,CAAC/J,EAAE,IAAI0F,OAAM;;UAE9B;UACA,MAAMgG,aAAY,GAAIxM,WAAW,CAACsD,KAAK,CAACmJ,SAAS,CAACC,CAAA,IAAKA,CAAC,CAAC5L,EAAC,KAAM+J,IAAI,CAAC/J,EAAE;UACvE,IAAI0L,aAAY,KAAM,CAAC,CAAC,EAAE;YACxBxM,WAAW,CAACsD,KAAK,CAACqE,IAAI,CAACkD,IAAI;YAC3B9G,OAAO,CAACiB,GAAG,CAAC,WAAW;UACzB,OAAO;YACLjB,OAAO,CAACiB,GAAG,CAAC,gBAAgB;UAC9B;;UAEA;UACA,MAAM2H,eAAc,GAAKnJ,CAAC,IAAK;YAC7BO,OAAO,CAACiB,GAAG,CAAC,eAAe,EAAErF,WAAW,CAAC2D,KAAK,EAAE,QAAQ,EAAEuH,IAAI,CAAC/J,EAAE;YAEjE,IAAInB,WAAW,CAAC2D,KAAI,KAAM,YAAY,EAAE;cACtC;cACAS,OAAO,CAACiB,GAAG,CAAC,WAAW;cACvB4H,UAAU,CAAC/B,IAAI,CAAC/J,EAAE;cAClB;cACA,IAAI0C,CAAC,CAACqJ,eAAe,EAAE;gBACrBrJ,CAAC,CAACqJ,eAAe,CAAC;cACpB;YACF,OAAO;cACL;cACA9I,OAAO,CAACiB,GAAG,CAAC,mBAAmB;cAE/B,IAAI;gBACF;gBACA,MAAMW,MAAK,GAAInC,CAAC,CAACmC,MAAK;gBACtB5B,OAAO,CAACiB,GAAG,CAAC,WAAW,EAAEW,MAAM;;gBAE/B;gBACAH,UAAU,CAAC;kBAAEG;gBAAO,CAAC;cACvB,EAAE,OAAOlC,KAAK,EAAE;gBACdM,OAAO,CAACN,KAAK,CAAC,aAAa,EAAEA,KAAK;cACpC;YACF;UACF;;UAEA;UACA+C,OAAO,CAACpB,EAAE,CAAC,OAAO,EAAEuH,eAAe;;UAEnC;UACAjD,UAAU,CAAC,MAAM;YACf9J,WAAW,CAAC0D,KAAK,CAACqG,UAAU,CAAC;UAC/B,CAAC,EAAE,GAAG;UAEN5F,OAAO,CAACiB,GAAG,CAAC,OAAO6F,IAAI,CAAC/J,EAAE,WAAW;QAEvC,OAAO;UACLiD,OAAO,CAACN,KAAK,CAAC,YAAY;QAC5B;MAEF,EAAE,OAAOA,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEoH,IAAI,CAAC/J,EAAE,EAAE2C,KAAK;MAC1C;IACF;;IAEA;IACA,MAAMmJ,UAAS,GAAK9L,EAAE,IAAK;MACzBJ,cAAc,CAAC4C,KAAI,GAAIxC,EAAC;MACxB,MAAM0F,OAAM,GAAIvG,YAAY,CAACa,EAAE;MAC/B,IAAI0F,OAAO,EAAE;QACX;QACAA,OAAO,CAACC,UAAU,CAAC;UACjBmC,YAAY,EAAE,CAAC;UACfC,aAAa,EAAE;QACjB,CAAC;;QAED;QACA7I,WAAW,CAACsD,KAAK,CAACiD,OAAO,CAACmG,CAAA,IAAK;UAC7B,IAAIA,CAAC,CAAC5L,EAAC,KAAMA,EAAE,EAAE;YACf,MAAMgM,YAAW,GAAI7M,YAAY,CAACyM,CAAC,CAAC5L,EAAE;YACtC,IAAIgM,YAAY,EAAE;cAChBA,YAAY,CAACrG,UAAU,CAAC;gBACtBmC,YAAY,EAAE,CAAC;gBACfC,aAAa,EAAE;cACjB,CAAC;YACH;UACF;QACF,CAAC;MACH;IACF;;IAEA;IACA,MAAMkE,UAAS,GAAI,MAAOjM,EAAE,IAAK;MAC/B,IAAI;QACFiD,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAElE,EAAE;QAE1B,MAAMiJ,QAAO,GAAI,MAAMC,KAAK,CAAC,qBAAqBlJ,EAAE,EAAE,EAAE;UACtDmJ,MAAM,EAAE;QACV,CAAC;QAED,IAAI,CAACF,QAAQ,CAACQ,EAAE,EAAE;UAChB,MAAM,IAAIG,KAAK,CAAC,SAAS;QAC3B;QAEA,MAAMC,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;QAEnC,IAAID,MAAM,CAACtH,OAAO,EAAE;UAClB;UACA,MAAMmD,OAAM,GAAIvG,YAAY,CAACa,EAAE;UAC/B,IAAI0F,OAAO,EAAE;YACX5G,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACrB,OAAO;YAChC,OAAOvG,YAAY,CAACa,EAAE;UACxB;;UAEA;UACAd,WAAW,CAACsD,KAAI,GAAItD,WAAW,CAACsD,KAAK,CAAC0J,MAAM,CAACnC,IAAG,IAAKA,IAAI,CAAC/J,EAAC,KAAMA,EAAE;UAEnE,IAAIJ,cAAc,CAAC4C,KAAI,KAAMxC,EAAE,EAAE;YAC/BJ,cAAc,CAAC4C,KAAI,GAAI,IAAG;UAC5B;UAEAzE,SAAS,CAACwE,OAAO,CAAC,QAAQ;UAC1BU,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAElE,EAAE;QAE5B,OAAO;UACL,MAAM,IAAI4J,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,SAAS;QAC7C;MAEF,EAAE,OAAOhE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;QAC/B5E,SAAS,CAAC4E,KAAK,CAAC,WAAU,GAAIA,KAAK,CAACgE,OAAO;MAC7C;IACF;;IAEA;IACA,MAAMwF,QAAO,GAAKpC,IAAI,IAAK;MACzBhK,QAAQ,CAACyC,KAAI,GAAI;QAAE,GAAGuH;MAAK;MAC3BjK,iBAAiB,CAAC0C,KAAI,GAAI,IAAG;IAC/B;;IAEA;IACA,MAAM4J,cAAa,GAAI,MAAAA,CAAA,KAAY;MACjC,IAAI;QACFnJ,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAEnE,QAAQ,CAACyC,KAAK,CAACxC,EAAE;QAEzC,MAAMiJ,QAAO,GAAI,MAAMC,KAAK,CAAC,qBAAqBnJ,QAAQ,CAACyC,KAAK,CAACxC,EAAE,EAAE,EAAE;UACrEmJ,MAAM,EAAE,KAAK;UACb/G,OAAO,EAAE;YACP,cAAc,EAAE;UAClB,CAAC;UACDgH,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;YACnBrJ,IAAI,EAAEF,QAAQ,CAACyC,KAAK,CAACvC,IAAI;YACzBC,KAAK,EAAEH,QAAQ,CAACyC,KAAK,CAACtC,KAAK;YAC3BC,WAAW,EAAEJ,QAAQ,CAACyC,KAAK,CAACrC;UAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC8I,QAAQ,CAACQ,EAAE,EAAE;UAChB,MAAM,IAAIG,KAAK,CAAC,SAAS;QAC3B;QAEA,MAAMC,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;QAEnC,IAAID,MAAM,CAACtH,OAAO,EAAE;UAClB;UACA,MAAMwH,IAAG,GAAI7K,WAAW,CAACsD,KAAK,CAAC6J,IAAI,CAACT,CAAA,IAAKA,CAAC,CAAC5L,EAAC,KAAMD,QAAQ,CAACyC,KAAK,CAACxC,EAAE;UACnE,IAAI+J,IAAI,EAAE;YACRA,IAAI,CAAC9J,IAAG,GAAIF,QAAQ,CAACyC,KAAK,CAACvC,IAAG;YAC9B8J,IAAI,CAAC7J,KAAI,GAAIH,QAAQ,CAACyC,KAAK,CAACtC,KAAI;YAChC6J,IAAI,CAAC5J,WAAU,GAAIJ,QAAQ,CAACyC,KAAK,CAACrC,WAAU;;YAE5C;YACA,MAAMuF,OAAM,GAAIvG,YAAY,CAAC4K,IAAI,CAAC/J,EAAE;YACpC,IAAI0F,OAAO,EAAE;cACXA,OAAO,CAACC,UAAU,CAAC;gBACjBkC,WAAW,EAAE1E,gBAAgB,CAAC4G,IAAI,CAAC9J,IAAI,CAAC,CAACoD,KAAK;gBAC9C2E,SAAS,EAAE7E,gBAAgB,CAAC4G,IAAI,CAAC9J,IAAI,CAAC,CAACoD,KAAK;gBAC5C4E,WAAW,EAAEvE,iBAAiB,CAACqG,IAAI,CAAC7J,KAAK,CAAC,CAAC0D;cAC7C,CAAC;YACH;UACF;UAEA7F,SAAS,CAACwE,OAAO,CAAC,QAAQ;UAC1BU,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE2F,MAAM,CAACvH,IAAI;QAErC,OAAO;UACL,MAAM,IAAIsH,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,SAAS;QAC7C;MAEF,EAAE,OAAOhE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;QAC/B5E,SAAS,CAAC4E,KAAK,CAAC,WAAU,GAAIA,KAAK,CAACgE,OAAO;MAC7C;MAEA7G,iBAAiB,CAAC0C,KAAI,GAAI,KAAI;IAChC;;IAEA;IACA,MAAMmI,aAAY,GAAI,MAAAA,CAAO2B,WAAU,GAAI,KAAK,KAAK;MACnD,IAAI;QACF,IAAI,CAACA,WAAU,IAAKpN,WAAW,CAACsD,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;UAChD;UACA,MAAM8J,OAAM,GAAIrN,WAAW,CAACsD,KAAK,CAACyB,GAAG,CAAC8F,IAAG,IAAKA,IAAI,CAAC/J,EAAE;UAErDiD,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAEqI,OAAO;UAEjC,MAAMtD,QAAO,GAAI,MAAMC,KAAK,CAAC,mBAAmB,EAAE;YAChDC,MAAM,EAAE,QAAQ;YAChB/G,OAAO,EAAE;cACP,cAAc,EAAE;YAClB,CAAC;YACDgH,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;cAAEkD,GAAG,EAAED;YAAQ,CAAC;UACvC,CAAC;UAED,IAAI,CAACtD,QAAQ,CAACQ,EAAE,EAAE;YAChB,MAAM,IAAIG,KAAK,CAAC,WAAW;UAC7B;UAEA,MAAMC,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;UAEnC,IAAI,CAACD,MAAM,CAACtH,OAAO,EAAE;YACnB,MAAM,IAAIqH,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,WAAW;UAC/C;UAEA1D,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAE2F,MAAM,CAACvH,IAAI;QACvC;;QAEA;QACAiD,MAAM,CAACC,MAAM,CAACrG,YAAY,CAAC,CAACsG,OAAO,CAACC,OAAM,IAAK;UAC7C,IAAI5G,WAAW,CAAC0D,KAAK,EAAE;YACrB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACrB,OAAO;UAClC;QACF,CAAC;;QAED;QACAxG,WAAW,CAACsD,KAAI,GAAI,EAAC;QACrB+C,MAAM,CAACkH,IAAI,CAACtN,YAAY,CAAC,CAACsG,OAAO,CAACiH,GAAE,IAAK;UACvC,OAAOvN,YAAY,CAACuN,GAAG;QACzB,CAAC;QACD9M,cAAc,CAAC4C,KAAI,GAAI,IAAG;QAE1B,IAAI,CAAC8J,WAAW,EAAE;UAChBvO,SAAS,CAACwE,OAAO,CAAC,UAAU;QAC9B;MAEF,EAAE,OAAOI,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;QAC/B,IAAI,CAAC2J,WAAW,EAAE;UAChBvO,SAAS,CAAC4E,KAAK,CAAC,WAAU,GAAIA,KAAK,CAACgE,OAAO;QAC7C;MACF;IACF;;IAEA;IACA,MAAMgG,qBAAoB,GAAKC,MAAM,IAAK;MACxC/M,aAAa,CAAC2C,KAAI,GAAIoK,MAAK;;MAE3B;MACA1N,WAAW,CAACsD,KAAK,CAACiD,OAAO,CAACsE,IAAG,IAAK;QAChC,MAAMrE,OAAM,GAAIvG,YAAY,CAAC4K,IAAI,CAAC/J,EAAE;QACpC,IAAI0F,OAAO,EAAE;UACX,IAAIkH,MAAM,CAACC,QAAQ,CAAC9C,IAAI,CAAC9J,IAAI,CAAC,EAAE;YAC9BnB,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAAClB,OAAO;UAC/B,OAAO;YACL5G,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACrB,OAAO;UAClC;QACF;MACF,CAAC;IACH;;IAEA;IACA,MAAMoH,UAAS,GAAIA,CAAA,KAAM;MACvB,IAAI5N,WAAW,CAACsD,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;MAEpC,MAAM8H,MAAK,GAAI,IAAKnG,MAAM,CAACD,IAAI,CAACqH,MAAM,CAAE;MACxCtM,WAAW,CAACsD,KAAK,CAACiD,OAAO,CAACsE,IAAG,IAAK;QAChC,MAAMrE,OAAM,GAAIvG,YAAY,CAAC4K,IAAI,CAAC/J,EAAE;QACpC,IAAI0F,OAAM,IAAKA,OAAO,CAAC8E,SAAS,EAAE;UAChCD,MAAM,CAACwC,MAAM,CAACrH,OAAO,CAAC8E,SAAS,CAAC,CAAC;QACnC,OAAO,IAAIT,IAAI,CAAC3J,QAAQ,EAAE6J,MAAM,EAAE;UAChCM,MAAM,CAACwC,MAAM,CAAChD,IAAI,CAAC3J,QAAQ,CAAC6J,MAAM;QACpC;MACF,CAAC;MAEDnL,WAAW,CAAC0D,KAAK,CAACwK,SAAS,CAACzC,MAAM;IACpC;;IAEA;;IAEA;IACA,MAAMxF,YAAW,GAAIA,CAACJ,GAAG,EAAEC,GAAG,KAAK;MACjC3B,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE;QAAES,GAAG;QAAEC,GAAG;QAAE9F,WAAW,EAAE,CAAC,CAACA,WAAW,CAAC0D,KAAK;QAAEzD,OAAO,EAAEA,OAAO,CAACyD;MAAM,CAAC;MAC9F,IAAI,CAACzD,OAAO,CAACyD,KAAI,IAAK,CAAC1D,WAAW,CAAC0D,KAAK,EAAE;MAE1C,MAAM2B,IAAG,GAAIC,MAAM,CAACD,IAAG;MACvB,MAAM8I,UAAS,GAAI5M,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI;;MAE7C;MACApC,UAAU,CAACmC,KAAK,CAACqE,IAAI,CAAC;QAAElC,GAAG;QAAEC;MAAI,CAAC;MAClC3B,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAE7D,UAAU,CAACmC,KAAK,CAACC,MAAM;;MAEjD;MACA,MAAMuD,MAAK,GAAI,IAAI7B,IAAI,CAAC8B,MAAM,CAAC;QAC7BC,QAAQ,EAAE,CAACvB,GAAG,EAAEC,GAAG,CAAC;QACpBuB,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;UAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;UAC3BC,KAAK,EAAE,4BAA2B,GAAI3D,gBAAgB,CAAC;;;wGAGuCqK,UAAU;;WAEvG,CAAC;UACFzG,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;QACjC,CAAC,CAAC;QACFG,KAAK,EAAE,MAAMwG,UAAU,EAAE;QACzBpH,MAAM,EAAE,GAAE,CAAE;MACd,CAAC;MAED5C,OAAO,CAACiB,GAAG,CAAC,cAAc;MAC1BpF,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;MAC5B1F,WAAW,CAACkC,KAAK,CAACqE,IAAI,CAACb,MAAM;MAC7B/C,OAAO,CAACiB,GAAG,CAAC,eAAe,EAAE5D,WAAW,CAACkC,KAAK,CAACC,MAAM;;MAErD;MACA,IAAIpC,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;QAC/ByK,cAAc,CAAC;MACjB;MAEAnP,SAAS,CAACwE,OAAO,CAAC,SAAS0K,UAAU,EAAE;IACzC;IAEA,MAAMC,cAAa,GAAIA,CAAA,KAAM;MAC3B,IAAI,CAACpO,WAAW,CAAC0D,KAAK,EAAE;MAExB,MAAM2B,IAAG,GAAIC,MAAM,CAACD,IAAG;MAEvB,IAAI5D,QAAQ,CAACiC,KAAK,EAAE;QAClB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACxG,QAAQ,CAACiC,KAAK;MACzC;MAEA,MAAM4H,IAAG,GAAI/J,UAAU,CAACmC,KAAK,CAACyB,GAAG,CAACkJ,CAAA,IAAK,CAACA,CAAC,CAACxI,GAAG,EAAEwI,CAAC,CAACvI,GAAG,CAAC;MAErDrE,QAAQ,CAACiC,KAAI,GAAI,IAAI2B,IAAI,CAACiJ,QAAQ,CAAC;QACjChD,IAAI,EAAEA,IAAI;QACVvC,WAAW,EAAE,SAAS;QACtBC,YAAY,EAAE,CAAC;QACfuF,WAAW,EAAE;MACf,CAAC;MAEDvO,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACrG,QAAQ,CAACiC,KAAK;IACtC;;IAEA;IACA,MAAM8K,WAAU,GAAKC,KAAK,IAAK;MAC7BlN,UAAU,CAACmC,KAAK,CAACgL,MAAM,CAACD,KAAK,EAAE,CAAC;;MAEhC;MACAE,gBAAgB,CAAC;MACjBpN,UAAU,CAACmC,KAAK,CAACiD,OAAO,CAAC,CAAC6E,KAAK,EAAEoD,CAAC,KAAK;QACrCC,kBAAkB,CAACrD,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,EAAE8I,CAAA,GAAI,CAAC;MAChD,CAAC;MAED,IAAIrN,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;QAC/ByK,cAAc,CAAC;MACjB,OAAO,IAAI3M,QAAQ,CAACiC,KAAK,EAAE;QACzB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACxG,QAAQ,CAACiC,KAAK;QACvCjC,QAAQ,CAACiC,KAAI,GAAI,IAAG;MACtB;;MAEA;MACA7B,QAAQ,CAAC6B,KAAI,GAAI,IAAG;IACtB;IAEA,MAAMmL,kBAAiB,GAAIA,CAAChJ,GAAG,EAAEC,GAAG,EAAE2I,KAAK,KAAK;MAC9C,MAAMpJ,IAAG,GAAIC,MAAM,CAACD,IAAG;MAEvB,MAAM6B,MAAK,GAAI,IAAI7B,IAAI,CAAC8B,MAAM,CAAC;QAC7BC,QAAQ,EAAE,CAACvB,GAAG,EAAEC,GAAG,CAAC;QACpBuB,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;UAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;UAC3BC,KAAK,EAAE,4BAA2B,GAAI3D,gBAAgB,CAAC;;;wGAGuC2K,KAAK;;WAElG,CAAC;UACF/G,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;QACjC,CAAC,CAAC;QACFG,KAAK,EAAE,MAAM8G,KAAK;MACpB,CAAC;MAEDzO,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;MAC5B1F,WAAW,CAACkC,KAAK,CAACqE,IAAI,CAACb,MAAM;IAC/B;IAEA,MAAMyH,gBAAe,GAAIA,CAAA,KAAM;MAC7BnN,WAAW,CAACkC,KAAK,CAACiD,OAAO,CAACO,MAAK,IAAK;QAClClH,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACf,MAAM;MACjC,CAAC;MACD1F,WAAW,CAACkC,KAAI,GAAI,EAAC;IACvB;;IAEA;IACA,MAAMoL,QAAO,GAAI,MAAAA,CAAA,KAAY;MAC3B,MAAM9L,WAAW,CAAC,CAAC,EAAE;MACrB,MAAM+L,KAAI,GAAIjM,MAAM,CAACY,KAAK,CAAC6J,IAAI,CAACyB,CAAA,IAAKA,CAAC,CAAC9N,EAAC,KAAM6B,eAAe,CAACW,KAAK,CAAC;MACpE,IAAI,CAACqL,KAAI,IAAKA,KAAK,CAACE,QAAO,IAAK,IAAG,IAAKF,KAAK,CAACG,SAAQ,IAAK,IAAI,EAAE;QAC/DjQ,SAAS,CAAC4E,KAAK,CAAC,YAAY;QAC5B;MACF;MACA;MACA,MAAMsL,cAAa,GAAI,MAAM,EAAE;MAC/B,MAAMC,gBAAe,GAAIlP,YAAY,CAACwD,KAAK,CAAC0J,MAAM,CAACiC,EAAC,IAAK;QACvD,MAAMC,IAAG,GAAID,EAAE,CAACvJ,GAAE,GAAIiJ,KAAK,CAACE,QAAQ;QACpC,MAAMM,IAAG,GAAIF,EAAE,CAACxJ,GAAE,GAAIkJ,KAAK,CAACG,SAAS;QACrC,OAAOM,IAAI,CAACC,IAAI,CAACH,IAAG,GAAIA,IAAG,GAAIC,IAAG,GAAIA,IAAI,IAAIJ,cAAc;MAC9D,CAAC,CAAC;MACF,IAAIC,gBAAgB,CAACzL,MAAK,KAAM,CAAC,EAAE;QACjC1E,SAAS,CAACyQ,OAAO,CAAC,kBAAkB;QACpC;MACF;MACA,MAAMC,YAAW,GAAI;QACnBC,OAAO,EAAEb,KAAK,CAAC7N,EAAE;QACjB2O,UAAU,EAAE,IAAI;QAAE;QAClB3P,YAAY,EAAEkP,gBAAgB;QAC9BU,SAAS,EAAEpO,iBAAiB,CAACgC,KAAI,IAAK,OAAO;QAC7C/B,cAAc,EAAEA,cAAc,CAAC+B,KAAK;QACpC9B,WAAW,EAAEA,WAAW,CAAC8B,KAAK;QAC9BtD,WAAW,EAAEA,WAAW,CAACsD,KAAI,IAAKtD,WAAW,CAACsD,KAAK,CAACC,MAAK,GAAI,IAAIvD,WAAW,CAACsD,KAAK,CAACyB,GAAG,CAAC8F,IAAG,KAAM;UAC9F/J,EAAE,EAAE+J,IAAI,CAAC/J,EAAE;UACXC,IAAI,EAAE8J,IAAI,CAAC9J,IAAI;UACfC,KAAK,EAAE6J,IAAI,CAAC7J,KAAK;UACjB2O,aAAa,EAAE9E,IAAI,CAAC3J,QAAQ,EAAEH,IAAG,IAAK8J,IAAI,CAAC8E,aAAa;UACxDC,aAAa,EAAE/E,IAAI,CAAC3J,QAAO,IAAK2J,IAAI,CAAC+E,aAAa;UAClD3O,WAAW,EAAE4J,IAAI,CAAC5J;QACpB,CAAC,CAAC,IAAI;MACR;MACA,IAAI;QACF8C,OAAO,CAACiB,GAAG,CAAC,cAAc,EAAEuK,YAAY;QACxCxL,OAAO,CAACiB,GAAG,CAAC,cAAc;QAC1BjB,OAAO,CAACiB,GAAG,CAAC,KAAK,EAAE1D,iBAAiB,CAACgC,KAAK;QAC1CS,OAAO,CAACiB,GAAG,CAAC,QAAQ,EAAE7D,UAAU,CAACmC,KAAK,CAACC,MAAM;QAC7CQ,OAAO,CAACiB,GAAG,CAAC,MAAM,EAAEhF,WAAW,CAACsD,KAAK;;QAErC;QACA,MAAMyG,QAAO,GAAI,MAAMC,KAAK,CAAC,oBAAoB,EAAE;UACjDC,MAAM,EAAE,MAAM;UACd/G,OAAO,EAAE;YACP,cAAc,EAAE;UAClB,CAAC;UACDgH,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACmF,YAAY;QACnC,CAAC;QAED,IAAI,CAACxF,QAAQ,CAACQ,EAAE,EAAE;UAChB,MAAMC,SAAQ,GAAI,MAAMT,QAAQ,CAACU,IAAI,CAAC;UACtC1G,OAAO,CAACN,KAAK,CAAC,SAAS,EAAE;YACvB4G,MAAM,EAAEN,QAAQ,CAACM,MAAM;YACvBC,UAAU,EAAEP,QAAQ,CAACO,UAAU;YAC/B7G,KAAK,EAAE+G;UACT,CAAC;UACD,MAAM,IAAIE,KAAK,CAAC,WAAWX,QAAQ,CAACM,MAAM,MAAMG,SAAS,EAAE;QAC7D;QAEA,MAAMG,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;QACnC7G,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAE2F,MAAM;QAE7B,IAAIA,MAAM,CAACtH,OAAO,EAAE;UAClB,MAAM;YAAED,IAAI;YAAEyM;UAAQ,IAAIlF,MAAK;;UAE/B;UACA,IAAIvH,IAAI,CAAC0M,WAAU,IAAKpE,KAAK,CAACC,OAAO,CAACvI,IAAI,CAAC0M,WAAW,KAAK1M,IAAI,CAAC0M,WAAW,CAACvM,MAAK,GAAI,CAAC,EAAE;YACtFpC,UAAU,CAACmC,KAAI,GAAIF,IAAI,CAAC0M,WAAU;UACpC;UACA;UACArO,QAAQ,CAAC6B,KAAI,GAAI;YACfyM,QAAQ,EAAEX,IAAI,CAACY,KAAK,CAAC5M,IAAI,CAAC2M,QAAO,IAAKF,OAAO,EAAEI,aAAY,IAAK,CAAC,CAAC;YAClEC,QAAQ,EAAE9M,IAAI,CAAC+M,cAAa,IAAKN,OAAO,EAAEO,aAAY,IAAK,CAAC;YAC5DC,UAAU,EAAEjN,IAAI,CAAC0M,WAAW,EAAEvM,MAAK,IAAKsM,OAAO,EAAES,aAAY,IAAK,CAAC;YACnEZ,SAAS,EAAEtM,IAAI,CAACsM,SAAQ,IAAK/E,MAAM,CAAC+E,SAAS;YAC7Ca,kBAAkB,EAAEnN,IAAI,CAACoN,oBAAmB,IAAKX,OAAO,EAAEU,kBAAiB,IAAK,EAAE;YAClFE,WAAW,EAAEZ,OAAO,EAAEY,WAAU,IAAK;UACvC;;UAEA;UACAC,gBAAgB,CAAC;;UAEjB;UACA,MAAMC,QAAO,GAAIvN,IAAI,CAAC0M,WAAU,IAAK1M,IAAI,CAAC8H,IAAG,IAAK,EAAC;UACnD0F,4BAA4B,CAACD,QAAQ,EAAE7Q,YAAY,EAAE+P,OAAO,EAAEY,WAAW;UAEzE5R,SAAS,CAACwE,OAAO,CAAC,GAAGwN,gBAAgB,CAAClG,MAAM,CAAC+E,SAAS,CAAC,YAAY;UAEnE,MAAMoB,WAAU,GAAI1N,IAAI,CAACoN,oBAAoB,EAAEjN,MAAK,IAAKsM,OAAO,EAAEU,kBAAkB,EAAEhN,MAAK,IAAK;UAChG,IAAIuN,WAAU,GAAI,CAAC,EAAE;YACnBjS,SAAS,CAAC4J,IAAI,CAAC,QAAQqI,WAAW,OAAO;UAC3C;;UAEA;UACA,IAAIjB,OAAO,EAAEY,WAAU,IAAKZ,OAAO,CAACY,WAAW,CAAClN,MAAK,GAAI,CAAC,EAAE;YAC1D,MAAMwN,SAAQ,GAAIlB,OAAO,CAACY,WAAW,CAAC1L,GAAG,CAAC,CAACiM,MAAM,EAAE3C,KAAK,KACtD,GAAGA,KAAI,GAAI,CAAC,KAAK2C,MAAM,CAACC,MAAM,CAACxL,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAKwJ,MAAM,CAACC,MAAM,CAACvL,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC,GAAGwJ,MAAM,CAACE,YAAW,GAAI,SAAQ,GAAI,EAAE,EACvH,CAAC,CAACC,IAAI,CAAC,IAAI;YAEXzH,UAAU,CAAC,MAAM;cACf7K,SAAS,CAAC;gBACR4I,OAAO,EAAE,aAAasJ,SAAS,EAAE;gBACjChQ,IAAI,EAAE,MAAM;gBACZmP,QAAQ,EAAE,KAAK;gBACfkB,SAAS,EAAE;cACb,CAAC;YACH,CAAC,EAAE,IAAI;UACT;QAEF,OAAO;UACL,MAAM,IAAI1G,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,QAAQ;QAC5C;MAEF,EAAE,OAAOhE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,SAAS,EAAEA,KAAK;QAC9B5E,SAAS,CAAC4E,KAAK,CAAC,UAAS,GAAIA,KAAK,CAACgE,OAAO;MAC5C;IACF;;IAEA;IACA,MAAMoJ,gBAAe,GAAKnB,SAAS,IAAK;MACtC,MAAM2B,cAAa,GAAI;QACrBC,KAAK,EAAE,MAAM;QACbC,GAAG,EAAE,OAAO;QACZC,OAAO,EAAE,MAAM;QACfC,QAAQ,EAAE;MACZ;MACA,OAAOJ,cAAc,CAAC3B,SAAS,KAAKA,SAAQ;IAC9C;;IAEA;IACA,MAAMkB,4BAA2B,GAAIA,CAACc,WAAW,EAAEC,eAAe,EAAElB,WAAW,KAAK;MAClF,IAAI,CAAC7Q,WAAW,CAAC0D,KAAI,IAAK,CAACoO,WAAU,IAAKA,WAAW,CAACnO,MAAK,GAAI,CAAC,EAAE;MAClE,MAAM0B,IAAG,GAAIC,MAAM,CAACD,IAAG;MACvB;MACA,IAAI5D,QAAQ,CAACiC,KAAK,EAAE;QAClB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACxG,QAAQ,CAACiC,KAAK;QACvCjC,QAAQ,CAACiC,KAAI,GAAI,IAAG;MACtB;MACA,IAAIlC,WAAW,CAACkC,KAAI,IAAKlC,WAAW,CAACkC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;QACrD3D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACzG,WAAW,CAACkC,KAAK;QAC1ClC,WAAW,CAACkC,KAAI,GAAI,EAAC;MACvB;MACA;MACA,MAAMsO,UAAS,GAAIF,WAAW,CAAC3M,GAAG,CAACqG,KAAI,IAAK,CAACA,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC;MAClErE,QAAQ,CAACiC,KAAI,GAAI,IAAI2B,IAAI,CAACiJ,QAAQ,CAAC;QACjChD,IAAI,EAAE0G,UAAU;QAChBjJ,WAAW,EAAE,SAAS;QACtBC,YAAY,EAAE,CAAC;QACfuF,WAAW,EAAE,OAAO;QACpBtF,aAAa,EAAE;MACjB,CAAC;MACDjJ,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACrG,QAAQ,CAACiC,KAAK;MACpC;MACA,MAAMuO,OAAM,GAAI,EAAC;MACjB,IAAIH,WAAW,CAACnO,MAAK,GAAI,CAAC,EAAE;QAC1B;QACA,MAAMuO,KAAI,GAAIJ,WAAW,CAAC,CAAC;QAC3B,MAAMK,WAAU,GAAI,IAAI9M,IAAI,CAAC8B,MAAM,CAAC;UAClCC,QAAQ,EAAE,CAAC8K,KAAK,CAACrM,GAAG,EAAEqM,KAAK,CAACpM,GAAG,CAAC;UAChCuB,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;YAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAC3BC,KAAK,EAAE,4BAA2B,GAAI3D,gBAAgB,CAAC;;;;;aAKtD,CAAC;YACF4D,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;UACjC,CAAC,CAAC;UACFG,KAAK,EAAE,IAAI;UACXZ,MAAM,EAAE;QACV,CAAC;QACD/G,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACqK,WAAW;QACjCF,OAAO,CAAClK,IAAI,CAACoK,WAAW;QACxB;QACA,MAAMC,GAAE,GAAIN,WAAW,CAACA,WAAW,CAACnO,MAAK,GAAI,CAAC;QAC9C,IAAIyO,GAAE,KAAMA,GAAG,CAACvM,GAAE,KAAMqM,KAAK,CAACrM,GAAE,IAAKuM,GAAG,CAACtM,GAAE,KAAMoM,KAAK,CAACpM,GAAG,CAAC,EAAE;UAC3D,MAAMuM,SAAQ,GAAI,IAAIhN,IAAI,CAAC8B,MAAM,CAAC;YAChCC,QAAQ,EAAE,CAACgL,GAAG,CAACvM,GAAG,EAAEuM,GAAG,CAACtM,GAAG,CAAC;YAC5BuB,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;cAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;cAC3BC,KAAK,EAAE,4BAA2B,GAAI3D,gBAAgB,CAAC;;;;;eAKtD,CAAC;cACF4D,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;YACjC,CAAC,CAAC;YACFG,KAAK,EAAE,IAAI;YACXZ,MAAM,EAAE;UACV,CAAC;UACD/G,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACuK,SAAS;UAC/BJ,OAAO,CAAClK,IAAI,CAACsK,SAAS;QACxB;MACF;MACA7Q,WAAW,CAACkC,KAAI,GAAIuO,OAAM;MAC1B;MACAnI,UAAU,CAAC,MAAM;QACf,IAAIrI,QAAQ,CAACiC,KAAK,EAAE;UAClB1D,WAAW,CAAC0D,KAAK,CAACqG,UAAU,CAAC,CAACtI,QAAQ,CAACiC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACxE;MACF,CAAC,EAAE,GAAG;IACR;;IAEA;IACA,MAAMoN,gBAAe,GAAIA,CAAA,KAAM;MAC7B;MACA,IAAIrP,QAAQ,CAACiC,KAAK,EAAE;QAClB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACxG,QAAQ,CAACiC,KAAK;QACvCjC,QAAQ,CAACiC,KAAI,GAAI,IAAG;MACtB;;MAEA;MACAiL,gBAAgB,CAAC;IACnB;IAEA,MAAM2D,iBAAgB,GAAIA,CAAA,KAAM;MAC9B,IAAIjC,aAAY,GAAI;MACpB,KAAK,IAAIzB,CAAA,GAAI,CAAC,EAAEA,CAAA,GAAIrN,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAEiL,CAAC,EAAE,EAAE;QACpD,MAAM2D,EAAC,GAAIhR,UAAU,CAACmC,KAAK,CAACkL,CAAC;QAC7B,MAAM4D,EAAC,GAAIjR,UAAU,CAACmC,KAAK,CAACkL,CAAA,GAAI,CAAC;QACjCyB,aAAY,IAAKoC,WAAW,CAACF,EAAE,CAACzM,GAAG,EAAEyM,EAAE,CAAC1M,GAAG,EAAE2M,EAAE,CAAC1M,GAAG,EAAE0M,EAAE,CAAC3M,GAAG;MAC7D;MACA,OAAOwK,aAAY;IACrB;IAEA,MAAMoC,WAAU,GAAIA,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,KAAK;MAC9C,MAAMC,CAAA,GAAI,MAAK;MACf,MAAMC,EAAC,GAAIL,IAAG,GAAIlD,IAAI,CAACwD,EAAE,GAAC,GAAE;MAC5B,MAAMC,EAAC,GAAIL,IAAG,GAAIpD,IAAI,CAACwD,EAAE,GAAC,GAAE;MAC5B,MAAME,EAAC,GAAI,CAACN,IAAI,GAACF,IAAI,IAAIlD,IAAI,CAACwD,EAAE,GAAC,GAAE;MACnC,MAAMG,EAAC,GAAI,CAACN,IAAI,GAACF,IAAI,IAAInD,IAAI,CAACwD,EAAE,GAAC,GAAE;MAEnC,MAAMI,CAAA,GAAI5D,IAAI,CAAC6D,GAAG,CAACH,EAAE,GAAC,CAAC,IAAI1D,IAAI,CAAC6D,GAAG,CAACH,EAAE,GAAC,CAAC,IAC9B1D,IAAI,CAAC8D,GAAG,CAACP,EAAE,IAAIvD,IAAI,CAAC8D,GAAG,CAACL,EAAE,IAC1BzD,IAAI,CAAC6D,GAAG,CAACF,EAAE,GAAC,CAAC,IAAI3D,IAAI,CAAC6D,GAAG,CAACF,EAAE,GAAC,CAAC;MACxC,MAAMI,CAAA,GAAI,IAAI/D,IAAI,CAACgE,KAAK,CAAChE,IAAI,CAACC,IAAI,CAAC2D,CAAC,CAAC,EAAE5D,IAAI,CAACC,IAAI,CAAC,CAAC,GAAC2D,CAAC,CAAC;MAErD,OAAON,CAAA,GAAIS,CAAA;IACb;;IAEA;IACA,MAAME,WAAU,GAAI,MAAAA,CAAA,KAAY;MAC9B,IAAI;QACF,MAAMvU,YAAY,CAACwU,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE;UAC/CC,iBAAiB,EAAE,IAAI;UACvBC,gBAAgB,EAAE,IAAI;UACtBzS,IAAI,EAAE;QACR,CAAC;QACD,IAAI,CAAC4B,eAAe,CAACW,KAAK,EAAE;UAC1BzE,SAAS,CAAC4E,KAAK,CAAC,QAAQ;UACxB;QACF;QACA,IAAI,CAACtC,UAAU,CAACmC,KAAI,IAAKnC,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;UACpD1E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;UACxB;QACF;QACA5E,SAAS,CAACwE,OAAO,CAAC,UAAU;QAC5B,MAAML,GAAE,GAAI,MAAM3D,KAAK,CAACoU,IAAI,CAAC,eAAe9Q,eAAe,CAACW,KAAK,eAAe,EAAE;UAChFnC,UAAU,EAAEA,UAAU,CAACmC,KAAK;UAC5BoQ,KAAK,EAAE,EAAE;QACX,CAAC,EAAE;UACDxQ,OAAO,EAAE;YAAEC,aAAa,EAAE,UAAUL,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;UAAG;QACtE,CAAC;QACD,IAAIC,GAAG,CAACI,IAAI,CAACC,OAAO,EAAE;UACpBxE,SAAS,CAACwE,OAAO,CAAC,aAAa;UAC/B;UACA,IAAIL,GAAG,CAACI,IAAI,CAACuQ,aAAa,EAAE;YAC1B7U,YAAY,CAAC8U,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;cAAE7S,IAAI,EAAE;YAAU,CAAC;UAC3D;QACF,OAAO;UACLlC,SAAS,CAAC4E,KAAK,CAACT,GAAG,CAACI,IAAI,CAACqE,OAAM,IAAK,UAAU;QAChD;MACF,EAAE,MAAM;QACN5I,SAAS,CAAC4J,IAAI,CAAC,OAAO;MACxB;IACF;;IAEA;IACA,MAAMoL,QAAO,GAAIA,CAAA,KAAM;MACrBtF,gBAAgB,CAAC;MAEjB,IAAIlN,QAAQ,CAACiC,KAAK,EAAE;QAClB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACxG,QAAQ,CAACiC,KAAK;QACvCjC,QAAQ,CAACiC,KAAI,GAAI,IAAG;MACtB;MAEAnC,UAAU,CAACmC,KAAI,GAAI,EAAC;MACpB7B,QAAQ,CAAC6B,KAAI,GAAI,IAAG;MAEpBzE,SAAS,CAACwE,OAAO,CAAC,UAAU;IAC9B;;IAIA;IACA,MAAMyQ,uBAAsB,GAAKpE,SAAS,IAAK;MAC7CpO,iBAAiB,CAACgC,KAAI,GAAIoM,SAAQ;IACpC;;IAEA;IACA,MAAMqE,oBAAmB,GAAKC,QAAQ,IAAK;MACzCzS,cAAc,CAAC+B,KAAI,GAAI0Q,QAAO;IAChC;;IAEA;IACA,MAAMC,iBAAgB,GAAKP,KAAK,IAAK;MACnClS,WAAW,CAAC8B,KAAI,GAAIoQ,KAAI;IAC1B;;IAEA;IACA,MAAMQ,aAAY,GAAIA,CAAA,KAAM;MAC1B,IAAI/S,UAAU,CAACmC,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;MAEnC,MAAMkM,UAAS,GAAItO,UAAU,CAACmC,KAAK,CAAC,CAAC;MACrC1D,WAAW,CAAC0D,KAAK,CAAC6Q,SAAS,CAAC,CAAC1E,UAAU,CAAChK,GAAG,EAAEgK,UAAU,CAAC/J,GAAG,CAAC;MAC5D9F,WAAW,CAAC0D,KAAK,CAAC8Q,OAAO,CAAC,EAAE;IAC9B;;IAEA;IACA,MAAMC,WAAU,GAAIA,CAAA,KAAM;MACxB,IAAIlT,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;MAEjC,MAAM+Q,QAAO,GAAInT,UAAU,CAACmC,KAAK,CAACnC,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC;MAC7D3D,WAAW,CAAC0D,KAAK,CAAC6Q,SAAS,CAAC,CAACG,QAAQ,CAAC7O,GAAG,EAAE6O,QAAQ,CAAC5O,GAAG,CAAC;MACxD9F,WAAW,CAAC0D,KAAK,CAAC8Q,OAAO,CAAC,EAAE;IAC9B;;IAEA;IACA,MAAMG,iBAAgB,GAAKC,WAAW,IAAK;MACzC,IAAI,CAACA,WAAU,IAAKA,WAAW,CAACjR,MAAK,KAAM,CAAC,EAAE;QAC5C1E,SAAS,CAAC4E,KAAK,CAAC,aAAa;QAC7B;MACF;MAEA,IAAI;QACF;QACA,MAAMgR,SAAQ,GAAID,WAAW,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEvJ,KAAK,KAAKuJ,GAAE,GAAIvJ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAIoJ,WAAW,CAACjR,MAAK;QAC3F,MAAMqR,SAAQ,GAAIJ,WAAW,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEvJ,KAAK,KAAKuJ,GAAE,GAAIvJ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAIoJ,WAAW,CAACjR,MAAK;QAE3FQ,OAAO,CAACiB,GAAG,CAAC,aAAayP,SAAS,KAAKG,SAAS,GAAG;;QAEnD;QACAhV,WAAW,CAAC0D,KAAK,CAAC6Q,SAAS,CAAC,CAACM,SAAS,EAAEG,SAAS,CAAC;;QAElD;QACA,IAAIJ,WAAW,CAACjR,MAAK,KAAM,CAAC,EAAE;UAC5B3D,WAAW,CAAC0D,KAAK,CAAC8Q,OAAO,CAAC,EAAE;QAC9B,OAAO;UACL;UACA,MAAMS,IAAG,GAAIL,WAAW,CAACzP,GAAG,CAACkJ,CAAA,IAAKA,CAAC,CAAC,CAAC,CAAC;UACtC,MAAM6G,IAAG,GAAIN,WAAW,CAACzP,GAAG,CAACkJ,CAAA,IAAKA,CAAC,CAAC,CAAC,CAAC;UACtC,MAAM8G,OAAM,GAAI3F,IAAI,CAAC4F,GAAG,CAAC,GAAGH,IAAI,IAAIzF,IAAI,CAAC6F,GAAG,CAAC,GAAGJ,IAAI;UACpD,MAAMK,OAAM,GAAI9F,IAAI,CAAC4F,GAAG,CAAC,GAAGF,IAAI,IAAI1F,IAAI,CAAC6F,GAAG,CAAC,GAAGH,IAAI;UACpD,MAAMK,OAAM,GAAI/F,IAAI,CAAC4F,GAAG,CAACD,OAAO,EAAEG,OAAO;UAEzC,IAAIE,IAAG,GAAI,EAAC;UACZ,IAAID,OAAM,GAAI,IAAI,EAAEC,IAAG,GAAI,EAAC,MACvB,IAAID,OAAM,GAAI,GAAG,EAAEC,IAAG,GAAI,EAAC,MAC3B,IAAID,OAAM,GAAI,CAAC,EAAEC,IAAG,GAAI,EAAC,MACzBA,IAAG,GAAI;UAEZxV,WAAW,CAAC0D,KAAK,CAAC8Q,OAAO,CAACgB,IAAI;QAChC;QAEAvW,SAAS,CAACwE,OAAO,CAAC,QAAQmR,WAAW,CAACjR,MAAM,SAAS;MACvD,EAAE,OAAO8R,WAAW,EAAE;QACpBtR,OAAO,CAACN,KAAK,CAAC,UAAU,EAAE4R,WAAW;QACrCxW,SAAS,CAAC4E,KAAK,CAAC,QAAQ;MAC1B;IACF;;IAEA;IACA,MAAM6R,SAAQ,GAAIA,CAAA,KAAM;MACtBvR,OAAO,CAACiB,GAAG,CAAC,sCAAsC,EAAE7D,UAAU,CAACmC,KAAK,CAACC,MAAM;MAE3E,IAAI,CAACpC,UAAU,CAACmC,KAAI,IAAKnC,UAAU,CAACmC,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;QACtDQ,OAAO,CAACC,IAAI,CAAC,SAAS;QACtBnF,SAAS,CAACyQ,OAAO,CAAC,UAAU;QAC5B;MACF;MAEA,IAAI;QACF;QACA,IAAI,CAAC1P,WAAW,CAAC0D,KAAK,EAAE;UACtBS,OAAO,CAACN,KAAK,CAAC,SAAS;UACvB5E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;UACxB;QACF;;QAEA;QACA,IAAI,CAACyB,MAAM,CAACD,IAAG,IAAK,CAACC,MAAM,CAACD,IAAI,CAACqH,MAAM,EAAE;UACvCvI,OAAO,CAACN,KAAK,CAAC,oBAAoB;UAClC5E,SAAS,CAAC4E,KAAK,CAAC,YAAY;UAC5B;QACF;QAEAM,OAAO,CAACiB,GAAG,CAAC,QAAQ,EAAE7D,UAAU,CAACmC,KAAK;;QAEtC;QACA,MAAM+H,MAAK,GAAI,IAAInG,MAAM,CAACD,IAAI,CAACqH,MAAM,CAAC;;QAEtC;QACA,IAAIiJ,gBAAe,GAAI;QACvB,MAAMf,WAAU,GAAI,EAAC;QAErBrT,UAAU,CAACmC,KAAK,CAACiD,OAAO,CAAC,CAAC6E,KAAK,EAAEiD,KAAK,KAAK;UACzC,IAAIjD,KAAI,IAAK,OAAOA,KAAK,CAAC3F,GAAE,KAAM,QAAO,IAAK,OAAO2F,KAAK,CAAC1F,GAAE,KAAM,QAAO,IACtE,CAACkG,KAAK,CAACR,KAAK,CAAC3F,GAAG,KAAK,CAACmG,KAAK,CAACR,KAAK,CAAC1F,GAAG,KACrC8P,QAAQ,CAACpK,KAAK,CAAC3F,GAAG,KAAK+P,QAAQ,CAACpK,KAAK,CAAC1F,GAAG,KACzC0F,KAAK,CAAC3F,GAAE,IAAK,CAAC,GAAE,IAAK2F,KAAK,CAAC3F,GAAE,IAAK,GAAE,IACpC2F,KAAK,CAAC1F,GAAE,IAAK,CAAC,EAAC,IAAK0F,KAAK,CAAC1F,GAAE,IAAK,EAAE,EAAE;YAEvC;YACA,MAAMD,GAAE,GAAIoG,MAAM,CAACT,KAAK,CAAC3F,GAAG;YAC5B,MAAMC,GAAE,GAAImG,MAAM,CAACT,KAAK,CAAC1F,GAAG;YAE5B,IAAI,CAACkG,KAAK,CAACnG,GAAG,KAAK,CAACmG,KAAK,CAAClG,GAAG,KAAK8P,QAAQ,CAAC/P,GAAG,KAAK+P,QAAQ,CAAC9P,GAAG,CAAC,EAAE;cAChE8O,WAAW,CAAC7M,IAAI,CAAC,CAAClC,GAAG,EAAEC,GAAG,CAAC;cAC3B6P,gBAAgB,EAAC;cACjBxR,OAAO,CAACiB,GAAG,CAAC,UAAUqJ,KAAI,GAAI,CAAC,MAAM5I,GAAG,KAAKC,GAAG,GAAG;YACrD,OAAO;cACL3B,OAAO,CAACC,IAAI,CAAC,UAAUqK,KAAI,GAAI,CAAC,GAAG,EAAEjD,KAAK;YAC5C;UACF,OAAO;YACLrH,OAAO,CAACC,IAAI,CAAC,SAASqK,KAAI,GAAI,CAAC,GAAG,EAAEjD,KAAK;UAC3C;QACF,CAAC;QAED,IAAImK,gBAAe,KAAM,CAAC,EAAE;UAC1BxR,OAAO,CAACN,KAAK,CAAC,UAAU;UACxB5E,SAAS,CAAC4E,KAAK,CAAC,SAAS;UACzB;QACF;;QAEA;QACA+Q,WAAW,CAACjO,OAAO,CAAC,CAACkP,KAAK,EAAEpH,KAAK,KAAK;UACpC,IAAI;YACFhD,MAAM,CAACwC,MAAM,CAAC4H,KAAK;YACnB1R,OAAO,CAACiB,GAAG,CAAC,WAAWqJ,KAAI,GAAI,CAAC,MAAMoH,KAAK,CAAC,CAAC,CAAC,KAAKA,KAAK,CAAC,CAAC,CAAC,GAAG;UAChE,EAAE,OAAOC,WAAW,EAAE;YACpB3R,OAAO,CAACN,KAAK,CAAC,aAAa4K,KAAI,GAAI,CAAC,GAAG,EAAEoH,KAAK,EAAEC,WAAW;UAC7D;QACF,CAAC;;QAED;QACA,IAAIC,SAAS,EAAEC,SAAQ;QACvB,IAAI;UACFD,SAAQ,GAAItK,MAAM,CAACE,YAAY,CAAC;UAChCqK,SAAQ,GAAIvK,MAAM,CAACG,YAAY,CAAC;QAClC,EAAE,OAAOqK,cAAc,EAAE;UACvB9R,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEoS,cAAc;UACzChX,SAAS,CAAC4E,KAAK,CAAC,UAAU;UAC1B8Q,iBAAiB,CAACC,WAAW;UAC7B;QACF;QAEAzQ,OAAO,CAACiB,GAAG,CAAC,OAAO,EAAE;UACnB2Q,SAAS,EAAE,CAACA,SAAS,CAAClQ,GAAG,EAAEkQ,SAAS,CAACjQ,GAAG,CAAC;UACzCkQ,SAAS,EAAE,CAACA,SAAS,CAACnQ,GAAG,EAAEmQ,SAAS,CAAClQ,GAAG;QAC1C,CAAC;;QAED;QACA,IAAI,CAACiQ,SAAQ,IAAK,CAACC,SAAQ,IACvBhK,KAAK,CAAC+J,SAAS,CAAClQ,GAAG,KAAKmG,KAAK,CAAC+J,SAAS,CAACjQ,GAAG,KAC3CkG,KAAK,CAACgK,SAAS,CAACnQ,GAAG,KAAKmG,KAAK,CAACgK,SAAS,CAAClQ,GAAG,KAC3C,CAAC8P,QAAQ,CAACG,SAAS,CAAClQ,GAAG,KAAK,CAAC+P,QAAQ,CAACG,SAAS,CAACjQ,GAAG,KACnD,CAAC8P,QAAQ,CAACI,SAAS,CAACnQ,GAAG,KAAK,CAAC+P,QAAQ,CAACI,SAAS,CAAClQ,GAAG,CAAC,EAAE;UACxD3B,OAAO,CAACN,KAAK,CAAC,YAAY;UAC1B5E,SAAS,CAACyQ,OAAO,CAAC,gBAAgB;UAClCiF,iBAAiB,CAACC,WAAW;UAC7B;QACF;;QAEA;QACA,MAAMO,OAAM,GAAI3F,IAAI,CAAC0G,GAAG,CAACF,SAAS,CAACnQ,GAAE,GAAIkQ,SAAS,CAAClQ,GAAG;QACtD,MAAMyP,OAAM,GAAI9F,IAAI,CAAC0G,GAAG,CAACF,SAAS,CAAClQ,GAAE,GAAIiQ,SAAS,CAACjQ,GAAG;QAEtD,IAAIqP,OAAM,GAAI,MAAK,IAAKG,OAAM,GAAI,MAAM,EAAE;UACxCnR,OAAO,CAACC,IAAI,CAAC,gBAAgB;UAC7BuQ,iBAAiB,CAACC,WAAW;UAC7B;QACF;QAEA,IAAIO,OAAM,GAAI,GAAE,IAAKG,OAAM,GAAI,EAAE,EAAE;UACjCnR,OAAO,CAACC,IAAI,CAAC,gBAAgB;UAC7BuQ,iBAAiB,CAACC,WAAW;UAC7B;QACF;;QAEA;QACA,IAAI;UACF5U,WAAW,CAAC0D,KAAK,CAACwK,SAAS,CAACzC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;UAC7DtH,OAAO,CAACiB,GAAG,CAAC,UAAU;QACxB,EAAE,OAAO+Q,WAAW,EAAE;UACpBhS,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEsS,WAAW;UACtClX,SAAS,CAACyQ,OAAO,CAAC,gBAAgB;UAClCiF,iBAAiB,CAACC,WAAW;UAC7B;QACF;QAEAzQ,OAAO,CAACiB,GAAG,CAAC,aAAa,EAAEuQ,gBAAgB,EAAE,MAAM;QACnD1W,SAAS,CAACwE,OAAO,CAAC,QAAQkS,gBAAgB,SAAS;MAErD,EAAE,OAAO9R,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,gBAAgB,EAAEA,KAAK;QACrC5E,SAAS,CAAC4E,KAAK,CAAC,YAAW,GAAIA,KAAK,CAACgE,OAAO;MAC9C;IACF;;IAEA;;IAEA;IACA,MAAMuO,eAAc,GAAK9K,IAAI,IAAK;MAChC,IAAI,CAACtL,WAAW,CAAC0D,KAAI,IAAK,CAAC4B,MAAM,CAACD,IAAI,EAAE;MAExC,IAAI;QACF;QACA,MAAM5D,QAAO,GAAI,IAAI6D,MAAM,CAACD,IAAI,CAACiJ,QAAQ,CAAC;UACxChD,IAAI,EAAEA,IAAI,CAAC4E,WAAW,CAAC/K,GAAG,CAACqG,KAAI,IAAK,CAACA,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC,CAAC;UAC3DiD,WAAW,EAAEuC,IAAI,CAAC/G,KAAI,IAAK,SAAS;UACpCyE,YAAY,EAAE,CAAC;UACfC,aAAa,EAAE,GAAG;UAClBsF,WAAW,EAAE,OAAO;UACpB8H,OAAO,EAAE,IAAI;UACbC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;QAC3B,CAAC;;QAED;QACA,MAAMzG,UAAS,GAAIvE,IAAI,CAAC4E,WAAW,CAAC,CAAC;QACrC,MAAMwE,QAAO,GAAIpJ,IAAI,CAAC4E,WAAW,CAAC5E,IAAI,CAAC4E,WAAW,CAACvM,MAAK,GAAI,CAAC;QAE7D,MAAMwO,WAAU,GAAI,IAAI7M,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;UACzCC,QAAQ,EAAE,CAACyI,UAAU,CAAChK,GAAG,EAAEgK,UAAU,CAAC/J,GAAG,CAAC;UAC1CuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;YACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAClCC,KAAK,EAAE,sBAAsBvD,kBAAkB,CAAC;;uDAELoH,IAAI,CAAC/G,KAAI,IAAK,SAAS;;;aAGjE,CAAC,EAAE;YACJmD,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;UACxC,CAAC,CAAC;UACFG,KAAK,EAAE,GAAG2D,IAAI,CAAC5L,IAAI,OAAO;UAC1BqH,MAAM,EAAE;QACV,CAAC;QAED,MAAMsL,SAAQ,GAAI,IAAI/M,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;UACvCC,QAAQ,EAAE,CAACsN,QAAQ,CAAC7O,GAAG,EAAE6O,QAAQ,CAAC5O,GAAG,CAAC;UACtCuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;YACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAClCC,KAAK,EAAE,sBAAsBvD,kBAAkB,CAAC;;uDAELoH,IAAI,CAAC/G,KAAI,IAAK,SAAS;;;aAGjE,CAAC,EAAE;YACJmD,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;UACxC,CAAC,CAAC;UACFG,KAAK,EAAE,GAAG2D,IAAI,CAAC5L,IAAI,OAAO;UAC1BqH,MAAM,EAAE;QACV,CAAC;;QAED;QACAhF,mBAAmB,CAACuJ,IAAI,CAACpK,EAAE,IAAI;UAC7BO,QAAQ;UACR0Q,WAAW;UACXE;QACF;;QAEA;QACArS,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAAC,CAACrG,QAAQ,EAAE0Q,WAAW,EAAEE,SAAS,CAAC;QAExDpT,SAAS,CAACwE,OAAO,CAAC,UAAU6H,IAAI,CAAC5L,IAAI,EAAE;MACzC,EAAE,OAAOmE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEA,KAAK;QAChC5E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;MAC1B;IACF;;IAEA;IACA,MAAM0S,eAAc,GAAKjL,IAAI,IAAK;MAChC,IAAI,CAACtL,WAAW,CAAC0D,KAAK,EAAE;MAExB,MAAMiG,QAAO,GAAI5H,mBAAmB,CAACuJ,IAAI,CAACpK,EAAE;MAC5C,IAAIyI,QAAQ,EAAE;QACZ3J,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAAC,CAAC0B,QAAQ,CAAClI,QAAQ,EAAEkI,QAAQ,CAACwI,WAAW,EAAExI,QAAQ,CAAC0I,SAAS,CAAC;QACtF,OAAOtQ,mBAAmB,CAACuJ,IAAI,CAACpK,EAAE;QAClCjC,SAAS,CAAC4J,IAAI,CAAC,UAAUyC,IAAI,CAAC5L,IAAI,EAAE;MACtC;IACF;;IAEA;IACA,MAAM8W,mBAAkB,GAAKC,KAAK,IAAK;MACrCA,KAAK,CAAC9P,OAAO,CAAC2E,IAAG,IAAK;QACpB,IAAI,CAACxJ,oBAAoB,CAAC4B,KAAK,CAACqK,QAAQ,CAACzC,IAAI,CAACpK,EAAE,CAAC,EAAE;UACjDkV,eAAe,CAAC9K,IAAI;QACtB;MACF,CAAC;IACH;;IAEA;IACA,MAAMoL,mBAAkB,GAAIA,CAAA,KAAM;MAChCjQ,MAAM,CAACkH,IAAI,CAAC5L,mBAAmB,CAAC,CAAC4E,OAAO,CAACgQ,MAAK,IAAK;QACjD,MAAMhN,QAAO,GAAI5H,mBAAmB,CAAC4U,MAAM;QAC3C,IAAIhN,QAAO,IAAK3J,WAAW,CAAC0D,KAAK,EAAE;UACjC1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAAC,CAAC0B,QAAQ,CAAClI,QAAQ,EAAEkI,QAAQ,CAACwI,WAAW,EAAExI,QAAQ,CAAC0I,SAAS,CAAC;QACxF;MACF,CAAC;MACD;MACA5L,MAAM,CAACkH,IAAI,CAAC5L,mBAAmB,CAAC,CAAC4E,OAAO,CAACiH,GAAE,IAAK,OAAO7L,mBAAmB,CAAC6L,GAAG,CAAC;MAC/E3O,SAAS,CAAC4J,IAAI,CAAC,WAAW;IAC5B;;IAEA;IACA,MAAM+N,mBAAkB,GAAKtL,IAAI,IAAK;MACpC,IAAI,CAACtL,WAAW,CAAC0D,KAAI,IAAK,CAAC4H,IAAI,CAAC4E,WAAU,IAAK5E,IAAI,CAAC4E,WAAW,CAACvM,MAAK,KAAM,CAAC,EAAE;MAE9E,IAAI;QACF,MAAM8H,MAAK,GAAI,IAAInG,MAAM,CAACD,IAAI,CAACqH,MAAM,CAAC;QACtCpB,IAAI,CAAC4E,WAAW,CAACvJ,OAAO,CAAC6E,KAAI,IAAK;UAChCC,MAAM,CAACwC,MAAM,CAAC,CAACzC,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC;QACtC,CAAC;QACD9F,WAAW,CAAC0D,KAAK,CAACwK,SAAS,CAACzC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3DxM,SAAS,CAACwE,OAAO,CAAC,YAAY6H,IAAI,CAAC5L,IAAI,EAAE;MAC3C,EAAE,OAAOmE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEA,KAAK;QAChC5E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;MAC1B;IACF;;IAEA;IACA,MAAMgT,oBAAmB,GAAKvL,IAAI,IAAK;MACrC;MACA2I,QAAQ,CAAC;;MAET;MACA1S,UAAU,CAACmC,KAAI,GAAI,CAAC,GAAG4H,IAAI,CAAC4E,WAAW;MACvCxO,iBAAiB,CAACgC,KAAI,GAAI4H,IAAI,CAACwE,SAAQ,IAAK,OAAM;MAClDnO,cAAc,CAAC+B,KAAI,GAAI4H,IAAI,CAACwL,eAAc,IAAK,GAAE;MACjDlV,WAAW,CAAC8B,KAAI,GAAI4H,IAAI,CAACyL,YAAW,IAAK,EAAC;;MAE1C;MACAhX,WAAW,CAAC2D,KAAI,GAAI,cAAa;;MAEjC;MACAsT,iBAAiB,CAAC;MAElB/X,SAAS,CAACwE,OAAO,CAAC,UAAU6H,IAAI,CAAC5L,IAAI,SAAS;IAChD;;IAEA;IACA,MAAMuX,0BAAyB,GAAKC,OAAO,IAAK;MAC9CpV,oBAAoB,CAAC4B,KAAI,GAAIwT,OAAM;IACrC;;IAEA;IACA,MAAMF,iBAAgB,GAAIA,CAACG,aAAY,GAAI,KAAK,KAAK;MACnD,IAAI,CAACnX,WAAW,CAAC0D,KAAI,IAAK,CAAC4B,MAAM,CAACD,IAAI,EAAE;MAExC,IAAI;QACF;QACA,IAAI7D,WAAW,CAACkC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;UAChC3D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACzG,WAAW,CAACkC,KAAK;UAC1ClC,WAAW,CAACkC,KAAI,GAAI,EAAC;QACvB;QAEA,IAAIjC,QAAQ,CAACiC,KAAK,EAAE;UAClB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACxG,QAAQ,CAACiC,KAAK;UACvCjC,QAAQ,CAACiC,KAAI,GAAI,IAAG;QACtB;QAEA,IAAInC,UAAU,CAACmC,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;QAEnC,IAAIwT,aAAa,EAAE;UACjB;UACA,MAAMtH,UAAS,GAAItO,UAAU,CAACmC,KAAK,CAAC,CAAC;UACrC,MAAMgR,QAAO,GAAInT,UAAU,CAACmC,KAAK,CAACnC,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI,CAAC;;UAE7D;UACA,IAAIkM,UAAS,IAAK,OAAOA,UAAU,CAAChK,GAAE,KAAM,QAAO,IAAK,OAAOgK,UAAU,CAAC/J,GAAE,KAAM,QAAO,IACrF,CAACkG,KAAK,CAAC6D,UAAU,CAAChK,GAAG,KAAK,CAACmG,KAAK,CAAC6D,UAAU,CAAC/J,GAAG,CAAC,EAAE;YACpD,MAAMqM,WAAU,GAAI,IAAI7M,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;cACzCC,QAAQ,EAAE,CAACyI,UAAU,CAAChK,GAAG,EAAEgK,UAAU,CAAC/J,GAAG,CAAC;cAC1CuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;gBACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;gBAClCC,KAAK,EAAE,sBAAsBvD,kBAAkB,CAAC;;;;;iBAK/C,CAAC,EAAE;gBACJwD,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;cACxC,CAAC,CAAC;cACFG,KAAK,EAAE,QAAQkI,UAAU,CAAChK,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAKiI,UAAU,CAAC/J,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC,GAAG;cACzEb,MAAM,EAAE;YACV,CAAC;YACDvF,WAAW,CAACkC,KAAK,CAACqE,IAAI,CAACoK,WAAW;UACpC;;UAEA;UACA,IAAIuC,QAAO,IAAK,OAAOA,QAAQ,CAAC7O,GAAE,KAAM,QAAO,IAAK,OAAO6O,QAAQ,CAAC5O,GAAE,KAAM,QAAO,IAC/E,CAACkG,KAAK,CAAC0I,QAAQ,CAAC7O,GAAG,KAAK,CAACmG,KAAK,CAAC0I,QAAQ,CAAC5O,GAAG,MAC1C4O,QAAQ,CAAC7O,GAAE,KAAMgK,UAAU,CAAChK,GAAE,IAAK6O,QAAQ,CAAC5O,GAAE,KAAM+J,UAAU,CAAC/J,GAAG,CAAC,EAAE;YACxE,MAAMuM,SAAQ,GAAI,IAAI/M,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;cACvCC,QAAQ,EAAE,CAACsN,QAAQ,CAAC7O,GAAG,EAAE6O,QAAQ,CAAC5O,GAAG,CAAC;cACtCuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;gBACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;gBAClCC,KAAK,EAAE,sBAAsBvD,kBAAkB,CAAC;;;;;iBAK/C,CAAC,EAAE;gBACJwD,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;cACxC,CAAC,CAAC;cACFG,KAAK,EAAE,QAAQ+M,QAAQ,CAAC7O,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAK8M,QAAQ,CAAC5O,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC,GAAG;cACrEb,MAAM,EAAE;YACV,CAAC;YACDvF,WAAW,CAACkC,KAAK,CAACqE,IAAI,CAACsK,SAAS;UAClC;QACF,OAAO;UACL;UACA9Q,UAAU,CAACmC,KAAK,CAACiD,OAAO,CAAC,CAAC6E,KAAK,EAAEiD,KAAK,KAAK;YACzC;YACA,IAAI,CAACjD,KAAI,IAAK,OAAOA,KAAK,CAAC3F,GAAE,KAAM,QAAO,IAAK,OAAO2F,KAAK,CAAC1F,GAAE,KAAM,QAAO,IACvEkG,KAAK,CAACR,KAAK,CAAC3F,GAAG,KAAKmG,KAAK,CAACR,KAAK,CAAC1F,GAAG,CAAC,EAAE;cACxC3B,OAAO,CAACC,IAAI,CAAC,YAAYqK,KAAK,GAAG,EAAEjD,KAAK;cACxC;YACF;YAEA,MAAM4L,OAAM,GAAI3I,KAAI,KAAM;YAC1B,MAAM4I,KAAI,GAAI5I,KAAI,KAAMlN,UAAU,CAACmC,KAAK,CAACC,MAAK,GAAI;;YAElD;YACA,MAAMuD,MAAK,GAAI,IAAI5B,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;cACpCC,QAAQ,EAAE,CAACoE,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC;cAChCuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;gBACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC4P,OAAM,GAAI,EAAC,GAAI,EAAE,EAAEA,OAAM,GAAI,EAAC,GAAI,EAAE,CAAC;gBAChE3P,KAAK,EAAE,sBAAsBvD,kBAAkB,CAAC;mEACGkT,OAAM,GAAI,EAAC,GAAI,EAAE,aAAaA,OAAM,GAAI,EAAC,GAAI,EAAE;2DACvDA,OAAM,GAAI,SAAQ,GAAKC,KAAI,GAAI,SAAQ,GAAI,SAAU;8GACFD,OAAM,GAAI,GAAE,GAAKC,KAAI,GAAI,GAAE,GAAI5I,KAAM;;iBAElI,CAAC,EAAE;gBACJ/G,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC4P,OAAM,GAAI,EAAC,GAAI,EAAE,EAAEA,OAAM,GAAI,EAAC,GAAI,EAAE;cACtE,CAAC,CAAC;cACFzP,KAAK,EAAE,GAAGyP,OAAM,GAAI,IAAG,GAAKC,KAAI,GAAI,IAAG,GAAI,MAAM5I,KAAK,EAAG,MAAMjD,KAAK,CAAC3F,GAAG,CAAC+B,OAAO,CAAC,CAAC,CAAC,KAAK4D,KAAK,CAAC1F,GAAG,CAAC8B,OAAO,CAAC,CAAC,CAAC,GAAG;cAC/Gb,MAAM,EAAE;YACV,CAAC;YAEDvF,WAAW,CAACkC,KAAK,CAACqE,IAAI,CAACb,MAAM;UAC/B,CAAC;QACH;;QAEA;QACA,IAAI1F,WAAW,CAACkC,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;UAChC3D,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACtG,WAAW,CAACkC,KAAK;QACzC;;QAEA;QACA,IAAI7B,QAAQ,CAAC6B,KAAI,IAAK7B,QAAQ,CAAC6B,KAAK,CAAC4H,IAAI,EAAE;UACzC,IAAIyF,QAAO,GAAIlP,QAAQ,CAAC6B,KAAK,CAAC4H,IAAG;;UAEjC;UACA,IAAI,OAAOyF,QAAO,KAAM,QAAQ,EAAE;YAChC,IAAI;cACFA,QAAO,GAAIxG,IAAI,CAAC+M,KAAK,CAACvG,QAAQ;YAChC,EAAE,OAAOnN,CAAC,EAAE;cACVO,OAAO,CAACN,KAAK,CAAC,WAAW,EAAED,CAAC;cAC5BmN,QAAO,GAAI,EAAC;YACd;UACF;UAEA,IAAIjF,KAAK,CAACC,OAAO,CAACgF,QAAQ,KAAKA,QAAQ,CAACpN,MAAK,GAAI,CAAC,EAAE;YAClD;YACA,MAAMqO,UAAS,GAAIjB,QAAQ,CAAC5L,GAAG,CAACqG,KAAI,IAAK;cACvC,IAAI,OAAOA,KAAI,KAAM,QAAO,IAAKA,KAAK,CAAC3F,GAAE,KAAM0R,SAAQ,IAAK/L,KAAK,CAAC1F,GAAE,KAAMyR,SAAS,EAAE;gBACnF,MAAM1R,GAAE,GAAI2R,UAAU,CAAChM,KAAK,CAAC3F,GAAG;gBAChC,MAAMC,GAAE,GAAI0R,UAAU,CAAChM,KAAK,CAAC1F,GAAG;gBAChC,IAAI,CAACkG,KAAK,CAACnG,GAAG,KAAK,CAACmG,KAAK,CAAClG,GAAG,CAAC,EAAE;kBAC9B,OAAO,CAACD,GAAG,EAAEC,GAAG;gBAClB;cACF,OAAO,IAAIgG,KAAK,CAACC,OAAO,CAACP,KAAK,KAAKA,KAAK,CAAC7H,MAAK,IAAK,CAAC,EAAE;gBACpD,MAAMkC,GAAE,GAAI2R,UAAU,CAAChM,KAAK,CAAC,CAAC,CAAC;gBAC/B,MAAM1F,GAAE,GAAI0R,UAAU,CAAChM,KAAK,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAACQ,KAAK,CAACnG,GAAG,KAAK,CAACmG,KAAK,CAAClG,GAAG,CAAC,EAAE;kBAC9B,OAAO,CAACD,GAAG,EAAEC,GAAG;gBAClB;cACF;cACA3B,OAAO,CAACC,IAAI,CAAC,WAAW,EAAEoH,KAAK;cAC/B,OAAO,IAAG;YACZ,CAAC,CAAC,CAAC4B,MAAM,CAACyI,KAAI,IAAKA,KAAI,KAAM,IAAI;YAEjC1R,OAAO,CAACiB,GAAG,CAAC,WAAW,EAAE4M,UAAU,CAACrO,MAAM;YAE1C,IAAIqO,UAAU,CAACrO,MAAK,GAAI,CAAC,EAAE;cACzB,MAAM8T,WAAU,GAAI,IAAInS,MAAM,CAACD,IAAI,CAACiJ,QAAQ,CAAC;gBAC3ChD,IAAI,EAAE0G,UAAU;gBAChBjJ,WAAW,EAAE,SAAS;gBACtBC,YAAY,EAAE,CAAC;gBACfC,aAAa,EAAE,GAAG;gBAClBsF,WAAW,EAAE,OAAO;gBACpB8H,OAAO,EAAE;cACX,CAAC;cAED5U,QAAQ,CAACiC,KAAI,GAAI+T,WAAU;cAC3BzX,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAAC2P,WAAW;YACnC;UACF;QACF;MAEF,EAAE,OAAO5T,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;MACjC;IACF;;IAEA;IACA,MAAM6T,yBAAwB,GAAKC,WAAW,IAAK;MACjD,IAAI;QACF;QACA1D,QAAQ,CAAC;;QAET;QACA1S,UAAU,CAACmC,KAAI,GAAI,CAAC,GAAGiU,WAAW,CAACpW,UAAU;;QAE7C;QACAG,iBAAiB,CAACgC,KAAI,GAAIiU,WAAW,CAAC7H,SAAQ;QAC9CnO,cAAc,CAAC+B,KAAI,GAAIiU,WAAW,CAAChW,cAAa;QAChDC,WAAW,CAAC8B,KAAI,GAAIiU,WAAW,CAAC/V,WAAU;;QAE1C;QACAC,QAAQ,CAAC6B,KAAI,GAAIiU,WAAW,CAAC9V,QAAO;;QAEpC;QACAmV,iBAAiB,CAAC,IAAI;;QAEtB;QACAlN,UAAU,CAAC,MAAM;UACf4L,SAAS,CAAC;QACZ,CAAC,EAAE,GAAG;QAENvR,OAAO,CAACiB,GAAG,CAAC,WAAW,EAAEuS,WAAW;MAEtC,EAAE,OAAO9T,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,WAAW,EAAEA,KAAK;QAChC5E,SAAS,CAAC4E,KAAK,CAAC,UAAU;MAC5B;IACF;;IAEA;;IAEA;IACA,MAAMqC,kBAAiB,GAAIA,CAACL,GAAG,EAAEC,GAAG,KAAK;MACvC,IAAI;QACF,MAAM0F,KAAI,GAAI;UAAE3F,GAAG;UAAEC,GAAG;UAAEpG,IAAI,EAAE,KAAKsC,gBAAgB,CAAC0B,KAAK,CAACC,MAAK,GAAI,CAAC;QAAG;QACzE3B,gBAAgB,CAAC0B,KAAK,CAACqE,IAAI,CAACyD,KAAK;;QAEjC;QACA,MAAMnG,IAAG,GAAIC,MAAM,CAACD,IAAG;QACvB,IAAIA,IAAG,IAAKrF,WAAW,CAAC0D,KAAK,EAAE;UAC7B,MAAMwD,MAAK,GAAI,IAAI7B,IAAI,CAAC8B,MAAM,CAAC;YAC7BC,QAAQ,EAAE,CAACvB,GAAG,EAAEC,GAAG,CAAC;YACpB6B,KAAK,EAAE6D,KAAK,CAAC9L,IAAI;YACjB2H,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;cAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;cAC3BC,KAAK,EAAEmQ,gBAAgB,CAAC,GAAE,GAAI5V,gBAAgB,CAAC0B,KAAK,CAACC,MAAM,EAAE,SAAS,CAAC;cACvE+D,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;YACjC,CAAC,CAAC;YACFqQ,MAAM,EAAE;UACV,CAAC;UAED7X,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;UAC5BhF,iBAAiB,CAACwB,KAAK,CAACqE,IAAI,CAACb,MAAM;QACrC;QAEA/C,OAAO,CAACiB,GAAG,CAAC,OAAO,EAAEoG,KAAK;QAC1BvM,SAAS,CAACwE,OAAO,CAAC,OAAOzB,gBAAgB,CAAC0B,KAAK,CAACC,MAAM,IAAI;MAE5D,EAAE,OAAOE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,SAAS,EAAEA,KAAK;QAC9B5E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;MAC1B;IACF;;IAEA;IACA,MAAMsC,mBAAkB,GAAIA,CAACN,GAAG,EAAEC,GAAG,KAAK;MACxC,IAAI;QACF,MAAM0F,KAAI,GAAI;UAAE3F,GAAG;UAAEC,GAAG;UAAEpG,IAAI,EAAE,KAAKuC,iBAAiB,CAACyB,KAAK,CAACC,MAAK,GAAI,CAAC,EAAE;UAAEmU,QAAQ,EAAE,KAAK;UAAEC,UAAU,EAAE;QAAK;QAC7G9V,iBAAiB,CAACyB,KAAK,CAACqE,IAAI,CAACyD,KAAK;;QAElC;QACA,MAAMnG,IAAG,GAAIC,MAAM,CAACD,IAAG;QACvB,IAAIA,IAAG,IAAKrF,WAAW,CAAC0D,KAAK,EAAE;UAC7B,MAAMwD,MAAK,GAAI,IAAI7B,IAAI,CAAC8B,MAAM,CAAC;YAC7BC,QAAQ,EAAE,CAACvB,GAAG,EAAEC,GAAG,CAAC;YACpB6B,KAAK,EAAE6D,KAAK,CAAC9L,IAAI;YACjB2H,IAAI,EAAE,IAAIhC,IAAI,CAACiC,IAAI,CAAC;cAClBC,IAAI,EAAE,IAAIlC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;cAC3BC,KAAK,EAAEmQ,gBAAgB,CAAC,GAAE,GAAI3V,iBAAiB,CAACyB,KAAK,CAACC,MAAM,EAAE,SAAS,CAAC;cACxE+D,SAAS,EAAE,IAAIrC,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;YACjC,CAAC,CAAC;YACFqQ,MAAM,EAAE;UACV,CAAC;UAED7X,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;UAC5B/E,kBAAkB,CAACuB,KAAK,CAACqE,IAAI,CAACb,MAAM;QACtC;QAEA/C,OAAO,CAACiB,GAAG,CAAC,QAAQ,EAAEoG,KAAK;QAC3BvM,SAAS,CAACwE,OAAO,CAAC,QAAQxB,iBAAiB,CAACyB,KAAK,CAACC,MAAM,IAAI;MAE9D,EAAE,OAAOE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;QAC/B5E,SAAS,CAAC4E,KAAK,CAAC,SAAS;MAC3B;IACF;;IAEA;IACA,MAAM+T,gBAAe,GAAIA,CAAC/M,IAAI,EAAEtG,KAAK,KAAK;MACxC,MAAMyT,MAAK,GAAIC,QAAQ,CAACC,aAAa,CAAC,QAAQ;MAC9CF,MAAM,CAACG,KAAI,GAAI,EAAC;MAChBH,MAAM,CAACI,MAAK,GAAI,EAAC;MACjB,MAAMC,GAAE,GAAIL,MAAM,CAACM,UAAU,CAAC,IAAI;;MAElC;MACAD,GAAG,CAACE,SAAQ,GAAIhU,KAAI;MACpB8T,GAAG,CAACG,SAAS,CAAC;MACdH,GAAG,CAACI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIjJ,IAAI,CAACwD,EAAE;MAClCqF,GAAG,CAACK,IAAI,CAAC;;MAET;MACAL,GAAG,CAAC9J,WAAU,GAAI,SAAQ;MAC1B8J,GAAG,CAACM,SAAQ,GAAI;MAChBN,GAAG,CAACO,MAAM,CAAC;;MAEX;MACAP,GAAG,CAACE,SAAQ,GAAI,SAAQ;MACxBF,GAAG,CAACQ,IAAG,GAAI,iBAAgB;MAC3BR,GAAG,CAACS,SAAQ,GAAI,QAAO;MACvBT,GAAG,CAACU,YAAW,GAAI,QAAO;MAC1BV,GAAG,CAACW,QAAQ,CAACnO,IAAI,EAAE,EAAE,EAAE,EAAE;MAEzB,OAAOmN,MAAM,CAACiB,SAAS,CAAC;IAC1B;;IAEA;IACA,MAAMC,kBAAiB,GAAIA,CAAA,KAAM;MAC/B7W,YAAY,CAACqB,KAAI,GAAI,CAACrB,YAAY,CAACqB,KAAI;MACvCpB,aAAa,CAACoB,KAAI,GAAI,KAAI;MAE1B,IAAIrB,YAAY,CAACqB,KAAK,EAAE;QACtBzE,SAAS,CAAC4J,IAAI,CAAC,aAAa;MAC9B;IACF;;IAEA;IACA,MAAMsQ,mBAAkB,GAAIA,CAAA,KAAM;MAChC7W,aAAa,CAACoB,KAAI,GAAI,CAACpB,aAAa,CAACoB,KAAI;MACzCrB,YAAY,CAACqB,KAAI,GAAI,KAAI;MAEzB,IAAIpB,aAAa,CAACoB,KAAK,EAAE;QACvBzE,SAAS,CAAC4J,IAAI,CAAC,cAAc;MAC/B;IACF;;IAEA;IACA,MAAMuQ,gBAAe,GAAK3K,KAAK,IAAK;MAClC,IAAI;QACF;QACA,IAAIvM,iBAAiB,CAACwB,KAAK,CAAC+K,KAAK,CAAC,EAAE;UAClCzO,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAAC/F,iBAAiB,CAACwB,KAAK,CAAC+K,KAAK,CAAC;UACvDvM,iBAAiB,CAACwB,KAAK,CAACgL,MAAM,CAACD,KAAK,EAAE,CAAC;QACzC;;QAEA;QACAzM,gBAAgB,CAAC0B,KAAK,CAACgL,MAAM,CAACD,KAAK,EAAE,CAAC;;QAEtC;QACA4K,uBAAuB,CAAC;QAExBpa,SAAS,CAACwE,OAAO,CAAC,QAAQ;MAE5B,EAAE,OAAOI,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,SAAS,EAAEA,KAAK;QAC9B5E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;MAC1B;IACF;;IAEA;IACA,MAAMyV,iBAAgB,GAAK7K,KAAK,IAAK;MACnC,IAAI;QACF;QACA,IAAItM,kBAAkB,CAACuB,KAAK,CAAC+K,KAAK,CAAC,EAAE;UACnCzO,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAAC9F,kBAAkB,CAACuB,KAAK,CAAC+K,KAAK,CAAC;UACxDtM,kBAAkB,CAACuB,KAAK,CAACgL,MAAM,CAACD,KAAK,EAAE,CAAC;QAC1C;;QAEA;QACAxM,iBAAiB,CAACyB,KAAK,CAACgL,MAAM,CAACD,KAAK,EAAE,CAAC;;QAEvC;QACA8K,wBAAwB,CAAC;QAEzBta,SAAS,CAACwE,OAAO,CAAC,SAAS;MAE7B,EAAE,OAAOI,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,UAAU,EAAEA,KAAK;QAC/B5E,SAAS,CAAC4E,KAAK,CAAC,SAAS;MAC3B;IACF;;IAEA;IACA,MAAMwV,uBAAsB,GAAIA,CAAA,KAAM;MACpCnX,iBAAiB,CAACwB,KAAK,CAACiD,OAAO,CAAC,CAACO,MAAM,EAAEuH,KAAK,KAAK;QACjD,MAAMjD,KAAI,GAAIxJ,gBAAgB,CAAC0B,KAAK,CAAC+K,KAAK;QAC1C,IAAIjD,KAAK,EAAE;UACTA,KAAK,CAAC9L,IAAG,GAAI,KAAK+O,KAAI,GAAI,CAAC,EAAC;UAC5BvH,MAAM,CAACsS,QAAQ,CAAChO,KAAK,CAAC9L,IAAI;UAC1BwH,MAAM,CAACuS,OAAO,CAAC,IAAInU,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;YAClCC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAClCC,KAAK,EAAEmQ,gBAAgB,CAAC,GAAE,IAAKnJ,KAAI,GAAI,CAAC,CAAC,EAAE,SAAS,CAAC;YACrD/G,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;UACxC,CAAC,CAAC;QACJ;MACF,CAAC;IACH;;IAEA;IACA,MAAM+R,wBAAuB,GAAIA,CAAA,KAAM;MACrCpX,kBAAkB,CAACuB,KAAK,CAACiD,OAAO,CAAC,CAACO,MAAM,EAAEuH,KAAK,KAAK;QAClD,MAAMjD,KAAI,GAAIvJ,iBAAiB,CAACyB,KAAK,CAAC+K,KAAK;QAC3C,IAAIjD,KAAK,EAAE;UACTA,KAAK,CAAC9L,IAAG,GAAI,KAAK+O,KAAI,GAAI,CAAC,EAAC;UAC5BvH,MAAM,CAACsS,QAAQ,CAAChO,KAAK,CAAC9L,IAAI;UAC1BwH,MAAM,CAACuS,OAAO,CAAC,IAAInU,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;YAClCC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAClCC,KAAK,EAAEmQ,gBAAgB,CAAC,GAAE,IAAKnJ,KAAI,GAAI,CAAC,CAAC,EAAE,SAAS,CAAC;YACrD/G,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;UACxC,CAAC,CAAC;QACJ;MACF,CAAC;IACH;;IAEA;IACA,MAAMkS,mBAAkB,GAAIA,CAAA,KAAM;MAChC;MACAxX,iBAAiB,CAACwB,KAAK,CAACiD,OAAO,CAACO,MAAK,IAAK;QACxC,IAAIlH,WAAW,CAAC0D,KAAK,EAAE;UACrB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACf,MAAM;QACjC;MACF,CAAC;MACDhF,iBAAiB,CAACwB,KAAI,GAAI,EAAC;MAC3B1B,gBAAgB,CAAC0B,KAAI,GAAI,EAAC;;MAE1B;MACAvB,kBAAkB,CAACuB,KAAK,CAACiD,OAAO,CAACO,MAAK,IAAK;QACzC,IAAIlH,WAAW,CAAC0D,KAAK,EAAE;UACrB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACf,MAAM;QACjC;MACF,CAAC;MACD/E,kBAAkB,CAACuB,KAAI,GAAI,EAAC;MAC5BzB,iBAAiB,CAACyB,KAAI,GAAI,EAAC;;MAE3B;MACAiW,mBAAmB,CAAC;MACpB/W,mBAAmB,CAACc,KAAI,GAAI,IAAG;;MAE/B;MACArB,YAAY,CAACqB,KAAI,GAAI,KAAI;MACzBpB,aAAa,CAACoB,KAAI,GAAI,KAAI;MAE1BzE,SAAS,CAACwE,OAAO,CAAC,cAAc;IAClC;;IAEA;IACA,MAAMmW,gBAAe,GAAIA,CAAA,KAAM;MAC7B;MACA1X,iBAAiB,CAACwB,KAAK,CAACiD,OAAO,CAACO,MAAK,IAAK;QACxC,IAAIlH,WAAW,CAAC0D,KAAK,EAAE;UACrB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACf,MAAM;QACjC;MACF,CAAC;MACDhF,iBAAiB,CAACwB,KAAI,GAAI,EAAC;MAC3B1B,gBAAgB,CAAC0B,KAAI,GAAI,EAAC;;MAE1B;MACAiW,mBAAmB,CAAC;MACpB/W,mBAAmB,CAACc,KAAI,GAAI,IAAG;MAE/BzE,SAAS,CAACwE,OAAO,CAAC,SAAS;IAC7B;;IAEA;IACA,MAAMoW,iBAAgB,GAAIA,CAAA,KAAM;MAC9B;MACA1X,kBAAkB,CAACuB,KAAK,CAACiD,OAAO,CAACO,MAAK,IAAK;QACzC,IAAIlH,WAAW,CAAC0D,KAAK,EAAE;UACrB1D,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAACf,MAAM;QACjC;MACF,CAAC;MACD/E,kBAAkB,CAACuB,KAAI,GAAI,EAAC;MAC5BzB,iBAAiB,CAACyB,KAAI,GAAI,EAAC;;MAE3B;MACAiW,mBAAmB,CAAC;MACpB/W,mBAAmB,CAACc,KAAI,GAAI,IAAG;MAE/BzE,SAAS,CAACwE,OAAO,CAAC,UAAU;IAC9B;;IAEA;IACA,MAAMkW,mBAAkB,GAAIA,CAAA,KAAM;MAChCvX,cAAc,CAACsB,KAAK,CAACiD,OAAO,CAACmT,IAAG,IAAK;QACnC,IAAI9Z,WAAW,CAAC0D,KAAI,IAAKoW,IAAI,EAAE;UAC7B9Z,WAAW,CAAC0D,KAAK,CAACuE,MAAM,CAAC6R,IAAI;QAC/B;MACF,CAAC;MACD1X,cAAc,CAACsB,KAAI,GAAI,EAAC;IAC1B;;IAEA;IACA,MAAMqW,gBAAe,GAAI,MAAAA,CAAA,KAAY;MACnC,IAAI/X,gBAAgB,CAAC0B,KAAK,CAACC,MAAK,KAAM,KAAK1B,iBAAiB,CAACyB,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;QAC/E1E,SAAS,CAACyQ,OAAO,CAAC,YAAY;QAC9B;MACF;MAEA,IAAI;QACFzQ,SAAS,CAAC4J,IAAI,CAAC,gBAAgB;;QAE/B;QACA,MAAMmR,eAAc,GAAI5Z,WAAW,CAACsD,KAAI,IAAK,EAAC;;QAE9C;QACA,MAAMiM,YAAW,GAAI;UACnBsK,WAAW,EAAEjY,gBAAgB,CAAC0B,KAAK,CAACyB,GAAG,CAACqG,KAAI,KAAM;YAChD3F,GAAG,EAAE2F,KAAK,CAAC3F,GAAG;YACdC,GAAG,EAAE0F,KAAK,CAAC1F;UACb,CAAC,CAAC,CAAC;UACH5F,YAAY,EAAE+B,iBAAiB,CAACyB,KAAK,CAACyB,GAAG,CAACqG,KAAI,KAAM;YAClD3F,GAAG,EAAE2F,KAAK,CAAC3F,GAAG;YACdC,GAAG,EAAE0F,KAAK,CAAC1F;UACb,CAAC,CAAC,CAAC;UACHgK,SAAS,EAAEtN,sBAAsB,CAACkB,KAAK;UACvCjB,kBAAkB,EAAEA,kBAAkB,CAACiB,KAAK;UAC5CwW,YAAY,EAAE3X,iBAAiB,CAACmB,KAAK;UACrC/B,cAAc,EAAEe,mBAAmB,CAACgB,KAAK;UACzC9B,WAAW,EAAEe,gBAAgB,CAACe,KAAK;UACnCtD,WAAW,EAAE4Z;QACf;QAEA7V,OAAO,CAACiB,GAAG,CAAC,YAAY,EAAEuK,YAAY;;QAEtC;QACA,MAAMxF,QAAO,GAAI,MAAMC,KAAK,CAAC,mCAAmC,EAAE;UAChEC,MAAM,EAAE,MAAM;UACd/G,OAAO,EAAE;YACP,cAAc,EAAE;UAClB,CAAC;UACDgH,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACmF,YAAY;QACnC,CAAC;QAED,MAAM5E,MAAK,GAAI,MAAMZ,QAAQ,CAACa,IAAI,CAAC;QACnC7G,OAAO,CAACiB,GAAG,CAAC,UAAU,EAAE2F,MAAM;QAE9B,IAAI,CAACA,MAAM,CAACtH,OAAO,EAAE;UACnB,MAAM,IAAIqH,KAAK,CAACC,MAAM,CAAClD,OAAM,IAAK,WAAW;QAC/C;;QAEA;QACA,MAAM;UAAEsS,WAAW;UAAEC,QAAQ;UAAE/J,aAAa;UAAEgK;QAAU,IAAItP,MAAM,CAACvH,IAAG;;QAEtE;QACAZ,mBAAmB,CAACc,KAAI,GAAI;UAC1ByW,WAAW;UACXC,QAAQ;UACR/J,aAAa;UACbgK,SAAS;UACTvK,SAAS,EAAE/E,MAAM,CAACvH,IAAI,CAACsM,SAAS;UAChCwK,SAAS,EAAE,IAAI1Z,IAAI,CAAC,CAAC,CAAC2Z,cAAc,CAAC,OAAO;QAC9C;;QAEA;QACAC,iBAAiB,CAACJ,QAAQ;QAE1Bnb,SAAS,CAACwE,OAAO,CAAC,iBAAiB,CAAC4M,aAAa,GAAC,IAAI,EAAEzI,OAAO,CAAC,CAAC,CAAC,UAAU4H,IAAI,CAACY,KAAK,CAACiK,SAAS,CAAC,IAAI;MAEvG,EAAE,OAAOxW,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,YAAY,EAAEA,KAAK;QACjC5E,SAAS,CAAC4E,KAAK,CAAC,WAAWA,KAAK,CAACgE,OAAO,EAAE;MAC5C;IACF;;IAEA;IACA,MAAM2S,iBAAgB,GAAKC,SAAS,IAAK;MACvC,IAAI,CAACza,WAAW,CAAC0D,KAAI,IAAK,CAAC+W,SAAS,EAAE;MAEtC,IAAI;QACF;QACAd,mBAAmB,CAAC;QAEpB,MAAMtU,IAAG,GAAIC,MAAM,CAACD,IAAG;QACvB,MAAMqV,MAAK,GAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAE3FD,SAAS,CAAC9T,OAAO,CAAC,CAACoK,QAAQ,EAAEtC,KAAK,KAAK;UACrC,IAAI,CAACsC,QAAQ,CAACzF,IAAG,IAAKyF,QAAQ,CAACzF,IAAI,CAAC3H,MAAK,GAAI,CAAC,EAAE;;UAEhD;UACA,IAAIoF,WAAU,GAAI2R,MAAM,CAACjM,KAAI,GAAIiM,MAAM,CAAC/W,MAAM;UAC9C,IAAIoN,QAAQ,CAACvQ,WAAU,KAAM+W,SAAS,EAAE;YACtC,IAAIxG,QAAQ,CAACvQ,WAAU,IAAK,CAAC,EAAE;cAC7BuI,WAAU,GAAI,SAAQ,EAAE;YAC1B,OAAO,IAAIgI,QAAQ,CAACvQ,WAAU,IAAK,CAAC,EAAE;cACpCuI,WAAU,GAAI,SAAQ,EAAE;YAC1B,OAAO;cACLA,WAAU,GAAI,SAAQ,EAAE;YAC1B;UACF;;UAEA;UACA,MAAM4R,QAAO,GAAI,IAAItV,IAAI,CAACiJ,QAAQ,CAAC;YACjChD,IAAI,EAAEyF,QAAQ,CAACzF,IAAI,CAACnG,GAAG,CAACqG,KAAI,IAAK,CAACA,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC,CAAC;YACxDiD,WAAW,EAAEA,WAAW;YACxBC,YAAY,EAAE,CAAC;YACfC,aAAa,EAAE,GAAG;YAClBsF,WAAW,EAAE,OAAO;YACpBqM,QAAQ,EAAE,OAAO;YACjBC,OAAO,EAAE;UACX,CAAC;;UAED;UACA7a,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAAC6S,QAAQ;UAC9BvY,cAAc,CAACsB,KAAK,CAACqE,IAAI,CAAC4S,QAAQ;QACpC,CAAC;QAEDxW,OAAO,CAACiB,GAAG,CAAC,KAAKqV,SAAS,CAAC9W,MAAM,QAAQ;MAE3C,EAAE,OAAOE,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,YAAY,EAAEA,KAAK;MACnC;IACF;;IAEA;IACA,MAAMiX,oBAAmB,GAAIA,CAAA,KAAM;MACjC,IAAI,CAAClY,mBAAmB,CAACc,KAAK,EAAE;QAC9BzE,SAAS,CAACyQ,OAAO,CAAC,QAAQ;QAC1B;MACF;MAEAzQ,SAAS,CAACwE,OAAO,CAAC,aAAa;MAC/B;IACF;;IAEA;IACA,MAAMsX,iBAAgB,GAAIA,CAAA,KAAM;MAC9B,IAAI/Y,gBAAgB,CAAC0B,KAAK,CAACC,MAAK,KAAM,KAAK1B,iBAAiB,CAACyB,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;QAC/E1E,SAAS,CAACyQ,OAAO,CAAC,YAAY;QAC9B;MACF;MAEA,IAAI;QACF;QACA,MAAMsL,aAAY,GAAIC,wBAAwB,CAAC;;QAE/C;QACAtB,mBAAmB,CAAC;;QAEpB;QACA,MAAMtU,IAAG,GAAIC,MAAM,CAACD,IAAG;QACvB,IAAIA,IAAG,IAAKrF,WAAW,CAAC0D,KAAK,EAAE;UAC7BsX,aAAa,CAACrU,OAAO,CAAC,CAACuU,UAAU,EAAEzM,KAAK,KAAK;YAC3C,MAAMoB,UAAS,GAAI7N,gBAAgB,CAAC0B,KAAK,CAACwX,UAAU,CAACC,UAAU;YAC/D,MAAMC,WAAU,GAAInZ,iBAAiB,CAACyB,KAAK,CAACwX,UAAU,CAACG,WAAW;YAElE,IAAIxL,UAAS,IAAKuL,WAAW,EAAE;cAC7B,MAAM9P,IAAG,GAAI,CAAC,CAACuE,UAAU,CAAChK,GAAG,EAAEgK,UAAU,CAAC/J,GAAG,CAAC,EAAE,CAACsV,WAAW,CAACvV,GAAG,EAAEuV,WAAW,CAACtV,GAAG,CAAC;cAElF,MAAM6U,QAAO,GAAI,IAAItV,IAAI,CAACiJ,QAAQ,CAAC;gBACjChD,IAAI,EAAEA,IAAI;gBACVvC,WAAW,EAAE,SAAS;gBACtBC,YAAY,EAAE,CAAC;gBACfuF,WAAW,EAAE,QAAQ;gBACrBtF,aAAa,EAAE,GAAG;gBAClBlC,MAAM,EAAE;cACV,CAAC;cAED/G,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAAC6S,QAAQ;cAC9BvY,cAAc,CAACsB,KAAK,CAACqE,IAAI,CAAC4S,QAAQ;YACpC;UACF,CAAC;QACH;QAEA1b,SAAS,CAACwE,OAAO,CAAC,WAAW;MAE/B,EAAE,OAAOI,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,SAAS,EAAEA,KAAK;QAC9B5E,SAAS,CAAC4E,KAAK,CAAC,QAAQ;MAC1B;IACF;;IAEA;IACA,MAAMoX,wBAAuB,GAAIA,CAAA,KAAM;MACrC,MAAMd,WAAU,GAAI,EAAC;MACrB,MAAMmB,QAAO,GAAI9L,IAAI,CAAC6F,GAAG,CAACrT,gBAAgB,CAAC0B,KAAK,CAACC,MAAM,EAAE1B,iBAAiB,CAACyB,KAAK,CAACC,MAAM;MAEvF,KAAK,IAAIiL,CAAA,GAAI,CAAC,EAAEA,CAAA,GAAI0M,QAAQ,EAAE1M,CAAC,EAAE,EAAE;QACjCuL,WAAW,CAACpS,IAAI,CAAC;UACfoT,UAAU,EAAEvM,CAAC;UACbyM,WAAW,EAAEzM,CAAC;UACduB,QAAQ,EAAEoL,kBAAkB,CAACvZ,gBAAgB,CAAC0B,KAAK,CAACkL,CAAC,CAAC,EAAE3M,iBAAiB,CAACyB,KAAK,CAACkL,CAAC,CAAC,CAAC;UACnF4B,aAAa,EAAE,EAAE;UACjBhQ,WAAW,EAAE;QACf,CAAC;MACH;MAEA,OAAO2Z,WAAU;IACnB;;IAEA;IACA,MAAMoB,kBAAiB,GAAIA,CAACC,MAAM,EAAEC,MAAM,KAAK;MAC7C,MAAM3I,CAAA,GAAI,OAAM,EAAE;MAClB,MAAMJ,IAAG,GAAI8I,MAAM,CAAC1V,GAAE,GAAI0J,IAAI,CAACwD,EAAC,GAAI,GAAE;MACtC,MAAMJ,IAAG,GAAI6I,MAAM,CAAC3V,GAAE,GAAI0J,IAAI,CAACwD,EAAC,GAAI,GAAE;MACtC,MAAM0I,QAAO,GAAI,CAACD,MAAM,CAAC3V,GAAE,GAAI0V,MAAM,CAAC1V,GAAG,IAAI0J,IAAI,CAACwD,EAAC,GAAI,GAAE;MACzD,MAAM2I,QAAO,GAAI,CAACF,MAAM,CAAC5V,GAAE,GAAI2V,MAAM,CAAC3V,GAAG,IAAI2J,IAAI,CAACwD,EAAC,GAAI,GAAE;MAEzD,MAAMI,CAAA,GAAI5D,IAAI,CAAC6D,GAAG,CAACqI,QAAQ,GAAC,CAAC,IAAIlM,IAAI,CAAC6D,GAAG,CAACqI,QAAQ,GAAC,CAAC,IAC1ClM,IAAI,CAAC8D,GAAG,CAACZ,IAAI,IAAIlD,IAAI,CAAC8D,GAAG,CAACV,IAAI,IAC9BpD,IAAI,CAAC6D,GAAG,CAACsI,QAAQ,GAAC,CAAC,IAAInM,IAAI,CAAC6D,GAAG,CAACsI,QAAQ,GAAC,CAAC;MACpD,MAAMpI,CAAA,GAAI,IAAI/D,IAAI,CAACgE,KAAK,CAAChE,IAAI,CAACC,IAAI,CAAC2D,CAAC,CAAC,EAAE5D,IAAI,CAACC,IAAI,CAAC,CAAC,GAAC2D,CAAC,CAAC;MAErD,OAAON,CAAA,GAAIS,CAAA;IACb;;IAEA;IACA,MAAMqI,cAAa,GAAIA,CAAA,KAAM;MAC3B,IAAI5Z,gBAAgB,CAAC0B,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;MAEzC,MAAMwH,MAAK,GAAI0Q,oBAAoB,CAAC7Z,gBAAgB,CAAC0B,KAAK;MAC1D1D,WAAW,CAAC0D,KAAK,CAACoY,gBAAgB,CAAC,EAAE,EAAE,CAAC3Q,MAAM,CAACtF,GAAG,EAAEsF,MAAM,CAACrF,GAAG,CAAC;IACjE;IAEA,MAAMiW,eAAc,GAAIA,CAAA,KAAM;MAC5B,IAAI9Z,iBAAiB,CAACyB,KAAK,CAACC,MAAK,KAAM,CAAC,EAAE;MAE1C,MAAMwH,MAAK,GAAI0Q,oBAAoB,CAAC5Z,iBAAiB,CAACyB,KAAK;MAC3D1D,WAAW,CAAC0D,KAAK,CAACoY,gBAAgB,CAAC,EAAE,EAAE,CAAC3Q,MAAM,CAACtF,GAAG,EAAEsF,MAAM,CAACrF,GAAG,CAAC;IACjE;IAEA,MAAMkW,mBAAkB,GAAIA,CAAA,KAAM;MAChC,MAAMC,SAAQ,GAAI,CAAC,GAAGja,gBAAgB,CAAC0B,KAAK,EAAE,GAAGzB,iBAAiB,CAACyB,KAAK;MACxE,IAAIuY,SAAS,CAACtY,MAAK,KAAM,CAAC,EAAE;MAE5B,MAAM8H,MAAK,GAAIyQ,eAAe,CAACD,SAAS;MACxCjc,WAAW,CAAC0D,KAAK,CAACwK,SAAS,CAACzC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7D;;IAEA;IACA,MAAMoQ,oBAAmB,GAAKM,MAAM,IAAK;MACvC,MAAMC,KAAI,GAAID,MAAM,CAACrH,MAAM,CAAC,CAACuH,GAAG,EAAE7Q,KAAK,MAAM;QAC3C3F,GAAG,EAAEwW,GAAG,CAACxW,GAAE,GAAI2F,KAAK,CAAC3F,GAAG;QACxBC,GAAG,EAAEuW,GAAG,CAACvW,GAAE,GAAI0F,KAAK,CAAC1F;MACvB,CAAC,CAAC,EAAE;QAAED,GAAG,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAE,CAAC;MAEtB,OAAO;QACLD,GAAG,EAAEuW,KAAK,CAACvW,GAAE,GAAIsW,MAAM,CAACxY,MAAM;QAC9BmC,GAAG,EAAEsW,KAAK,CAACtW,GAAE,GAAIqW,MAAM,CAACxY;MAC1B;IACF;;IAEA;IACA,MAAMuY,eAAc,GAAKC,MAAM,IAAK;MAClC,MAAMlH,IAAG,GAAIkH,MAAM,CAAChX,GAAG,CAACkJ,CAAA,IAAKA,CAAC,CAACxI,GAAG;MAClC,MAAMqP,IAAG,GAAIiH,MAAM,CAAChX,GAAG,CAACkJ,CAAA,IAAKA,CAAC,CAACvI,GAAG;MAElC,OAAO,IAAIR,MAAM,CAACD,IAAI,CAACqH,MAAM,CAC3B,CAAC8C,IAAI,CAAC6F,GAAG,CAAC,GAAGJ,IAAI,CAAC,EAAEzF,IAAI,CAAC6F,GAAG,CAAC,GAAGH,IAAI,CAAC,CAAC,EACtC,CAAC1F,IAAI,CAAC4F,GAAG,CAAC,GAAGH,IAAI,CAAC,EAAEzF,IAAI,CAAC4F,GAAG,CAAC,GAAGF,IAAI,CAAC,CACvC;IACF;;IAEA;IACA,MAAMoH,uBAAsB,GAAK1T,IAAI,IAAK;MACxCrG,iBAAiB,CAACmB,KAAI,GAAIkF,IAAG;IAC/B;IAEA,MAAM2T,4BAA2B,GAAKzM,SAAS,IAAK;MAClDtN,sBAAsB,CAACkB,KAAI,GAAIoM,SAAQ;IACzC;IAEA,MAAM0M,wBAAuB,GAAKC,QAAQ,IAAK;MAC7Cha,kBAAkB,CAACiB,KAAI,GAAI+Y,QAAO;IACpC;IAEA,MAAMC,yBAAwB,GAAKtI,QAAQ,IAAK;MAC9C1R,mBAAmB,CAACgB,KAAI,GAAI0Q,QAAO;IACrC;IAEA,MAAMuI,sBAAqB,GAAK7I,KAAK,IAAK;MACxCnR,gBAAgB,CAACe,KAAI,GAAIoQ,KAAI;IAC/B;;IAEA;IACA,MAAM8I,iBAAgB,GAAKC,UAAU,IAAK;MACxC,IAAI;QACF1Y,OAAO,CAACiB,GAAG,CAAC,cAAc,EAAEyX,UAAU;QAEtC,IAAI,CAACA,UAAU,EAAE;UACf5d,SAAS,CAAC4E,KAAK,CAAC,UAAU;UAC1B;QACF;;QAEA;QACA6V,mBAAmB,CAAC;QACpBC,mBAAmB,CAAC;QACpB/W,mBAAmB,CAACc,KAAI,GAAI,IAAG;;QAE/B;QACA,IAAImZ,UAAU,CAAC5C,WAAU,IAAKnO,KAAK,CAACC,OAAO,CAAC8Q,UAAU,CAAC5C,WAAW,CAAC,EAAE;UACnEjY,gBAAgB,CAAC0B,KAAI,GAAI,CAAC,GAAGmZ,UAAU,CAAC5C,WAAW;UACnD9V,OAAO,CAACiB,GAAG,CAAC,MAAMpD,gBAAgB,CAAC0B,KAAK,CAACC,MAAM,KAAK;;UAEpD;UACA3B,gBAAgB,CAAC0B,KAAK,CAACiD,OAAO,CAAC,CAAC6E,KAAK,EAAEiD,KAAK,KAAK;YAC/C,IAAIzO,WAAW,CAAC0D,KAAI,IAAK4B,MAAM,CAACD,IAAI,EAAE;cACpC,MAAM6B,MAAK,GAAI,IAAI5B,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;gBACpCC,QAAQ,EAAE,CAACoE,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC;gBAChCuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;kBACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;kBAClCC,KAAK,EAAEmQ,gBAAgB,CAAC,GAAE,IAAKnJ,KAAI,GAAI,CAAC,CAAC,EAAE,SAAS,CAAC;kBACrD/G,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;gBACxC,CAAC,CAAC;gBACFG,KAAK,EAAE6D,KAAK,CAAC9L,IAAG,IAAK,KAAK+O,KAAI,GAAI,CAAC,EAAE;gBACrC1H,MAAM,EAAE;cACV,CAAC;cACD/G,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;cAC5BhF,iBAAiB,CAACwB,KAAK,CAACqE,IAAI,CAACb,MAAM;YACrC;UACF,CAAC;QACH;;QAEA;QACA,IAAI2V,UAAU,CAAC3c,YAAW,IAAK4L,KAAK,CAACC,OAAO,CAAC8Q,UAAU,CAAC3c,YAAY,CAAC,EAAE;UACrE+B,iBAAiB,CAACyB,KAAI,GAAI,CAAC,GAAGmZ,UAAU,CAAC3c,YAAY;UACrDiE,OAAO,CAACiB,GAAG,CAAC,MAAMnD,iBAAiB,CAACyB,KAAK,CAACC,MAAM,MAAM;;UAEtD;UACA1B,iBAAiB,CAACyB,KAAK,CAACiD,OAAO,CAAC,CAAC6E,KAAK,EAAEiD,KAAK,KAAK;YAChD,IAAIzO,WAAW,CAAC0D,KAAI,IAAK4B,MAAM,CAACD,IAAI,EAAE;cACpC,MAAM6B,MAAK,GAAI,IAAI5B,MAAM,CAACD,IAAI,CAAC8B,MAAM,CAAC;gBACpCC,QAAQ,EAAE,CAACoE,KAAK,CAAC3F,GAAG,EAAE2F,KAAK,CAAC1F,GAAG,CAAC;gBAChCuB,IAAI,EAAE,IAAI/B,MAAM,CAACD,IAAI,CAACiC,IAAI,CAAC;kBACzBC,IAAI,EAAE,IAAIjC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;kBAClCC,KAAK,EAAEmQ,gBAAgB,CAAC,GAAE,IAAKnJ,KAAI,GAAI,CAAC,CAAC,EAAE,SAAS,CAAC;kBACrD/G,SAAS,EAAE,IAAIpC,MAAM,CAACD,IAAI,CAACmC,IAAI,CAAC,EAAE,EAAE,EAAE;gBACxC,CAAC,CAAC;gBACFG,KAAK,EAAE6D,KAAK,CAAC9L,IAAG,IAAK,MAAM+O,KAAI,GAAI,CAAC,EAAE;gBACtC1H,MAAM,EAAE;cACV,CAAC;cACD/G,WAAW,CAAC0D,KAAK,CAACoE,GAAG,CAACZ,MAAM;cAC5B/E,kBAAkB,CAACuB,KAAK,CAACqE,IAAI,CAACb,MAAM;YACtC;UACF,CAAC;QACH;;QAEA;QACA,IAAI2V,UAAU,CAAC/M,SAAS,EAAE;UACxBtN,sBAAsB,CAACkB,KAAI,GAAImZ,UAAU,CAAC/M,SAAQ;QACpD;QAEA,IAAI+M,UAAU,CAAC3C,YAAY,EAAE;UAC3B3X,iBAAiB,CAACmB,KAAI,GAAImZ,UAAU,CAAC3C,YAAW;QAClD;QAEA,IAAI2C,UAAU,CAAClb,cAAc,EAAE;UAC7Be,mBAAmB,CAACgB,KAAI,GAAImZ,UAAU,CAAClb,cAAa;QACtD;QAEA,IAAIkb,UAAU,CAACjb,WAAW,EAAE;UAC1Be,gBAAgB,CAACe,KAAI,GAAImZ,UAAU,CAACjb,WAAU;QAChD;;QAEA;QACA,IAAIib,UAAU,CAACC,cAAc,EAAE;UAC7Bla,mBAAmB,CAACc,KAAI,GAAImZ,UAAU,CAACC,cAAa;UACpD3Y,OAAO,CAACiB,GAAG,CAAC,SAAS,EAAExC,mBAAmB,CAACc,KAAK;;UAEhD;UACA,IAAImZ,UAAU,CAACC,cAAc,CAAC1C,QAAO,IAAKtO,KAAK,CAACC,OAAO,CAAC8Q,UAAU,CAACC,cAAc,CAAC1C,QAAQ,CAAC,EAAE;YAC3FI,iBAAiB,CAACqC,UAAU,CAACC,cAAc,CAAC1C,QAAQ;UACtD;QACF;;QAEA;QACAtQ,UAAU,CAAC,MAAM;UACfkS,mBAAmB,CAAC;QACtB,CAAC,EAAE,GAAG;;QAEN;QACAjc,WAAW,CAAC2D,KAAI,GAAI,gBAAe;;QAEnC;QACA,IAAImZ,UAAU,CAACE,UAAU,EAAE;UACzB,MAAM;YAAErd,IAAI;YAAE2B,WAAW;YAAE2b;UAAW,IAAIH,UAAU,CAACE,UAAS;UAC9D9d,SAAS,CAACwE,OAAO,CAAC,YAAY/D,IAAI,EAAE;UACpCyE,OAAO,CAACiB,GAAG,CAAC,WAAW4X,UAAU,EAAE;UACnC,IAAI3b,WAAW,EAAE;YACf8C,OAAO,CAACiB,GAAG,CAAC,SAAS/D,WAAW,EAAE;UACpC;QACF;MAEF,EAAE,OAAOwC,KAAK,EAAE;QACdM,OAAO,CAACN,KAAK,CAAC,cAAc,EAAEA,KAAK;QACnC5E,SAAS,CAAC4E,KAAK,CAAC,YAAW,GAAIA,KAAK,CAACgE,OAAO;MAC9C;IACF;;IAEA;IACA,MAAMoV,SAAQ,GAAI,MAAAA,CAAA,KAAY;MAC5B,IAAI,CAACla,eAAe,CAACW,KAAK,EAAE;QAC1BzE,SAAS,CAAC4E,KAAK,CAAC,QAAQ;QACxB;MACF;MACA,IAAI;QACF,MAAMT,GAAE,GAAI,MAAM3D,KAAK,CAACoU,IAAI,CAAC,eAAe9Q,eAAe,CAACW,KAAK,QAAQ,EAAE,CAAC,CAAC,EAAE;UAC7EJ,OAAO,EAAE;YAAEC,aAAa,EAAE,UAAUL,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;UAAG;QACtE,CAAC;QACD,IAAIC,GAAG,CAACI,IAAI,CAACC,OAAO,EAAE;UACpBxE,SAAS,CAACwE,OAAO,CAAC,QAAQ;QAC5B,OAAO;UACLxE,SAAS,CAAC4J,IAAI,CAACzF,GAAG,CAACI,IAAI,CAACqE,OAAM,IAAK,cAAc;QACnD;QACA7E,WAAW,CAAC;MACd,EAAE,OAAOa,KAAK,EAAE;QACd5E,SAAS,CAAC4E,KAAK,CAAC,QAAO,IAAKA,KAAK,CAACsG,QAAQ,EAAE3G,IAAI,EAAEqE,OAAM,IAAKhE,KAAK,CAACgE,OAAO,CAAC;MAC7E;IACF;;IAEA;IACA,MAAMqV,UAAS,GAAI,MAAAA,CAAA,KAAY;MAC7B,IAAI,CAACna,eAAe,CAACW,KAAK,EAAE;QAC1BzE,SAAS,CAAC4E,KAAK,CAAC,QAAQ;QACxB;MACF;MACA,IAAI;QACF,MAAMT,GAAE,GAAI,MAAM3D,KAAK,CAACoU,IAAI,CAAC,eAAe9Q,eAAe,CAACW,KAAK,SAAS,EAAE,CAAC,CAAC,EAAE;UAC9EJ,OAAO,EAAE;YAAEC,aAAa,EAAE,UAAUL,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;UAAG;QACtE,CAAC;QACD,IAAIC,GAAG,CAACI,IAAI,CAACC,OAAO,EAAE;UACpBxE,SAAS,CAACwE,OAAO,CAAC,UAAU;QAC9B,OAAO;UACLxE,SAAS,CAAC4J,IAAI,CAACzF,GAAG,CAACI,IAAI,CAACqE,OAAM,IAAK,aAAa;QAClD;QACA7E,WAAW,CAAC;MACd,EAAE,OAAOa,KAAK,EAAE;QACd5E,SAAS,CAAC4E,KAAK,CAAC,UAAS,IAAKA,KAAK,CAACsG,QAAQ,EAAE3G,IAAI,EAAEqE,OAAM,IAAKhE,KAAK,CAACgE,OAAO,CAAC;MAC/E;IACF;IAEAjJ,SAAS,CAAC,MAAM;MACd;MACAuF,OAAO,CAACiB,GAAG,CAAC,mCAAmC;MAC/C;MACApC,WAAW,CAAC;IACd,CAAC;IAED,OAAO;MACLlD,YAAY;MACZC,WAAW;MACXE,OAAO;MACPC,YAAY;MACZE,WAAW;MACXU,cAAc;MACdP,iBAAiB;MACjBD,QAAQ;MACRE,WAAW;MACXC,YAAY;MACZC,iBAAiB;MACjBC,eAAe;MACfI,aAAa;MACbC,iBAAiB;MACjBC,QAAQ;MACRM,UAAU;MACVG,iBAAiB;MACjBC,cAAc;MACdC,WAAW;MACXC,QAAQ;MACRC,oBAAoB;MAEpB;MACAE,gBAAgB;MAChBC,iBAAiB;MACjBC,iBAAiB;MACjBC,kBAAkB;MAClBC,cAAc;MACdC,YAAY;MACZC,aAAa;MACbC,iBAAiB;MACjBC,sBAAsB;MACtBC,kBAAkB;MAClBC,mBAAmB;MACnBC,gBAAgB;MAChBC,mBAAmB;MAEnByD,cAAc;MACdnB,WAAW;MACXU,UAAU;MACVoB,aAAa;MACbgB,YAAY;MACZf,aAAa;MACbiB,UAAU;MACVC,sBAAsB;MACtBC,uBAAuB;MACvBC,kBAAkB;MAClBE,uBAAuB;MACvBE,qBAAqB;MACrBE,WAAW;MACXqE,UAAU;MACVG,UAAU;MACVE,QAAQ;MACRC,cAAc;MACdzB,aAAa;MACbgC,qBAAqB;MACrBG,UAAU;MACVQ,WAAW;MACXM,QAAQ;MACR2E,WAAW;MACXQ,QAAQ;MACRC,uBAAuB;MACvBC,oBAAoB;MACpBE,iBAAiB;MACjBC,aAAa;MACbG,WAAW;MACXiB,SAAS;MACTf,iBAAiB;MAEjB;MACAyB,eAAe;MACfG,eAAe;MACfC,mBAAmB;MACnBE,mBAAmB;MACnBE,mBAAmB;MACnBC,oBAAoB;MACpBI,0BAA0B;MAC1BS,yBAAyB;MACzBV,iBAAiB;MAEjB;MACAmG,iBAAiB,EAAGhc,IAAI,IAAKkD,gBAAgB,CAAClD,IAAI,CAAC,EAAEzB,IAAG,IAAK,MAAM;MACnE0d,kBAAkB,EAAGhc,KAAK,IAAKwD,iBAAiB,CAACxD,KAAK,CAAC,EAAE1B,IAAG,IAAK,MAAM;MAEvE;MACAwG,kBAAkB;MAClBC,mBAAmB;MACnByR,gBAAgB;MAChBsB,kBAAkB;MAClBC,mBAAmB;MACnBC,gBAAgB;MAChBE,iBAAiB;MACjBD,uBAAuB;MACvBE,wBAAwB;MACxBG,mBAAmB;MACnBE,gBAAgB;MAChBC,iBAAiB;MACjBF,mBAAmB;MACnBI,gBAAgB;MAChBgB,iBAAiB;MACjBP,iBAAiB;MACjBS,wBAAwB;MACxBH,oBAAoB;MACpBc,cAAc;MACdG,eAAe;MACfC,mBAAmB;MACnBM,uBAAuB;MACvBC,4BAA4B;MAC5BC,wBAAwB;MACxBE,yBAAyB;MACzBC,sBAAsB;MACtBC,iBAAiB;MACjB9Z,MAAM;MACNC,eAAe;MACfka,SAAS;MACTC;IACF;EACF;AACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b1b203538b80021a7565e7db9220d32353f6acb801988bae56fa9d98685c4cc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b1b203538b80021a7565e7db9220d32353f6acb801988bae56fa9d98685c4cc.json new file mode 100644 index 00000000..fd25cd02 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b1b203538b80021a7565e7db9220d32353f6acb801988bae56fa9d98685c4cc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\nexport default Set;","map":{"version":3,"names":["getNative","root","Set"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_Set.js"],"sourcesContent":["import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,IAAI,MAAM,YAAY;;AAE7B;AACA,IAAIC,GAAG,GAAGF,SAAS,CAACC,IAAI,EAAE,KAAK,CAAC;AAEhC,eAAeC,GAAG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b2b52f6ed06c1cf0e5d3ee44ff8797e15a4c6f73a109bb969e737e5a7a3cea1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b2b52f6ed06c1cf0e5d3ee44ff8797e15a4c6f73a109bb969e737e5a7a3cea1.json new file mode 100644 index 00000000..adc0a4a9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b2b52f6ed06c1cf0e5d3ee44ff8797e15a4c6f73a109bb969e737e5a7a3cea1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import CascaderPanel from './src/index.mjs';\nexport { CASCADER_PANEL_INJECTION_KEY } from './src/types.mjs';\nexport { CommonProps, DefaultProps, useCascaderConfig } from './src/config.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\nconst ElCascaderPanel = withInstall(CascaderPanel);\nexport { ElCascaderPanel, ElCascaderPanel as default };","map":{"version":3,"names":["ElCascaderPanel","withInstall","CascaderPanel"],"sources":["../../../../../packages/components/cascader-panel/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport CascaderPanel from './src/index.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCascaderPanel: SFCWithInstall =\n withInstall(CascaderPanel)\n\nexport default ElCascaderPanel\nexport * from './src/types'\nexport * from './src/config'\nexport * from './src/instance'\n"],"mappings":";;;;AAEY,MAACA,eAAe,GAAGC,WAAW,CAACC,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b47095261268dad444fb417f967cc29452be07ec9fcbf7df75d64c9191e0dfe.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b47095261268dad444fb417f967cc29452be07ec9fcbf7df75d64c9191e0dfe.json new file mode 100644 index 00000000..c72c5ced --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b47095261268dad444fb417f967cc29452be07ec9fcbf7df75d64c9191e0dfe.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\nexport default isSymbol;","map":{"version":3,"names":["baseGetTag","isObjectLike","symbolTag","isSymbol","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isSymbol.js"],"sourcesContent":["import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,YAAY,MAAM,mBAAmB;;AAE5C;AACA,IAAIC,SAAS,GAAG,iBAAiB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,KAAK,EAAE;EACvB,OAAO,OAAOA,KAAK,IAAI,QAAQ,IAC5BH,YAAY,CAACG,KAAK,CAAC,IAAIJ,UAAU,CAACI,KAAK,CAAC,IAAIF,SAAU;AAC3D;AAEA,eAAeC,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b6a07a7631a1afd193b7c07049a9f06e7b0b084c9f8e2a40f8e6a5ac10c90b5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b6a07a7631a1afd193b7c07049a9f06e7b0b084c9f8e2a40f8e6a5ac10c90b5.json new file mode 100644 index 00000000..76c8c90e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b6a07a7631a1afd193b7c07049a9f06e7b0b084c9f8e2a40f8e6a5ac10c90b5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import apply from './_apply.js';\nimport arrayMap from './_arrayMap.js';\nimport baseFlatten from './_baseFlatten.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseUnary from './_baseUnary.js';\nimport castRest from './_castRest.js';\nimport isArray from './isArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\nvar overArgs = castRest(function (func, transforms) {\n transforms = transforms.length == 1 && isArray(transforms[0]) ? arrayMap(transforms[0], baseUnary(baseIteratee)) : arrayMap(baseFlatten(transforms, 1), baseUnary(baseIteratee));\n var funcsLength = transforms.length;\n return baseRest(function (args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n});\nexport default overArgs;","map":{"version":3,"names":["apply","arrayMap","baseFlatten","baseIteratee","baseRest","baseUnary","castRest","isArray","nativeMin","Math","min","overArgs","func","transforms","length","funcsLength","args","index","call"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/overArgs.js"],"sourcesContent":["import apply from './_apply.js';\nimport arrayMap from './_arrayMap.js';\nimport baseFlatten from './_baseFlatten.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseUnary from './_baseUnary.js';\nimport castRest from './_castRest.js';\nimport isArray from './isArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\nvar overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(baseIteratee))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(baseIteratee));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n});\n\nexport default overArgs;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,aAAa;AAC/B,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,OAAO,MAAM,cAAc;;AAElC;AACA,IAAIC,SAAS,GAAGC,IAAI,CAACC,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,QAAQ,GAAGL,QAAQ,CAAC,UAASM,IAAI,EAAEC,UAAU,EAAE;EACjDA,UAAU,GAAIA,UAAU,CAACC,MAAM,IAAI,CAAC,IAAIP,OAAO,CAACM,UAAU,CAAC,CAAC,CAAC,CAAC,GAC1DZ,QAAQ,CAACY,UAAU,CAAC,CAAC,CAAC,EAAER,SAAS,CAACF,YAAY,CAAC,CAAC,GAChDF,QAAQ,CAACC,WAAW,CAACW,UAAU,EAAE,CAAC,CAAC,EAAER,SAAS,CAACF,YAAY,CAAC,CAAC;EAEjE,IAAIY,WAAW,GAAGF,UAAU,CAACC,MAAM;EACnC,OAAOV,QAAQ,CAAC,UAASY,IAAI,EAAE;IAC7B,IAAIC,KAAK,GAAG,CAAC,CAAC;MACVH,MAAM,GAAGN,SAAS,CAACQ,IAAI,CAACF,MAAM,EAAEC,WAAW,CAAC;IAEhD,OAAO,EAAEE,KAAK,GAAGH,MAAM,EAAE;MACvBE,IAAI,CAACC,KAAK,CAAC,GAAGJ,UAAU,CAACI,KAAK,CAAC,CAACC,IAAI,CAAC,IAAI,EAAEF,IAAI,CAACC,KAAK,CAAC,CAAC;IACzD;IACA,OAAOjB,KAAK,CAACY,IAAI,EAAE,IAAI,EAAEI,IAAI,CAAC;EAChC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAeL,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b8bd6da7c297c11731a7f4bdf38bf0f66eae5bca0c1cf11a61c774e7df821e5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b8bd6da7c297c11731a7f4bdf38bf0f66eae5bca0c1cf11a61c774e7df821e5.json new file mode 100644 index 00000000..b00bed72 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0b8bd6da7c297c11731a7f4bdf38bf0f66eae5bca0c1cf11a61c774e7df821e5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { useTooltipContentProps } from '../../tooltip/src/content.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { NOOP, isString, isObject } from '@vue/shared';\nimport { useAriaProps } from '../../../hooks/use-aria/index.mjs';\nimport { UPDATE_MODEL_EVENT, INPUT_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';\nconst autocompleteProps = buildProps({\n valueKey: {\n type: String,\n default: \"value\"\n },\n modelValue: {\n type: [String, Number],\n default: \"\"\n },\n debounce: {\n type: Number,\n default: 300\n },\n placement: {\n type: definePropType(String),\n values: [\"top\", \"top-start\", \"top-end\", \"bottom\", \"bottom-start\", \"bottom-end\"],\n default: \"bottom-start\"\n },\n fetchSuggestions: {\n type: definePropType([Function, Array]),\n default: NOOP\n },\n popperClass: {\n type: String,\n default: \"\"\n },\n triggerOnFocus: {\n type: Boolean,\n default: true\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false\n },\n hideLoading: {\n type: Boolean,\n default: false\n },\n teleported: useTooltipContentProps.teleported,\n appendTo: useTooltipContentProps.appendTo,\n highlightFirstItem: {\n type: Boolean,\n default: false\n },\n fitInputWidth: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n name: String,\n ...useAriaProps([\"ariaLabel\"])\n});\nconst autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: value => isString(value),\n [INPUT_EVENT]: value => isString(value),\n [CHANGE_EVENT]: value => isString(value),\n focus: evt => evt instanceof FocusEvent,\n blur: evt => evt instanceof FocusEvent,\n clear: () => true,\n select: item => isObject(item)\n};\nexport { autocompleteEmits, autocompleteProps };","map":{"version":3,"names":["autocompleteProps","buildProps","valueKey","type","String","default","modelValue","Number","debounce","placement","definePropType","values","fetchSuggestions","Function","Array","NOOP","popperClass","triggerOnFocus","Boolean","selectWhenUnmatched","hideLoading","teleported","useTooltipContentProps","appendTo","highlightFirstItem","fitInputWidth","clearable","disabled","name","useAriaProps","autocompleteEmits","UPDATE_MODEL_EVENT","value","isString","INPUT_EVENT","CHANGE_EVENT","focus","evt","FocusEvent","blur","clear","select","item","isObject"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { useAriaProps } from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = Record[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description placement of the popup menu\n */\n placement: {\n type: definePropType(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions: {\n type: definePropType([Function, Array]),\n default: NOOP,\n },\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description which select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to disable\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type AutocompleteProps = ExtractPropTypes\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: Record) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType & unknown\n"],"mappings":";;;;;AAcY,MAACA,iBAAiB,GAAGC,UAAU,CAAC;EAC1CC,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDC,UAAU,EAAE;IACVH,IAAI,EAAE,CAACC,MAAM,EAAEG,MAAM,CAAC;IACtBF,OAAO,EAAE;EACb,CAAG;EACDG,QAAQ,EAAE;IACRL,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACb,CAAG;EACDI,SAAS,EAAE;IACTN,IAAI,EAAEO,cAAc,CAACN,MAAM,CAAC;IAC5BO,MAAM,EAAE,CACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,CACb;IACDN,OAAO,EAAE;EACb,CAAG;EACDO,gBAAgB,EAAE;IAChBT,IAAI,EAAEO,cAAc,CAAC,CAACG,QAAQ,EAAEC,KAAK,CAAC,CAAC;IACvCT,OAAO,EAAEU;EACb,CAAG;EACDC,WAAW,EAAE;IACXb,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDY,cAAc,EAAE;IACdd,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDc,mBAAmB,EAAE;IACnBhB,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDe,WAAW,EAAE;IACXjB,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDgB,UAAU,EAAEC,sBAAsB,CAACD,UAAU;EAC7CE,QAAQ,EAAED,sBAAsB,CAACC,QAAQ;EACzCC,kBAAkB,EAAE;IAClBrB,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDoB,aAAa,EAAE;IACbtB,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDqB,SAAS,EAAE;IACTvB,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDsB,QAAQ,EAAE;IACRxB,IAAI,EAAEe,OAAO;IACbb,OAAO,EAAE;EACb,CAAG;EACDuB,IAAI,EAAExB,MAAM;EACZ,GAAGyB,YAAY,CAAC,CAAC,WAAW,CAAC;AAC/B,CAAC;AACW,MAACC,iBAAiB,GAAG;EAC/B,CAACC,kBAAkB,GAAIC,KAAK,IAAKC,QAAQ,CAACD,KAAK,CAAC;EAChD,CAACE,WAAW,GAAIF,KAAK,IAAKC,QAAQ,CAACD,KAAK,CAAC;EACzC,CAACG,YAAY,GAAIH,KAAK,IAAKC,QAAQ,CAACD,KAAK,CAAC;EAC1CI,KAAK,EAAGC,GAAG,IAAKA,GAAG,YAAYC,UAAU;EACzCC,IAAI,EAAGF,GAAG,IAAKA,GAAG,YAAYC,UAAU;EACxCE,KAAK,EAAEA,CAAA,KAAM,IAAI;EACjBC,MAAM,EAAGC,IAAI,IAAKC,QAAQ,CAACD,IAAI;AACjC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0bb52c79beb7cef803ea80ca78ca7f0f3eb2b557366ab66ccc5f8e2ed1b69db0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0bb52c79beb7cef803ea80ca78ca7f0f3eb2b557366ab66ccc5f8e2ed1b69db0.json new file mode 100644 index 00000000..0123e7f8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0bb52c79beb7cef803ea80ca78ca7f0f3eb2b557366ab66ccc5f8e2ed1b69db0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { datePickerSharedProps, selectionModeWithDefault } from './shared.mjs';\nimport { buildProps } from '../../../../utils/vue/props/runtime.mjs';\nconst basicYearTableProps = buildProps({\n ...datePickerSharedProps,\n selectionMode: selectionModeWithDefault(\"year\")\n});\nexport { basicYearTableProps };","map":{"version":3,"names":["basicYearTableProps","buildProps","datePickerSharedProps","selectionMode","selectionModeWithDefault"],"sources":["../../../../../../../packages/components/date-picker/src/props/basic-year-table.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { datePickerSharedProps, selectionModeWithDefault } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const basicYearTableProps = buildProps({\n ...datePickerSharedProps,\n selectionMode: selectionModeWithDefault('year'),\n} as const)\n\nexport type BasicYearTableProps = ExtractPropTypes\n"],"mappings":";;AAEY,MAACA,mBAAmB,GAAGC,UAAU,CAAC;EAC5C,GAAGC,qBAAqB;EACxBC,aAAa,EAAEC,wBAAwB,CAAC,MAAM;AAChD,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0be06626541b799d5a9bd642e65e379a88296b30b4db16ffd60986f7f9f17d67.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0be06626541b799d5a9bd642e65e379a88296b30b4db16ffd60986f7f9f17d67.json new file mode 100644 index 00000000..becd9553 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0be06626541b799d5a9bd642e65e379a88296b30b4db16ffd60986f7f9f17d67.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport utils from './../utils.js';\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\nexport default InterceptorManager;","map":{"version":3,"names":["utils","InterceptorManager","constructor","handlers","use","fulfilled","rejected","options","push","synchronous","runWhen","length","eject","id","clear","forEach","fn","forEachHandler","h"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/core/InterceptorManager.js"],"sourcesContent":["'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n"],"mappings":"AAAA,YAAY;;AAEZ,OAAOA,KAAK,MAAM,eAAe;AAEjC,MAAMC,kBAAkB,CAAC;EACvBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,QAAQ,GAAG,EAAE;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,GAAGA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,EAAE;IAChC,IAAI,CAACJ,QAAQ,CAACK,IAAI,CAAC;MACjBH,SAAS;MACTC,QAAQ;MACRG,WAAW,EAAEF,OAAO,GAAGA,OAAO,CAACE,WAAW,GAAG,KAAK;MAClDC,OAAO,EAAEH,OAAO,GAAGA,OAAO,CAACG,OAAO,GAAG;IACvC,CAAC,CAAC;IACF,OAAO,IAAI,CAACP,QAAQ,CAACQ,MAAM,GAAG,CAAC;EACjC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,KAAKA,CAACC,EAAE,EAAE;IACR,IAAI,IAAI,CAACV,QAAQ,CAACU,EAAE,CAAC,EAAE;MACrB,IAAI,CAACV,QAAQ,CAACU,EAAE,CAAC,GAAG,IAAI;IAC1B;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEC,KAAKA,CAAA,EAAG;IACN,IAAI,IAAI,CAACX,QAAQ,EAAE;MACjB,IAAI,CAACA,QAAQ,GAAG,EAAE;IACpB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEY,OAAOA,CAACC,EAAE,EAAE;IACVhB,KAAK,CAACe,OAAO,CAAC,IAAI,CAACZ,QAAQ,EAAE,SAASc,cAAcA,CAACC,CAAC,EAAE;MACtD,IAAIA,CAAC,KAAK,IAAI,EAAE;QACdF,EAAE,CAACE,CAAC,CAAC;MACP;IACF,CAAC,CAAC;EACJ;AACF;AAEA,eAAejB,kBAAkB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c0b90e0d99d15da187fb340a013e41e4a878c13dbb3342891f7e64db5d7a5d5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c0b90e0d99d15da187fb340a013e41e4a878c13dbb3342891f7e64db5d7a5d5.json new file mode 100644 index 00000000..ba9e06d6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c0b90e0d99d15da187fb340a013e41e4a878c13dbb3342891f7e64db5d7a5d5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n } else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\nexport default slice;","map":{"version":3,"names":["baseSlice","isIterateeCall","toInteger","slice","array","start","end","length","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/slice.js"],"sourcesContent":["import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nexport default slice;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,cAAc,MAAM,sBAAsB;AACjD,OAAOC,SAAS,MAAM,gBAAgB;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAACC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAE;EAChC,IAAIC,MAAM,GAAGH,KAAK,IAAI,IAAI,GAAG,CAAC,GAAGA,KAAK,CAACG,MAAM;EAC7C,IAAI,CAACA,MAAM,EAAE;IACX,OAAO,EAAE;EACX;EACA,IAAID,GAAG,IAAI,OAAOA,GAAG,IAAI,QAAQ,IAAIL,cAAc,CAACG,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC,EAAE;IACtED,KAAK,GAAG,CAAC;IACTC,GAAG,GAAGC,MAAM;EACd,CAAC,MACI;IACHF,KAAK,GAAGA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAGH,SAAS,CAACG,KAAK,CAAC;IAC5CC,GAAG,GAAGA,GAAG,KAAKE,SAAS,GAAGD,MAAM,GAAGL,SAAS,CAACI,GAAG,CAAC;EACnD;EACA,OAAON,SAAS,CAACI,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC;AACrC;AAEA,eAAeH,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c31896f0895fa31d0a4a21b294fbac9b40afffbc3b1da9c24090b67a3ab8cf4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c31896f0895fa31d0a4a21b294fbac9b40afffbc3b1da9c24090b67a3ab8cf4.json new file mode 100644 index 00000000..fcaea728 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c31896f0895fa31d0a4a21b294fbac9b40afffbc3b1da9c24090b67a3ab8cf4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref } from 'vue';\nimport { isNumber } from '../../../../utils/types.mjs';\nconst useScrollbar = () => {\n const scrollBarRef = ref();\n const scrollTo = (options, yCoord) => {\n const scrollbar = scrollBarRef.value;\n if (scrollbar) {\n scrollbar.scrollTo(options, yCoord);\n }\n };\n const setScrollPosition = (position, offset) => {\n const scrollbar = scrollBarRef.value;\n if (scrollbar && isNumber(offset) && [\"Top\", \"Left\"].includes(position)) {\n scrollbar[`setScroll${position}`](offset);\n }\n };\n const setScrollTop = top => setScrollPosition(\"Top\", top);\n const setScrollLeft = left => setScrollPosition(\"Left\", left);\n return {\n scrollBarRef,\n scrollTo,\n setScrollTop,\n setScrollLeft\n };\n};\nexport { useScrollbar };","map":{"version":3,"names":["useScrollbar","scrollBarRef","ref","scrollTo","options","yCoord","scrollbar","value","setScrollPosition","position","offset","isNumber","includes","setScrollTop","top","setScrollLeft","left"],"sources":["../../../../../../../packages/components/table/src/composables/use-scrollbar.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { isNumber } from '@element-plus/utils'\n\nexport const useScrollbar = () => {\n const scrollBarRef = ref()\n\n const scrollTo = (options: ScrollToOptions | number, yCoord?: number) => {\n const scrollbar = scrollBarRef.value\n if (scrollbar) {\n scrollbar.scrollTo(options, yCoord)\n }\n }\n\n const setScrollPosition = (position: 'Top' | 'Left', offset?: number) => {\n const scrollbar = scrollBarRef.value\n if (scrollbar && isNumber(offset) && ['Top', 'Left'].includes(position)) {\n scrollbar[`setScroll${position}`](offset)\n }\n }\n\n const setScrollTop = (top?: number) => setScrollPosition('Top', top)\n const setScrollLeft = (left?: number) => setScrollPosition('Left', left)\n\n return {\n scrollBarRef,\n scrollTo,\n setScrollTop,\n setScrollLeft,\n }\n}\n"],"mappings":";;AAEY,MAACA,YAAY,GAAGA,CAAA,KAAM;EAChC,MAAMC,YAAY,GAAGC,GAAG,EAAE;EAC1B,MAAMC,QAAQ,GAAGA,CAACC,OAAO,EAAEC,MAAM,KAAK;IACpC,MAAMC,SAAS,GAAGL,YAAY,CAACM,KAAK;IACpC,IAAID,SAAS,EAAE;MACbA,SAAS,CAACH,QAAQ,CAACC,OAAO,EAAEC,MAAM,CAAC;IACzC;EACA,CAAG;EACD,MAAMG,iBAAiB,GAAGA,CAACC,QAAQ,EAAEC,MAAM,KAAK;IAC9C,MAAMJ,SAAS,GAAGL,YAAY,CAACM,KAAK;IACpC,IAAID,SAAS,IAAIK,QAAQ,CAACD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAACE,QAAQ,CAACH,QAAQ,CAAC,EAAE;MACvEH,SAAS,CAAC,YAAYG,QAAQ,EAAE,CAAC,CAACC,MAAM,CAAC;IAC/C;EACA,CAAG;EACD,MAAMG,YAAY,GAAIC,GAAG,IAAKN,iBAAiB,CAAC,KAAK,EAAEM,GAAG,CAAC;EAC3D,MAAMC,aAAa,GAAIC,IAAI,IAAKR,iBAAiB,CAAC,MAAM,EAAEQ,IAAI,CAAC;EAC/D,OAAO;IACLf,YAAY;IACZE,QAAQ;IACRU,YAAY;IACZE;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c53b5429277de170112a947d0d0ffbb1711f6adc17d702860fbc8350e89d699.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c53b5429277de170112a947d0d0ffbb1711f6adc17d702860fbc8350e89d699.json new file mode 100644 index 00000000..0b6f0ec3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c53b5429277de170112a947d0d0ffbb1711f6adc17d702860fbc8350e89d699.json @@ -0,0 +1 @@ +{"ast":null,"code":"/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\nexport default isIndex;","map":{"version":3,"names":["MAX_SAFE_INTEGER","reIsUint","isIndex","value","length","type","test"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_isIndex.js"],"sourcesContent":["/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n"],"mappings":"AAAA;AACA,IAAIA,gBAAgB,GAAG,gBAAgB;;AAEvC;AACA,IAAIC,QAAQ,GAAG,kBAAkB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,KAAK,EAAEC,MAAM,EAAE;EAC9B,IAAIC,IAAI,GAAG,OAAOF,KAAK;EACvBC,MAAM,GAAGA,MAAM,IAAI,IAAI,GAAGJ,gBAAgB,GAAGI,MAAM;EAEnD,OAAO,CAAC,CAACA,MAAM,KACZC,IAAI,IAAI,QAAQ,IACdA,IAAI,IAAI,QAAQ,IAAIJ,QAAQ,CAACK,IAAI,CAACH,KAAK,CAAE,CAAC,IACxCA,KAAK,GAAG,CAAC,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAI,CAAC,IAAIA,KAAK,GAAGC,MAAO;AACxD;AAEA,eAAeF,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c6889eb918076a7a1e13377420359b741825549087889602f6649a5424859cc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c6889eb918076a7a1e13377420359b741825549087889602f6649a5424859cc.json new file mode 100644 index 00000000..437ea63f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c6889eb918076a7a1e13377420359b741825549087889602f6649a5424859cc.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n params && toFormData(params, this, options);\n}\nconst prototype = AxiosURLSearchParams.prototype;\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function (value) {\n return encoder.call(this, value, encode);\n } : encode;\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\nexport default AxiosURLSearchParams;","map":{"version":3,"names":["toFormData","encode","str","charMap","encodeURIComponent","replace","replacer","match","AxiosURLSearchParams","params","options","_pairs","prototype","append","name","value","push","toString","encoder","_encode","call","map","each","pair","join"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/helpers/AxiosURLSearchParams.js"],"sourcesContent":["'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n"],"mappings":"AAAA,YAAY;;AAEZ,OAAOA,UAAU,MAAM,iBAAiB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,GAAG,EAAE;EACnB,MAAMC,OAAO,GAAG;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE;EACT,CAAC;EACD,OAAOC,kBAAkB,CAACF,GAAG,CAAC,CAACG,OAAO,CAAC,kBAAkB,EAAE,SAASC,QAAQA,CAACC,KAAK,EAAE;IAClF,OAAOJ,OAAO,CAACI,KAAK,CAAC;EACvB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAACC,MAAM,EAAEC,OAAO,EAAE;EAC7C,IAAI,CAACC,MAAM,GAAG,EAAE;EAEhBF,MAAM,IAAIT,UAAU,CAACS,MAAM,EAAE,IAAI,EAAEC,OAAO,CAAC;AAC7C;AAEA,MAAME,SAAS,GAAGJ,oBAAoB,CAACI,SAAS;AAEhDA,SAAS,CAACC,MAAM,GAAG,SAASA,MAAMA,CAACC,IAAI,EAAEC,KAAK,EAAE;EAC9C,IAAI,CAACJ,MAAM,CAACK,IAAI,CAAC,CAACF,IAAI,EAAEC,KAAK,CAAC,CAAC;AACjC,CAAC;AAEDH,SAAS,CAACK,QAAQ,GAAG,SAASA,QAAQA,CAACC,OAAO,EAAE;EAC9C,MAAMC,OAAO,GAAGD,OAAO,GAAG,UAASH,KAAK,EAAE;IACxC,OAAOG,OAAO,CAACE,IAAI,CAAC,IAAI,EAAEL,KAAK,EAAEd,MAAM,CAAC;EAC1C,CAAC,GAAGA,MAAM;EAEV,OAAO,IAAI,CAACU,MAAM,CAACU,GAAG,CAAC,SAASC,IAAIA,CAACC,IAAI,EAAE;IACzC,OAAOJ,OAAO,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;EAClD,CAAC,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAED,eAAehB,oBAAoB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c78da60c939f0499b7c0b0b5873ade4411022d9fa3456fec54e965f0e0d2baa.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c78da60c939f0499b7c0b0b5873ade4411022d9fa3456fec54e965f0e0d2baa.json new file mode 100644 index 00000000..6ee164ff --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0c78da60c939f0499b7c0b0b5873ade4411022d9fa3456fec54e965f0e0d2baa.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function () {\n return value;\n };\n}\nexport default constant;","map":{"version":3,"names":["constant","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/constant.js"],"sourcesContent":["/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAACC,KAAK,EAAE;EACvB,OAAO,YAAW;IAChB,OAAOA,KAAK;EACd,CAAC;AACH;AAEA,eAAeD,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ca4e85c95046615c35bddafa4bb089c86d47e2379d09e067cd194dddc38e814.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ca4e85c95046615c35bddafa4bb089c86d47e2379d09e067cd194dddc38e814.json new file mode 100644 index 00000000..63ed35bc --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ca4e85c95046615c35bddafa4bb089c86d47e2379d09e067cd194dddc38e814.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Breadcrumb from './src/breadcrumb2.mjs';\nimport BreadcrumbItem from './src/breadcrumb-item2.mjs';\nexport { breadcrumbProps } from './src/breadcrumb.mjs';\nexport { breadcrumbItemProps } from './src/breadcrumb-item.mjs';\nexport { breadcrumbKey } from './src/constants.mjs';\nimport { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';\nconst ElBreadcrumb = withInstall(Breadcrumb, {\n BreadcrumbItem\n});\nconst ElBreadcrumbItem = withNoopInstall(BreadcrumbItem);\nexport { ElBreadcrumb, ElBreadcrumbItem, ElBreadcrumb as default };","map":{"version":3,"names":["ElBreadcrumb","withInstall","Breadcrumb","BreadcrumbItem","ElBreadcrumbItem","withNoopInstall"],"sources":["../../../../../packages/components/breadcrumb/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Breadcrumb from './src/breadcrumb.vue'\nimport BreadcrumbItem from './src/breadcrumb-item.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElBreadcrumb: SFCWithInstall & {\n BreadcrumbItem: typeof BreadcrumbItem\n} = withInstall(Breadcrumb, {\n BreadcrumbItem,\n})\nexport const ElBreadcrumbItem: SFCWithInstall =\n withNoopInstall(BreadcrumbItem)\nexport default ElBreadcrumb\n\nexport * from './src/breadcrumb'\nexport * from './src/breadcrumb-item'\nexport * from './src/constants'\nexport type {\n BreadcrumbInstance,\n BreadcrumbItemInstance,\n} from './src/instances'\n"],"mappings":";;;;;;AAGY,MAACA,YAAY,GAAGC,WAAW,CAACC,UAAU,EAAE;EAClDC;AACF,CAAC;AACW,MAACC,gBAAgB,GAAGC,eAAe,CAACF,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ccd978940df68585c623e55e6c6da380e6820d1ffaca4174e0bead20c178408.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ccd978940df68585c623e55e6c6da380e6820d1ffaca4174e0bead20c178408.json new file mode 100644 index 00000000..5bb887ec --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ccd978940df68585c623e55e6c6da380e6820d1ffaca4174e0bead20c178408.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { inject, getCurrentInstance, ref, unref, onMounted, reactive, onUnmounted } from 'vue';\nimport { carouselContextKey, CAROUSEL_ITEM_NAME } from './constants.mjs';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { isUndefined } from '../../../utils/types.mjs';\nconst useCarouselItem = props => {\n const carouselContext = inject(carouselContextKey);\n const instance = getCurrentInstance();\n if (!carouselContext) {\n debugWarn(CAROUSEL_ITEM_NAME, \"usage: \");\n }\n if (!instance) {\n debugWarn(CAROUSEL_ITEM_NAME, \"compositional hook can only be invoked inside setups\");\n }\n const carouselItemRef = ref();\n const hover = ref(false);\n const translate = ref(0);\n const scale = ref(1);\n const active = ref(false);\n const ready = ref(false);\n const inStage = ref(false);\n const animating = ref(false);\n const {\n isCardType,\n isVertical,\n cardScale\n } = carouselContext;\n function processIndex(index, activeIndex, length) {\n const lastItemIndex = length - 1;\n const prevItemIndex = activeIndex - 1;\n const nextItemIndex = activeIndex + 1;\n const halfItemIndex = length / 2;\n if (activeIndex === 0 && index === lastItemIndex) {\n return -1;\n } else if (activeIndex === lastItemIndex && index === 0) {\n return length;\n } else if (index < prevItemIndex && activeIndex - index >= halfItemIndex) {\n return length + 1;\n } else if (index > nextItemIndex && index - activeIndex >= halfItemIndex) {\n return -2;\n }\n return index;\n }\n function calcCardTranslate(index, activeIndex) {\n var _a, _b;\n const parentWidth = unref(isVertical) ? ((_a = carouselContext.root.value) == null ? void 0 : _a.offsetHeight) || 0 : ((_b = carouselContext.root.value) == null ? void 0 : _b.offsetWidth) || 0;\n if (inStage.value) {\n return parentWidth * ((2 - cardScale) * (index - activeIndex) + 1) / 4;\n } else if (index < activeIndex) {\n return -(1 + cardScale) * parentWidth / 4;\n } else {\n return (3 + cardScale) * parentWidth / 4;\n }\n }\n function calcTranslate(index, activeIndex, isVertical2) {\n const rootEl = carouselContext.root.value;\n if (!rootEl) return 0;\n const distance = (isVertical2 ? rootEl.offsetHeight : rootEl.offsetWidth) || 0;\n return distance * (index - activeIndex);\n }\n const translateItem = (index, activeIndex, oldIndex) => {\n var _a;\n const _isCardType = unref(isCardType);\n const carouselItemLength = (_a = carouselContext.items.value.length) != null ? _a : Number.NaN;\n const isActive = index === activeIndex;\n if (!_isCardType && !isUndefined(oldIndex)) {\n animating.value = isActive || index === oldIndex;\n }\n if (!isActive && carouselItemLength > 2 && carouselContext.loop) {\n index = processIndex(index, activeIndex, carouselItemLength);\n }\n const _isVertical = unref(isVertical);\n active.value = isActive;\n if (_isCardType) {\n inStage.value = Math.round(Math.abs(index - activeIndex)) <= 1;\n translate.value = calcCardTranslate(index, activeIndex);\n scale.value = unref(active) ? 1 : cardScale;\n } else {\n translate.value = calcTranslate(index, activeIndex, _isVertical);\n }\n ready.value = true;\n if (isActive && carouselItemRef.value) {\n carouselContext.setContainerHeight(carouselItemRef.value.offsetHeight);\n }\n };\n function handleItemClick() {\n if (carouselContext && unref(isCardType)) {\n const index = carouselContext.items.value.findIndex(({\n uid\n }) => uid === instance.uid);\n carouselContext.setActiveItem(index);\n }\n }\n onMounted(() => {\n carouselContext.addItem({\n props,\n states: reactive({\n hover,\n translate,\n scale,\n active,\n ready,\n inStage,\n animating\n }),\n uid: instance.uid,\n translateItem\n });\n });\n onUnmounted(() => {\n carouselContext.removeItem(instance.uid);\n });\n return {\n carouselItemRef,\n active,\n animating,\n hover,\n inStage,\n isVertical,\n translate,\n isCardType,\n scale,\n ready,\n handleItemClick\n };\n};\nexport { useCarouselItem };","map":{"version":3,"names":["useCarouselItem","props","carouselContext","inject","carouselContextKey","instance","getCurrentInstance","debugWarn","CAROUSEL_ITEM_NAME","carouselItemRef","ref","hover","translate","scale","active","ready","inStage","animating","isCardType","isVertical","cardScale","processIndex","index","activeIndex","length","lastItemIndex","prevItemIndex","nextItemIndex","halfItemIndex","calcCardTranslate","_a","_b","parentWidth","unref","root","value","offsetHeight","offsetWidth","calcTranslate","isVertical2","rootEl","distance","translateItem","oldIndex","_isCardType","carouselItemLength","items","Number","NaN","isActive","isUndefined","loop","_isVertical","Math","round","abs","setContainerHeight","handleItemClick","findIndex","uid","setActiveItem","onMounted","addItem","states","reactive","onUnmounted","removeItem"],"sources":["../../../../../../packages/components/carousel/src/use-carousel-item.ts"],"sourcesContent":["import {\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n unref,\n} from 'vue'\nimport { debugWarn, isUndefined } from '@element-plus/utils'\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants'\n\nimport type { CarouselItemProps } from './carousel-item'\n\nexport const useCarouselItem = (props: CarouselItemProps) => {\n const carouselContext = inject(carouselContextKey)!\n // instance\n const instance = getCurrentInstance()!\n if (!carouselContext) {\n debugWarn(\n CAROUSEL_ITEM_NAME,\n 'usage: '\n )\n }\n\n if (!instance) {\n debugWarn(\n CAROUSEL_ITEM_NAME,\n 'compositional hook can only be invoked inside setups'\n )\n }\n\n const carouselItemRef = ref()\n const hover = ref(false)\n const translate = ref(0)\n const scale = ref(1)\n const active = ref(false)\n const ready = ref(false)\n const inStage = ref(false)\n const animating = ref(false)\n\n // computed\n const { isCardType, isVertical, cardScale } = carouselContext\n\n // methods\n\n function processIndex(index: number, activeIndex: number, length: number) {\n const lastItemIndex = length - 1\n const prevItemIndex = activeIndex - 1\n const nextItemIndex = activeIndex + 1\n const halfItemIndex = length / 2\n\n if (activeIndex === 0 && index === lastItemIndex) {\n return -1\n } else if (activeIndex === lastItemIndex && index === 0) {\n return length\n } else if (index < prevItemIndex && activeIndex - index >= halfItemIndex) {\n return length + 1\n } else if (index > nextItemIndex && index - activeIndex >= halfItemIndex) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index: number, activeIndex: number) {\n const parentWidth = unref(isVertical)\n ? carouselContext.root.value?.offsetHeight || 0\n : carouselContext.root.value?.offsetWidth || 0\n\n if (inStage.value) {\n return (parentWidth * ((2 - cardScale) * (index - activeIndex) + 1)) / 4\n } else if (index < activeIndex) {\n return (-(1 + cardScale) * parentWidth) / 4\n } else {\n return ((3 + cardScale) * parentWidth) / 4\n }\n }\n\n function calcTranslate(\n index: number,\n activeIndex: number,\n isVertical: boolean\n ) {\n const rootEl = carouselContext.root.value\n if (!rootEl) return 0\n\n const distance =\n (isVertical ? rootEl.offsetHeight : rootEl.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex?: number\n ) => {\n const _isCardType = unref(isCardType)\n const carouselItemLength = carouselContext.items.value.length ?? Number.NaN\n\n const isActive = index === activeIndex\n if (!_isCardType && !isUndefined(oldIndex)) {\n animating.value = isActive || index === oldIndex\n }\n\n if (!isActive && carouselItemLength > 2 && carouselContext.loop) {\n index = processIndex(index, activeIndex, carouselItemLength)\n }\n\n const _isVertical = unref(isVertical)\n active.value = isActive\n\n if (_isCardType) {\n inStage.value = Math.round(Math.abs(index - activeIndex)) <= 1\n translate.value = calcCardTranslate(index, activeIndex)\n scale.value = unref(active) ? 1 : cardScale\n } else {\n translate.value = calcTranslate(index, activeIndex, _isVertical)\n }\n\n ready.value = true\n\n if (isActive && carouselItemRef.value) {\n carouselContext.setContainerHeight(carouselItemRef.value.offsetHeight)\n }\n }\n\n function handleItemClick() {\n if (carouselContext && unref(isCardType)) {\n const index = carouselContext.items.value.findIndex(\n ({ uid }) => uid === instance.uid\n )\n carouselContext.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n carouselContext.addItem({\n props,\n states: reactive({\n hover,\n translate,\n scale,\n active,\n ready,\n inStage,\n animating,\n }),\n uid: instance.uid,\n translateItem,\n })\n })\n\n onUnmounted(() => {\n carouselContext.removeItem(instance.uid)\n })\n\n return {\n carouselItemRef,\n active,\n animating,\n hover,\n inStage,\n isVertical,\n translate,\n isCardType,\n scale,\n ready,\n handleItemClick,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0d29e6e672a7b3dc6d60b214ee12065e4e9bbe1bce319e55c17df1d149669646.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0d29e6e672a7b3dc6d60b214ee12065e4e9bbe1bce319e55c17df1d149669646.json new file mode 100644 index 00000000..2c376d64 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0d29e6e672a7b3dc6d60b214ee12065e4e9bbe1bce319e55c17df1d149669646.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, createVNode } from 'vue';\nimport { autoResizerProps } from '../auto-resizer.mjs';\nimport { useAutoResize } from '../composables/use-auto-resize.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nconst AutoResizer = defineComponent({\n name: \"ElAutoResizer\",\n props: autoResizerProps,\n setup(props, {\n slots\n }) {\n const ns = useNamespace(\"auto-resizer\");\n const {\n height,\n width,\n sizer\n } = useAutoResize(props);\n const style = {\n width: \"100%\",\n height: \"100%\"\n };\n return () => {\n var _a;\n return createVNode(\"div\", {\n \"ref\": sizer,\n \"class\": ns.b(),\n \"style\": style\n }, [(_a = slots.default) == null ? void 0 : _a.call(slots, {\n height: height.value,\n width: width.value\n })]);\n };\n }\n});\nvar AutoResizer$1 = AutoResizer;\nexport { AutoResizer$1 as default };","map":{"version":3,"names":["AutoResizer","defineComponent","name","props","autoResizerProps","slots","ns","useNamespace","height","width","sizer","useAutoResize","style","_a","createVNode","b","default","call","value","AutoResizer$1"],"sources":["../../../../../../../packages/components/table-v2/src/components/auto-resizer.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { autoResizerProps } from '../auto-resizer'\nimport { useAutoResize } from '../composables'\n\nconst AutoResizer = defineComponent({\n name: 'ElAutoResizer',\n props: autoResizerProps,\n setup(props, { slots }) {\n const ns = useNamespace('auto-resizer')\n const { height, width, sizer } = useAutoResize(props)\n const style = {\n width: '100%',\n height: '100%',\n }\n\n return () => {\n return (\n
\n {slots.default?.({\n height: height.value,\n width: width.value,\n })}\n
\n )\n }\n },\n})\n\nexport default AutoResizer\n"],"mappings":";;;;AAKA,MAAMA,WAAW,GAAGC,eAAe,CAAC;EAClCC,IAAI,EAAE,eAD4B;EAElCC,KAAK,EAAEC,gBAF2B;;IAG7BC;EAAU;IAAS,MAAAC,EAAA,GAAAC,YAAA;IACtB,MAAM;MACAC,MAAA;MAAEC,KAAF;MAAUC;IAAO,IAAAC,aAAA,CAAAR,KAAA;IAAjB,MAA2BS,KAAA;MACjCH,KAAA,QAAc;MACZD,MAAA,EADY;IAEZ;IAFY,OAAd;MAKA,IAAAK,EAAa;MACX,OAAAC,WAAA;QAAA,OACYJ,KADZ;QAAA,OAC0B,EAAAJ,EAAE,CAACS,CAAH,EAD1B;QAAA,OACyC,EAAAH;OACpC,IAAAC,EAAA,GAAMR,KAAA,CAAAW,OAAU,qBAAAH,EAAA,CAAAI,IAAA,CAAAZ,KAAA;QACfG,MAAM,EAAEA,MAAM,CAACU,KADA;QAEfT,KAAK,EAAEA,KAAK,CAACS;MAFE,CAAhB,CAFL;KADF;EAUD;;AArBiC,IAAAC,aAAA,GAApCnB,WAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0d92a61b7329e02c597133d9318c391bde56e2e6a742058e6311943b587ef9b4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0d92a61b7329e02c597133d9318c391bde56e2e6a742058e6311943b587ef9b4.json new file mode 100644 index 00000000..704f3fb4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0d92a61b7329e02c597133d9318c391bde56e2e6a742058e6311943b587ef9b4.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\nfunction isNull(value) {\n return value === null;\n}\nexport default isNull;","map":{"version":3,"names":["isNull","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/isNull.js"],"sourcesContent":["/**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\nfunction isNull(value) {\n return value === null;\n}\n\nexport default isNull;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAMA,CAACC,KAAK,EAAE;EACrB,OAAOA,KAAK,KAAK,IAAI;AACvB;AAEA,eAAeD,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0da0802a9c477e9fced8e27ec60a2dadb1ff7bc632b2b425a110a2896dab0917.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0da0802a9c477e9fced8e27ec60a2dadb1ff7bc632b2b425a110a2896dab0917.json new file mode 100644 index 00000000..caf0b5d5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0da0802a9c477e9fced8e27ec60a2dadb1ff7bc632b2b425a110a2896dab0917.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n* vue v3.5.16\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { initCustomFormatter, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compile = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Runtime compilation is not supported in this build of Vue.` + ` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".`);\n }\n};\nexport { compile };","map":{"version":3,"names":["initCustomFormatter","warn","initDev","process","env","NODE_ENV","compile"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/vue/dist/vue.runtime.esm-bundler.js"],"sourcesContent":["/**\n* vue v3.5.16\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { initCustomFormatter, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\n\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\n\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compile = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n }\n};\n\nexport { compile };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,SAASA,mBAAmB,EAAEC,IAAI,QAAQ,kBAAkB;AAC5D,cAAc,kBAAkB;AAEhC,SAASC,OAAOA,CAAA,EAAG;EACjB;IACEF,mBAAmB,CAAC,CAAC;EACvB;AACF;AAEA,IAAI,CAAC,EAAEG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,CAAC,EAAE;EAC7CH,OAAO,CAAC,CAAC;AACX;AACA,MAAMI,OAAO,GAAGA,CAAA,KAAM;EACpB,IAAI,CAAC,EAAEH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,CAAC,EAAE;IAC7CJ,IAAI,CACF,4DAA4D,GAAI,0EAClE,CAAC;EACH;AACF,CAAC;AAED,SAASK,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0df2af53d2a4e2299c3c277fb57cfa36ab1e8de087c1d392f1a5006124d90a8f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0df2af53d2a4e2299c3c277fb57cfa36ab1e8de087c1d392f1a5006124d90a8f.json new file mode 100644 index 00000000..a0252c62 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0df2af53d2a4e2299c3c277fb57cfa36ab1e8de087c1d392f1a5006124d90a8f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isIndex from './_isIndex.js';\n\n/**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\nfunction baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n}\nexport default baseNth;","map":{"version":3,"names":["isIndex","baseNth","array","n","length","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseNth.js"],"sourcesContent":["import isIndex from './_isIndex.js';\n\n/**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\nfunction baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n}\n\nexport default baseNth;\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,eAAe;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,KAAK,EAAEC,CAAC,EAAE;EACzB,IAAIC,MAAM,GAAGF,KAAK,CAACE,MAAM;EACzB,IAAI,CAACA,MAAM,EAAE;IACX;EACF;EACAD,CAAC,IAAIA,CAAC,GAAG,CAAC,GAAGC,MAAM,GAAG,CAAC;EACvB,OAAOJ,OAAO,CAACG,CAAC,EAAEC,MAAM,CAAC,GAAGF,KAAK,CAACC,CAAC,CAAC,GAAGE,SAAS;AAClD;AAEA,eAAeJ,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e176db30d18bb2de975e7fa92af8a9038adf03e0b7e814c753f22d2ad9110b9.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e176db30d18bb2de975e7fa92af8a9038adf03e0b7e814c753f22d2ad9110b9.json new file mode 100644 index 00000000..b6a09f10 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e176db30d18bb2de975e7fa92af8a9038adf03e0b7e814c753f22d2ad9110b9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e3a28bb7f750fb9dfc44192707165a1c647a9dcd49b56180cd5d3280a74eed5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e3a28bb7f750fb9dfc44192707165a1c647a9dcd49b56180cd5d3280a74eed5.json new file mode 100644 index 00000000..3d4312d5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e3a28bb7f750fb9dfc44192707165a1c647a9dcd49b56180cd5d3280a74eed5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { CHANGE_EVENT } from '../../../constants/event.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { isNumber, isBoolean } from '../../../utils/types.mjs';\nconst affixProps = buildProps({\n zIndex: {\n type: definePropType([Number, String]),\n default: 100\n },\n target: {\n type: String,\n default: \"\"\n },\n offset: {\n type: Number,\n default: 0\n },\n position: {\n type: String,\n values: [\"top\", \"bottom\"],\n default: \"top\"\n }\n});\nconst affixEmits = {\n scroll: ({\n scrollTop,\n fixed\n }) => isNumber(scrollTop) && isBoolean(fixed),\n [CHANGE_EVENT]: fixed => isBoolean(fixed)\n};\nexport { affixEmits, affixProps };","map":{"version":3,"names":["affixProps","buildProps","zIndex","type","definePropType","Number","String","default","target","offset","position","values","affixEmits","scroll","scrollTop","fixed","isNumber","isBoolean","CHANGE_EVENT"],"sources":["../../../../../../packages/components/affix/src/affix.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isBoolean,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ZIndexProperty } from 'csstype'\nimport type Affix from './affix.vue'\n\nexport const affixProps = buildProps({\n /**\n * @description affix element zIndex value\n * */\n zIndex: {\n type: definePropType([Number, String]),\n default: 100,\n },\n /**\n * @description target container. (CSS selector)\n */\n target: {\n type: String,\n default: '',\n },\n /**\n * @description offset distance\n * */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description position of affix\n * */\n position: {\n type: String,\n values: ['top', 'bottom'],\n default: 'top',\n },\n} as const)\nexport type AffixProps = ExtractPropTypes\n\nexport const affixEmits = {\n scroll: ({ scrollTop, fixed }: { scrollTop: number; fixed: boolean }) =>\n isNumber(scrollTop) && isBoolean(fixed),\n [CHANGE_EVENT]: (fixed: boolean) => isBoolean(fixed),\n}\nexport type AffixEmits = typeof affixEmits\n\nexport type AffixInstance = InstanceType & unknown\n"],"mappings":";;;AAOY,MAACA,UAAU,GAAGC,UAAU,CAAC;EACnCC,MAAM,EAAE;IACNC,IAAI,EAAEC,cAAc,CAAC,CAACC,MAAM,EAAEC,MAAM,CAAC,CAAC;IACtCC,OAAO,EAAE;EACb,CAAG;EACDC,MAAM,EAAE;IACNL,IAAI,EAAEG,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDE,MAAM,EAAE;IACNN,IAAI,EAAEE,MAAM;IACZE,OAAO,EAAE;EACb,CAAG;EACDG,QAAQ,EAAE;IACRP,IAAI,EAAEG,MAAM;IACZK,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzBJ,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACK,UAAU,GAAG;EACxBC,MAAM,EAAEA,CAAC;IAAEC,SAAS;IAAEC;EAAK,CAAE,KAAKC,QAAQ,CAACF,SAAS,CAAC,IAAIG,SAAS,CAACF,KAAK,CAAC;EACzE,CAACG,YAAY,GAAIH,KAAK,IAAKE,SAAS,CAACF,KAAK;AAC5C","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e949eb38c134e00e8e4e67743feb12b6af7a02f1816222838e2299a5df1e3a3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e949eb38c134e00e8e4e67743feb12b6af7a02f1816222838e2299a5df1e3a3.json new file mode 100644 index 00000000..94019532 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e949eb38c134e00e8e4e67743feb12b6af7a02f1816222838e2299a5df1e3a3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\nexport default Uint8Array;","map":{"version":3,"names":["root","Uint8Array"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_Uint8Array.js"],"sourcesContent":["import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,YAAY;;AAE7B;AACA,IAAIC,UAAU,GAAGD,IAAI,CAACC,UAAU;AAEhC,eAAeA,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ee35182ba00c01e3c1991950db10491659b313f9d6e46ae49197106c66614d4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ee35182ba00c01e3c1991950db10491659b313f9d6e46ae49197106c66614d4.json new file mode 100644 index 00000000..90969a0c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ee35182ba00c01e3c1991950db10491659b313f9d6e46ae49197106c66614d4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, ref, inject, toRef, computed, useSlots, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, Fragment, renderList, toDisplayString, createCommentVNode, createVNode, withCtx } from 'vue';\nimport dayjs from 'dayjs';\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue';\nimport { ElIcon } from '../../../icon/index.mjs';\nimport { panelYearRangeProps, panelYearRangeEmits } from '../props/panel-year-range.mjs';\nimport { useYearRangeHeader } from '../composables/use-year-range-header.mjs';\nimport { useRangePicker } from '../composables/use-range-picker.mjs';\nimport { correctlyParseUserInput, isValidRange, getDefaultValue } from '../utils.mjs';\nimport { ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY } from '../constants.mjs';\nimport YearTable from './basic-year-table.mjs';\nimport _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useLocale } from '../../../../hooks/use-locale/index.mjs';\nimport { PICKER_BASE_INJECTION_KEY } from '../../../time-picker/src/constants.mjs';\nimport { isArray } from '@vue/shared';\nconst step = 10;\nconst unit = \"year\";\nconst __default__ = defineComponent({\n name: \"DatePickerYearRange\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: panelYearRangeProps,\n emits: panelYearRangeEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const {\n lang\n } = useLocale();\n const leftDate = ref(dayjs().locale(lang.value));\n const rightDate = ref(dayjs().locale(lang.value).add(step, unit));\n const isDefaultFormat = inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY);\n const pickerBase = inject(PICKER_BASE_INJECTION_KEY);\n const {\n shortcuts,\n disabledDate\n } = pickerBase.props;\n const format = toRef(pickerBase.props, \"format\");\n const defaultValue = toRef(pickerBase.props, \"defaultValue\");\n const {\n minDate,\n maxDate,\n rangeState,\n ppNs,\n drpNs,\n handleChangeRange,\n handleRangeConfirm,\n handleShortcutClick,\n onSelect,\n onReset\n } = useRangePicker(props, {\n defaultValue,\n leftDate,\n rightDate,\n step,\n unit,\n onParsedValueChanged\n });\n const {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear\n } = useYearRangeHeader({\n unlinkPanels: toRef(props, \"unlinkPanels\"),\n leftDate,\n rightDate\n });\n const hasShortcuts = computed(() => !!shortcuts.length);\n const panelKls = computed(() => [ppNs.b(), drpNs.b(), {\n \"has-sidebar\": Boolean(useSlots().sidebar) || hasShortcuts.value\n }]);\n const leftPanelKls = computed(() => {\n return {\n content: [ppNs.e(\"content\"), drpNs.e(\"content\"), \"is-left\"],\n arrowLeftBtn: [ppNs.e(\"icon-btn\"), \"d-arrow-left\"],\n arrowRightBtn: [ppNs.e(\"icon-btn\"), {\n [ppNs.is(\"disabled\")]: !enableYearArrow.value\n }, \"d-arrow-right\"]\n };\n });\n const rightPanelKls = computed(() => {\n return {\n content: [ppNs.e(\"content\"), drpNs.e(\"content\"), \"is-right\"],\n arrowLeftBtn: [ppNs.e(\"icon-btn\"), {\n \"is-disabled\": !enableYearArrow.value\n }, \"d-arrow-left\"],\n arrowRightBtn: [ppNs.e(\"icon-btn\"), \"d-arrow-right\"]\n };\n });\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1;\n });\n const handleRangePick = (val, close = true) => {\n const minDate_ = val.minDate;\n const maxDate_ = val.maxDate;\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return;\n }\n emit(\"calendar-change\", [minDate_.toDate(), maxDate_ && maxDate_.toDate()]);\n maxDate.value = maxDate_;\n minDate.value = minDate_;\n if (!close) return;\n handleRangeConfirm();\n };\n const parseUserInput = value => {\n return correctlyParseUserInput(value, format.value, lang.value, isDefaultFormat);\n };\n const formatToString = value => {\n return isArray(value) ? value.map(day => day.format(format.value)) : value.format(format.value);\n };\n const isValidValue = date => {\n return isValidRange(date) && (disabledDate ? !disabledDate(date[0].toDate()) && !disabledDate(date[1].toDate()) : true);\n };\n const handleClear = () => {\n const defaultArr = getDefaultValue(unref(defaultValue), {\n lang: unref(lang),\n step,\n unit,\n unlinkPanels: props.unlinkPanels\n });\n leftDate.value = defaultArr[0];\n rightDate.value = defaultArr[1];\n emit(\"pick\", null);\n };\n function onParsedValueChanged(minDate2, maxDate2) {\n if (props.unlinkPanels && maxDate2) {\n const minDateYear = (minDate2 == null ? void 0 : minDate2.year()) || 0;\n const maxDateYear = maxDate2.year();\n rightDate.value = minDateYear + step > maxDateYear ? maxDate2.add(step, unit) : maxDate2;\n } else {\n rightDate.value = leftDate.value.add(step, unit);\n }\n }\n watch(() => props.visible, visible => {\n if (!visible && rangeState.value.selecting) {\n onReset(props.parsedValue);\n onSelect(false);\n }\n });\n emit(\"set-picker-option\", [\"isValidValue\", isValidValue]);\n emit(\"set-picker-option\", [\"parseUserInput\", parseUserInput]);\n emit(\"set-picker-option\", [\"formatToString\", formatToString]);\n emit(\"set-picker-option\", [\"handleClear\", handleClear]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass(unref(panelKls))\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(ppNs).e(\"body-wrapper\"))\n }, [renderSlot(_ctx.$slots, \"sidebar\", {\n class: normalizeClass(unref(ppNs).e(\"sidebar\"))\n }), unref(hasShortcuts) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ppNs).e(\"sidebar\"))\n }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(shortcuts), (shortcut, key) => {\n return openBlock(), createElementBlock(\"button\", {\n key,\n type: \"button\",\n class: normalizeClass(unref(ppNs).e(\"shortcut\")),\n onClick: $event => unref(handleShortcutClick)(shortcut)\n }, toDisplayString(shortcut.text), 11, [\"onClick\"]);\n }), 128))], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n class: normalizeClass(unref(ppNs).e(\"body\"))\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(leftPanelKls).content)\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(drpNs).e(\"header\"))\n }, [createElementVNode(\"button\", {\n type: \"button\",\n class: normalizeClass(unref(leftPanelKls).arrowLeftBtn),\n onClick: unref(leftPrevYear)\n }, [renderSlot(_ctx.$slots, \"prev-year\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(DArrowLeft))]),\n _: 1\n })])], 10, [\"onClick\"]), _ctx.unlinkPanels ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n disabled: !unref(enableYearArrow),\n class: normalizeClass(unref(leftPanelKls).arrowRightBtn),\n onClick: unref(leftNextYear)\n }, [renderSlot(_ctx.$slots, \"next-year\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(DArrowRight))]),\n _: 1\n })])], 10, [\"disabled\", \"onClick\"])) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", null, toDisplayString(unref(leftLabel)), 1)], 2), createVNode(YearTable, {\n \"selection-mode\": \"range\",\n date: leftDate.value,\n \"min-date\": unref(minDate),\n \"max-date\": unref(maxDate),\n \"range-state\": unref(rangeState),\n \"disabled-date\": unref(disabledDate),\n onChangerange: unref(handleChangeRange),\n onPick: handleRangePick,\n onSelect: unref(onSelect)\n }, null, 8, [\"date\", \"min-date\", \"max-date\", \"range-state\", \"disabled-date\", \"onChangerange\", \"onSelect\"])], 2), createElementVNode(\"div\", {\n class: normalizeClass(unref(rightPanelKls).content)\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(drpNs).e(\"header\"))\n }, [_ctx.unlinkPanels ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n disabled: !unref(enableYearArrow),\n class: normalizeClass(unref(rightPanelKls).arrowLeftBtn),\n onClick: unref(rightPrevYear)\n }, [renderSlot(_ctx.$slots, \"prev-year\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(DArrowLeft))]),\n _: 1\n })])], 10, [\"disabled\", \"onClick\"])) : createCommentVNode(\"v-if\", true), createElementVNode(\"button\", {\n type: \"button\",\n class: normalizeClass(unref(rightPanelKls).arrowRightBtn),\n onClick: unref(rightNextYear)\n }, [renderSlot(_ctx.$slots, \"next-year\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(DArrowRight))]),\n _: 1\n })])], 10, [\"onClick\"]), createElementVNode(\"div\", null, toDisplayString(unref(rightLabel)), 1)], 2), createVNode(YearTable, {\n \"selection-mode\": \"range\",\n date: rightDate.value,\n \"min-date\": unref(minDate),\n \"max-date\": unref(maxDate),\n \"range-state\": unref(rangeState),\n \"disabled-date\": unref(disabledDate),\n onChangerange: unref(handleChangeRange),\n onPick: handleRangePick,\n onSelect: unref(onSelect)\n }, null, 8, [\"date\", \"min-date\", \"max-date\", \"range-state\", \"disabled-date\", \"onChangerange\", \"onSelect\"])], 2)], 2)], 2)], 2);\n };\n }\n});\nvar YearRangePickPanel = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"panel-year-range.vue\"]]);\nexport { YearRangePickPanel as default };","map":{"version":3,"names":["name","lang","useLocale","leftDate","ref","dayjs","locale","value","rightDate","add","step","unit","isDefaultFormat","inject","ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY","pickerBase","PICKER_BASE_INJECTION_KEY","shortcuts","disabledDate","props","format","toRef","defaultValue","minDate","maxDate","rangeState","ppNs","drpNs","handleChangeRange","handleRangeConfirm","handleShortcutClick","onSelect","onReset","useRangePicker","onParsedValueChanged","leftPrevYear","rightNextYear","leftNextYear","rightPrevYear","leftLabel","rightLabel","leftYear","rightYear","useYearRangeHeader","unlinkPanels","hasShortcuts","computed","length","panelKls","b","Boolean","useSlots","sidebar","leftPanelKls","content","e","arrowLeftBtn","arrowRightBtn","is","enableYearArrow","rightPanelKls","handleRangePick","val","close","minDate_","maxDate_","emit","toDate","parseUserInput","correctlyParseUserInput","formatToString","isArray","map","day","isValidValue","date","isValidRange","handleClear","defaultArr","getDefaultValue","unref","minDate2","maxDate2","minDateYear","year","maxDateYear","watch","visible","selecting","parsedValue","_ctx","_cache","openBlock","createElementBlock","class","normalizeClass","createElementVNode","renderSlot","$slots"],"sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-year-range.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ef210dfcc661ab2478e14a5fa13b7904eb3ec4559a939da6eb0656e639f7c4f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ef210dfcc661ab2478e14a5fa13b7904eb3ec4559a939da6eb0656e639f7c4f.json new file mode 100644 index 00000000..5f0370c0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ef210dfcc661ab2478e14a5fa13b7904eb3ec4559a939da6eb0656e639f7c4f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { noop, resolveUnref, isClient, isString, tryOnScopeDispose, isIOS, tryOnMounted, computedWithControl, promiseTimeout, isFunction, resolveRef, increaseWithUnit, useTimeoutFn, pausableWatch, createEventHook, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, createSingletonPromise, toRefs, containsProp, until, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, isObject, isNumber, useIntervalFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, identity, isDef } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, unref, watch, getCurrentInstance, customRef, onUpdated, reactive, nextTick, onMounted, markRaw, readonly, getCurrentScope, isVue2, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = false,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async onInvalidate => {\n if (!started.value) return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback(cancelCallback => {\n onInvalidate(() => {\n if (evaluating) evaluating.value = false;\n if (!hasFinished) cancelCallback();\n });\n });\n if (counterAtBeginning === counter) current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter) evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource) source = inject(key, defaultSource);\n if (treatDefaultAsFactory) source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed(ctx => options(source, ctx));\n } else {\n return computed({\n get: ctx => options.get(source, ctx),\n set: options.set\n });\n }\n}\nconst createUnrefFn = fn => {\n return function (...args) {\n return fn.apply(this, args.map(i => unref(i)));\n };\n};\nfunction unrefElement(elRef) {\n var _a;\n const plain = resolveUnref(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (isString(args[0]) || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target) return noop;\n if (!Array.isArray(events)) events = [events];\n if (!Array.isArray(listeners)) listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach(fn => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(() => [unrefElement(target), resolveUnref(options)], ([el, options2]) => {\n cleanup();\n if (!el) return;\n cleanups.push(...events.flatMap(event => {\n return listeners.map(listener => register(el, event, listener, options2));\n }));\n }, {\n immediate: true,\n flush: \"post\"\n });\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const {\n window = defaultWindow,\n ignore = [],\n capture = true,\n detectIframe = false\n } = options;\n if (!window) return;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach(el => el.addEventListener(\"click\", noop));\n }\n let shouldListen = true;\n const shouldIgnore = event => {\n return ignore.some(target2 => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some(el => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = event => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el)) return;\n if (event.detail === 0) shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [useEventListener(window, \"click\", listener, {\n passive: true,\n capture\n }), useEventListener(window, \"pointerdown\", e => {\n const el = unrefElement(target);\n if (el) shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n }, {\n passive: true\n }), detectIframe && useEventListener(window, \"blur\", event => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) handler(event);\n })].filter(Boolean);\n const stop = () => cleanup.forEach(fn => fn());\n return stop;\n}\nvar __defProp$n = Object.defineProperty;\nvar __defProps$9 = Object.defineProperties;\nvar __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$p = Object.getOwnPropertySymbols;\nvar __hasOwnProp$p = Object.prototype.hasOwnProperty;\nvar __propIsEnum$p = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$n = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$p.call(b, prop)) __defNormalProp$n(a, prop, b[prop]);\n if (__getOwnPropSymbols$p) for (var prop of __getOwnPropSymbols$p(b)) {\n if (__propIsEnum$p.call(b, prop)) __defNormalProp$n(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));\nconst createKeyPredicate = keyFilter => {\n if (typeof keyFilter === \"function\") return keyFilter;else if (typeof keyFilter === \"string\") return event => event.key === keyFilter;else if (Array.isArray(keyFilter)) return event => keyFilter.includes(event.key);\n return () => true;\n};\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = e => {\n if (predicate(e)) handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), {\n eventName: \"keydown\"\n }));\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), {\n eventName: \"keypress\"\n }));\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), {\n eventName: \"keyup\"\n }));\n}\nconst DEFAULT_DELAY = 500;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) ev.stopPropagation();\n timeout = setTimeout(() => handler(ev), (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY);\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions);\n useEventListener(elementRef, \"pointerup\", clear, listenerOptions);\n useEventListener(elementRef, \"pointerleave\", clear, listenerOptions);\n}\nconst isFocusedElementEditable = () => {\n const {\n activeElement,\n body\n } = document;\n if (!activeElement) return false;\n if (activeElement === body) return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n};\nconst isTypedCharValid = ({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) => {\n if (metaKey || ctrlKey || altKey) return false;\n if (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) return true;\n if (keyCode >= 65 && keyCode <= 90) return true;\n return false;\n};\nfunction onStartTyping(callback, options = {}) {\n const {\n document: document2 = defaultDocument\n } = options;\n const keydown = event => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2) useEventListener(document2, \"keydown\", keydown, {\n passive: true\n });\n}\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {};\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {}\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const activeElement = computedWithControl(() => null, () => document == null ? void 0 : document.activeElement);\n if (window) {\n useEventListener(window, \"blur\", event => {\n if (event.relatedTarget !== null) return;\n activeElement.trigger();\n }, true);\n useEventListener(window, \"focus\", activeElement.trigger, true);\n }\n return activeElement;\n}\nfunction useAsyncQueue(tasks, options = {}) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop\n } = options;\n const promiseState = {\n pending: \"pending\",\n rejected: \"rejected\",\n fulfilled: \"fulfilled\"\n };\n const initialResult = Array.from(new Array(tasks.length), () => ({\n state: promiseState.pending,\n data: null\n }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then(prevRes => {\n var _a;\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n return curr(prevRes).then(currentRes => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n }).catch(e => {\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = ref(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute) state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0) await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError) throw error;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate) execute(delay);\n return {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n}\nconst defaults = {\n array: v => JSON.stringify(v),\n object: v => JSON.stringify(v),\n set: v => JSON.stringify(Array.from(v)),\n map: v => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target) return defaults.null;\n if (target instanceof Map) return defaults.map;else if (target instanceof Set) return defaults.set;else if (Array.isArray(target)) return defaults.array;else return defaults.object;\n}\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient) return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = resolveUnref(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], {\n type: \"text/plain\"\n })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], {\n type: \"application/json\"\n })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then(res => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || isFunction(target)) watch(target, execute, {\n immediate: true\n });else execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = e => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\nfunction useSupported(callback, sync = false) {\n const isSupported = ref();\n const update = () => isSupported.value = Boolean(callback());\n update();\n tryOnMounted(update, sync);\n return isSupported;\n}\nfunction useBattery({\n navigator = defaultNavigator\n} = {}) {\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator);\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then(_battery => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n for (const event of events) useEventListener(battery, event, updateBatteryInfo, {\n passive: true\n });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value) return;\n error.value = null;\n if (filters && filters.length > 0) acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {});\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value) (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value) (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n device,\n requestDevice,\n server,\n error\n };\n}\nfunction useMediaQuery(query, options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const cleanup = () => {\n if (!mediaQuery) return;\n if (\"removeEventListener\" in mediaQuery) mediaQuery.removeEventListener(\"change\", update);else mediaQuery.removeListener(update);\n };\n const update = () => {\n if (!isSupported.value) return;\n cleanup();\n mediaQuery = window.matchMedia(resolveRef(query).value);\n matches.value = mediaQuery.matches;\n if (\"addEventListener\" in mediaQuery) mediaQuery.addEventListener(\"change\", update);else mediaQuery.addListener(update);\n };\n watchEffect(update);\n tryOnScopeDispose(() => cleanup());\n return matches;\n}\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetify = {\n xs: 600,\n sm: 960,\n md: 1264,\n lg: 1904\n};\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 600,\n sm: 1024,\n md: 1440,\n lg: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nvar __defProp$m = Object.defineProperty;\nvar __getOwnPropSymbols$o = Object.getOwnPropertySymbols;\nvar __hasOwnProp$o = Object.prototype.hasOwnProperty;\nvar __propIsEnum$o = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$m = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$o.call(b, prop)) __defNormalProp$m(a, prop, b[prop]);\n if (__getOwnPropSymbols$o) for (var prop of __getOwnPropSymbols$o(b)) {\n if (__propIsEnum$o.call(b, prop)) __defNormalProp$m(a, prop, b[prop]);\n }\n return a;\n};\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = breakpoints[k];\n if (delta != null) v = increaseWithUnit(v, delta);\n if (typeof v === \"number\") v = `${v}px`;\n return v;\n }\n const {\n window = defaultWindow\n } = options;\n function match(query) {\n if (!window) return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = k => {\n return useMediaQuery(`(min-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => greaterOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n return __spreadValues$m({\n greater(k) {\n return useMediaQuery(`(min-width: ${getValue(k, 0.1)})`, options);\n },\n greaterOrEqual,\n smaller(k) {\n return useMediaQuery(`(max-width: ${getValue(k, -0.1)})`, options);\n },\n smallerOrEqual(k) {\n return useMediaQuery(`(max-width: ${getValue(k)})`, options);\n },\n between(a, b) {\n return useMediaQuery(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n }\n }, shortcutMethods);\n}\nconst useBroadcastChannel = options => {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = ref(null);\n const post = data2 => {\n if (channel.value) channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value) channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", e => {\n data.value = e.data;\n }, {\n passive: true\n });\n channel.value.addEventListener(\"messageerror\", e => {\n error.value = e;\n }, {\n passive: true\n });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n};\nfunction useBrowserLocation({\n window = defaultWindow\n} = {}) {\n const buildState = trigger => {\n const {\n state: state2,\n length\n } = (window == null ? void 0 : window.history) || {};\n const {\n hash,\n host,\n hostname,\n href,\n origin,\n pathname,\n port,\n protocol,\n search\n } = (window == null ? void 0 : window.location) || {};\n return {\n trigger,\n state: state2,\n length,\n hash,\n host,\n hostname,\n href,\n origin,\n pathname,\n port,\n protocol,\n search\n };\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), {\n passive: true\n });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), {\n passive: true\n });\n }\n return state;\n}\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, value => {\n if (!comparator(value, cachedValue.value)) cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const events = [\"copy\", \"cut\"];\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value) {\n navigator.clipboard.readText().then(value => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read) {\n for (const event of events) useEventListener(event, updateText);\n }\n async function copy(value = resolveUnref(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value) await navigator.clipboard.writeText(value);else legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\nvar __defProp$l = Object.defineProperty;\nvar __defProps$8 = Object.defineProperties;\nvar __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$n = Object.getOwnPropertySymbols;\nvar __hasOwnProp$n = Object.prototype.hasOwnProperty;\nvar __propIsEnum$n = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$l = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$n.call(b, prop)) __defNormalProp$l(a, prop, b[prop]);\n if (__getOwnPropSymbols$n) for (var prop of __getOwnPropSymbols$n(b)) {\n if (__propIsEnum$n.call(b, prop)) __defNormalProp$l(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(unref(source));\n }\n if (!manual && isRef(source)) {\n watch(source, sync, __spreadProps$8(__spreadValues$l({}, options), {\n deep,\n immediate\n }));\n } else {\n sync();\n }\n return {\n cloned,\n sync\n };\n}\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\n_global[globalKey] = _global[globalKey] || {};\nconst handlers = _global[globalKey];\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\nvar __defProp$k = Object.defineProperty;\nvar __getOwnPropSymbols$m = Object.getOwnPropertySymbols;\nvar __hasOwnProp$m = Object.prototype.hasOwnProperty;\nvar __propIsEnum$m = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$k = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$m.call(b, prop)) __defNormalProp$k(a, prop, b[prop]);\n if (__getOwnPropSymbols$m) for (var prop of __getOwnPropSymbols$m(b)) {\n if (__propIsEnum$m.call(b, prop)) __defNormalProp$k(a, prop, b[prop]);\n }\n return a;\n};\nconst StorageSerializers = {\n boolean: {\n read: v => v === \"true\",\n write: v => String(v)\n },\n object: {\n read: v => JSON.parse(v),\n write: v => JSON.stringify(v)\n },\n number: {\n read: v => Number.parseFloat(v),\n write: v => String(v)\n },\n any: {\n read: v => v,\n write: v => String(v)\n },\n string: {\n read: v => v,\n write: v => String(v)\n },\n map: {\n read: v => new Map(JSON.parse(v)),\n write: v => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: v => new Set(JSON.parse(v)),\n write: v => JSON.stringify(Array.from(v))\n },\n date: {\n read: v => new Date(v),\n write: v => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = e => {\n console.error(e);\n }\n } = options;\n const data = (shallow ? shallowRef : ref)(defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage) return data;\n const rawInit = resolveUnref(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const {\n pause: pauseWatch,\n resume: resumeWatch\n } = pausableWatch(data, () => write(data.value), {\n flush,\n deep,\n eventFilter\n });\n if (window && listenToStorageChanges) {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n }\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit !== null) storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (isFunction(mergeDefaults)) return mergeDefaults(value, rawInit);else if (type === \"object\" && !Array.isArray(value)) return __spreadValues$k(__spreadValues$k({}, rawInit), value);\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage) return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key) return;\n pauseWatch();\n try {\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event) nextTick(resumeWatch);else resumeWatch();\n }\n }\n}\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\nvar __defProp$j = Object.defineProperty;\nvar __getOwnPropSymbols$l = Object.getOwnPropertySymbols;\nvar __hasOwnProp$l = Object.prototype.hasOwnProperty;\nvar __propIsEnum$l = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$j = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$l.call(b, prop)) __defNormalProp$j(a, prop, b[prop]);\n if (__getOwnPropSymbols$l) for (var prop of __getOwnPropSymbols$l(b)) {\n if (__propIsEnum$l.call(b, prop)) __defNormalProp$j(a, prop, b[prop]);\n }\n return a;\n};\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto\n } = options;\n const modes = __spreadValues$j({\n auto: \"\",\n light: \"light\",\n dark: \"dark\"\n }, options.modes || {});\n const preferredDark = usePreferredDark({\n window\n });\n const preferredMode = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? ref(initialValue) : useStorage(storageKey, initialValue, storage, {\n window,\n listenToStorageChanges\n }));\n const state = computed({\n get() {\n return store.value === \"auto\" && !emitAuto ? preferredMode.value : store.value;\n },\n set(v) {\n store.value = v;\n }\n });\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector2, attribute2, value) => {\n const el = window == null ? void 0 : window.document.querySelector(selector2);\n if (!el) return;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap(i => (i || \"\").split(/\\s/g)).filter(Boolean).forEach(v => {\n if (current.includes(v)) el.classList.add(v);else el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n });\n function defaultOnChanged(mode) {\n var _a;\n const resolvedMode = mode === \"auto\" ? preferredMode.value : mode;\n updateHTMLAttrs(selector, attribute, (_a = modes[resolvedMode]) != null ? _a : resolvedMode);\n }\n function onChanged(mode) {\n if (options.onChanged) options.onChanged(mode, defaultOnChanged);else defaultOnChanged(mode);\n }\n watch(state, onChanged, {\n flush: \"post\",\n immediate: true\n });\n if (emitAuto) watch(preferredMode, () => onChanged(state.value), {\n flush: \"post\"\n });\n tryOnMounted(() => onChanged(state.value));\n return state;\n}\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = data => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise(resolve => {\n _resolve = resolve;\n });\n };\n const confirm = data => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({\n data,\n isCanceled: false\n });\n };\n const cancel = data => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({\n data,\n isCanceled: true\n });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\nfunction useCssVar(prop, target, {\n window = defaultWindow,\n initialValue = \"\"\n} = {}) {\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n watch([elRef, () => resolveUnref(prop)], ([el, prop2]) => {\n var _a;\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(prop2)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }, {\n immediate: true\n });\n watch(variable, val => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style) elRef.value.style.setProperty(resolveUnref(prop), val);\n });\n return variable;\n}\nfunction useCurrentElement() {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(() => null, () => vm.proxy.$el);\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\nfunction useCycleList(list, options) {\n var _a;\n const state = shallowRef((_a = options == null ? void 0 : options.initialValue) != null ? _a : list[0]);\n const index = computed({\n get() {\n var _a2;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, list) : list.indexOf(state.value);\n if (index2 < 0) index2 = (_a2 = options == null ? void 0 : options.fallbackIndex) != null ? _a2 : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const length = list.length;\n const index2 = (i % length + length) % length;\n const value = list[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n return {\n state,\n index,\n next,\n prev\n };\n}\nvar __defProp$i = Object.defineProperty;\nvar __defProps$7 = Object.defineProperties;\nvar __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$k = Object.getOwnPropertySymbols;\nvar __hasOwnProp$k = Object.prototype.hasOwnProperty;\nvar __propIsEnum$k = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$i = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$k.call(b, prop)) __defNormalProp$i(a, prop, b[prop]);\n if (__getOwnPropSymbols$k) for (var prop of __getOwnPropSymbols$k(b)) {\n if (__propIsEnum$k.call(b, prop)) __defNormalProp$i(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode(__spreadProps$7(__spreadValues$i({}, options), {\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged) (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\");else defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n }));\n const preferredDark = usePreferredDark({\n window\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n if (v === preferredDark.value) mode.value = \"auto\";else mode.value = v ? \"dark\" : \"light\";\n }\n });\n return isDark;\n}\nconst fnBypass = v => v;\nconst fnSetSource = (source, value) => source.value = value;\nfunction defaultDump(clone) {\n return clone ? isFunction(clone) ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? isFunction(clone) ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = record => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity) undoStack.value.splice(options.capacity, Infinity);\n if (redoStack.value.length) redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\nvar __defProp$h = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$j = Object.getOwnPropertySymbols;\nvar __hasOwnProp$j = Object.prototype.hasOwnProperty;\nvar __propIsEnum$j = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$h = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$j.call(b, prop)) __defNormalProp$h(a, prop, b[prop]);\n if (__getOwnPropSymbols$j) for (var prop of __getOwnPropSymbols$j(b)) {\n if (__propIsEnum$j.call(b, prop)) __defNormalProp$h(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(source, commit, {\n deep,\n flush,\n eventFilter: composedFilter\n });\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, __spreadProps$6(__spreadValues$h({}, options), {\n clone: options.clone || deep,\n setSource\n }));\n const {\n clear,\n commit: manualCommit\n } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow) commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled) commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return __spreadProps$6(__spreadValues$h({}, manualHistory), {\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n });\n}\nvar __defProp$g = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$i = Object.getOwnPropertySymbols;\nvar __hasOwnProp$i = Object.prototype.hasOwnProperty;\nvar __propIsEnum$i = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$g = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$i.call(b, prop)) __defNormalProp$g(a, prop, b[prop]);\n if (__getOwnPropSymbols$i) for (var prop of __getOwnPropSymbols$i(b)) {\n if (__propIsEnum$i.call(b, prop)) __defNormalProp$g(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, __spreadProps$5(__spreadValues$g({}, options), {\n eventFilter: filter\n }));\n return __spreadValues$g({}, history);\n}\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({\n x: null,\n y: null,\n z: null\n });\n const rotationRate = ref({\n alpha: null,\n beta: null,\n gamma: null\n });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(eventFilter, event => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n });\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\nfunction useDeviceOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", event => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\nfunction useDevicePixelRatio({\n window = defaultWindow\n} = {}) {\n const pixelRatio = ref(1);\n if (window) {\n let observe = function () {\n pixelRatio.value = window.devicePixelRatio;\n cleanup();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe, {\n once: true\n });\n },\n cleanup = function () {\n media == null ? void 0 : media.removeEventListener(\"change\", observe);\n };\n let media;\n observe();\n tryOnScopeDispose(cleanup);\n }\n return {\n pixelRatio\n };\n}\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? {\n name: permissionDesc\n } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus) state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value) return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = {\n audio: true,\n video: true\n },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter(i => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter(i => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter(i => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n async function update() {\n if (!isSupported.value) return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n }\n async function ensurePermissions() {\n if (!isSupported.value) return false;\n if (permissionGranted.value) return true;\n const {\n state,\n query\n } = usePermission(\"camera\", {\n controls: true\n });\n await query();\n if (state.value !== \"granted\") {\n const stream = await navigator.mediaDevices.getUserMedia(constraints);\n stream.getTracks().forEach(t => t.stop());\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions) ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = {\n audio,\n video\n };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value) return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach(t => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value) enabled.value = true;\n return stream.value;\n }\n watch(enabled, v => {\n if (v) _start();else _stop();\n }, {\n immediate: true\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\nfunction useDocumentVisibility({\n document = defaultDocument\n} = {}) {\n if (!document) return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\nvar __defProp$f = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$h = Object.getOwnPropertySymbols;\nvar __hasOwnProp$h = Object.prototype.hasOwnProperty;\nvar __propIsEnum$h = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$f = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$h.call(b, prop)) __defNormalProp$f(a, prop, b[prop]);\n if (__getOwnPropSymbols$h) for (var prop of __getOwnPropSymbols$h(b)) {\n if (__propIsEnum$h.call(b, prop)) __defNormalProp$f(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nfunction useDraggable(target, options = {}) {\n var _a, _b, _c;\n const draggingElement = (_a = options.draggingElement) != null ? _a : defaultWindow;\n const draggingHandle = (_b = options.handle) != null ? _b : target;\n const position = ref((_c = resolveUnref(options.initialValue)) != null ? _c : {\n x: 0,\n y: 0\n });\n const pressedDelta = ref();\n const filterEvent = e => {\n if (options.pointerTypes) return options.pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = e => {\n if (resolveUnref(options.preventDefault)) e.preventDefault();\n if (resolveUnref(options.stopPropagation)) e.stopPropagation();\n };\n const start = e => {\n var _a2;\n if (!filterEvent(e)) return;\n if (resolveUnref(options.exact) && e.target !== resolveUnref(target)) return;\n const rect = resolveUnref(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - rect.left,\n y: e.clientY - rect.top\n };\n if (((_a2 = options.onStart) == null ? void 0 : _a2.call(options, pos, e)) === false) return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = e => {\n var _a2;\n if (!filterEvent(e)) return;\n if (!pressedDelta.value) return;\n position.value = {\n x: e.clientX - pressedDelta.value.x,\n y: e.clientY - pressedDelta.value.y\n };\n (_a2 = options.onMove) == null ? void 0 : _a2.call(options, position.value, e);\n handleEvent(e);\n };\n const end = e => {\n var _a2;\n if (!filterEvent(e)) return;\n if (!pressedDelta.value) return;\n pressedDelta.value = void 0;\n (_a2 = options.onEnd) == null ? void 0 : _a2.call(options, position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n useEventListener(draggingHandle, \"pointerdown\", start, true);\n useEventListener(draggingElement, \"pointermove\", move, true);\n useEventListener(draggingElement, \"pointerup\", end, true);\n }\n return __spreadProps$4(__spreadValues$f({}, toRefs(position)), {\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(() => `left:${position.value.x}px;top:${position.value.y}px;`)\n });\n}\nfunction useDropZone(target, onDrop) {\n const isOverDropZone = ref(false);\n let counter = 0;\n if (isClient) {\n useEventListener(target, \"dragenter\", event => {\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n });\n useEventListener(target, \"dragover\", event => {\n event.preventDefault();\n });\n useEventListener(target, \"dragleave\", event => {\n event.preventDefault();\n counter -= 1;\n if (counter === 0) isOverDropZone.value = false;\n });\n useEventListener(target, \"drop\", event => {\n var _a, _b;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n const files = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n onDrop == null ? void 0 : onDrop(files.length === 0 ? null : files);\n });\n }\n return {\n isOverDropZone\n };\n}\nvar __getOwnPropSymbols$g = Object.getOwnPropertySymbols;\nvar __hasOwnProp$g = Object.prototype.hasOwnProperty;\nvar __propIsEnum$g = Object.prototype.propertyIsEnumerable;\nvar __objRest$2 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$g) for (var prop of __getOwnPropSymbols$g(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$g.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction useResizeObserver(target, callback, options = {}) {\n const _a = options,\n {\n window = defaultWindow\n } = _a,\n observerOptions = __objRest$2(_a, [\"window\"]);\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(() => unrefElement(target), el => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new ResizeObserver(callback);\n observer.observe(el, observerOptions);\n }\n }, {\n immediate: true,\n flush: \"post\"\n });\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), ele => !ele && update());\n if (windowScroll) useEventListener(\"scroll\", update, {\n capture: true,\n passive: true\n });\n if (windowResize) useEventListener(\"resize\", update, {\n passive: true\n });\n tryOnMounted(() => {\n if (immediate) update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window) return;\n const delta = timestamp - previousFrameTimestamp;\n fn({\n delta,\n timestamp\n });\n previousFrameTimestamp = timestamp;\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate) resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\nvar __defProp$e = Object.defineProperty;\nvar __getOwnPropSymbols$f = Object.getOwnPropertySymbols;\nvar __hasOwnProp$f = Object.prototype.hasOwnProperty;\nvar __propIsEnum$f = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$e = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$f.call(b, prop)) __defNormalProp$e(a, prop, b[prop]);\n if (__getOwnPropSymbols$f) for (var prop of __getOwnPropSymbols$f(b)) {\n if (__propIsEnum$f.call(b, prop)) __defNormalProp$e(a, prop, b[prop]);\n }\n return a;\n};\nfunction useElementByPoint(options) {\n const element = ref(null);\n const {\n x,\n y,\n document = defaultDocument\n } = options;\n const controls = useRafFn(() => {\n element.value = (document == null ? void 0 : document.elementFromPoint(resolveUnref(x), resolveUnref(y))) || null;\n });\n return __spreadValues$e({\n element\n }, controls);\n}\nfunction useElementHover(el, options = {}) {\n const delayEnter = options ? options.delayEnter : 0;\n const delayLeave = options ? options.delayLeave : 0;\n const isHovered = ref(false);\n let timer;\n const toggle = entering => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay) timer = setTimeout(() => isHovered.value = entering, delay);else isHovered.value = entering;\n };\n if (!window) return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), {\n passive: true\n });\n useEventListener(el, \"mouseleave\", () => toggle(false), {\n passive: true\n });\n return isHovered;\n}\nfunction useElementSize(target, initialSize = {\n width: 0,\n height: 0\n}, options = {}) {\n const {\n window = defaultWindow,\n box = \"content-box\"\n } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n useResizeObserver(target, ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = parseFloat(styles.width);\n height.value = parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, {\n inlineSize\n }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, {\n blockSize\n }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n }, options);\n watch(() => unrefElement(target), ele => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n });\n return {\n width,\n height\n };\n}\nfunction useElementVisibility(element, {\n window = defaultWindow,\n scrollTarget\n} = {}) {\n const elementIsVisible = ref(false);\n const testBounding = () => {\n if (!window) return;\n const document = window.document;\n const el = unrefElement(element);\n if (!el) {\n elementIsVisible.value = false;\n } else {\n const rect = el.getBoundingClientRect();\n elementIsVisible.value = rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0;\n }\n };\n watch(() => unrefElement(element), () => testBounding(), {\n immediate: true,\n flush: \"post\"\n });\n if (window) {\n useEventListener(scrollTarget || window, \"scroll\", testBounding, {\n capture: false,\n passive: true\n });\n }\n return elementIsVisible;\n}\nconst events = new Map();\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || [];\n listeners.push(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners) return;\n const index = listeners.indexOf(listener);\n if (index > -1) listeners.splice(index, 1);\n if (!listeners.length) events.delete(key);\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach(v => v(event, payload));\n }\n return {\n on,\n once,\n off,\n emit,\n reset\n };\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = ref(null);\n const {\n withCredentials = false\n } = options;\n const close = () => {\n if (eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n }\n };\n const es = new EventSource(url, {\n withCredentials\n });\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = e => {\n status.value = \"CLOSED\";\n error.value = e;\n };\n es.onmessage = e => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, e => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n eventSource,\n event,\n data,\n status,\n error,\n close\n };\n}\nfunction useEyeDropper(options = {}) {\n const {\n initialValue = \"\"\n } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value) return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return {\n isSupported,\n sRGBHex,\n open\n };\n}\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = resolveRef(newIcon);\n const applyIcon = icon => {\n document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`).forEach(el => el.href = `${baseUrl}${icon}`);\n };\n watch(favicon, (i, o) => {\n if (isString(i) && i !== o) applyIcon(i);\n }, {\n immediate: true\n });\n return favicon;\n}\nvar __defProp$d = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$e = Object.getOwnPropertySymbols;\nvar __hasOwnProp$e = Object.prototype.hasOwnProperty;\nvar __propIsEnum$e = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$d = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$e.call(b, prop)) __defNormalProp$d(a, prop, b[prop]);\n if (__getOwnPropSymbols$e) for (var prop of __getOwnPropSymbols$e(b)) {\n if (__propIsEnum$e.call(b, prop)) __defNormalProp$d(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers) return Object.fromEntries([...headers.entries()]);\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async ctx => {\n const callback = callbacks[callbacks.length - 1];\n if (callback !== void 0) await callback(ctx);\n return ctx;\n };\n } else {\n return async ctx => {\n await callbacks.reduce((prevCallback, callback) => prevCallback.then(async () => {\n if (callback) ctx = __spreadValues$d(__spreadValues$d({}, ctx), await callback(ctx));\n }), Promise.resolve());\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = resolveUnref(config.baseUrl);\n const targetUrl = resolveUnref(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[0]), {\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n });\n } else {\n fetchOptions = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, fetchOptions), args[0]), {\n headers: __spreadValues$d(__spreadValues$d({}, headersToObject(fetchOptions.headers) || {}), headersToObject(args[0].headers) || {})\n });\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[1]), {\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n });\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0])) options = __spreadValues$d(__spreadValues$d({}, options), args[0]);else fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1])) options = __spreadValues$d(__spreadValues$d({}, options), args[1]);\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort && controller) {\n controller.abort();\n controller = void 0;\n }\n };\n const loading = isLoading => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout) timer = useTimeoutFn(abort, timeout, {\n immediate: false\n });\n const execute = async (throwOnFailed = false) => {\n var _a2;\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n if (supportsAbort) {\n abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = __spreadProps$3(__spreadValues$d({}, fetchOptions), {\n signal: controller.signal\n });\n }\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n if (config.payloadType) headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n const payload = resolveUnref(config.payload);\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: resolveUnref(url),\n options: __spreadValues$d(__spreadValues$d({}, defaultFetchOptions), fetchOptions),\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch) Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer) timer.start();\n return new Promise((resolve, reject) => {\n var _a3;\n fetch(context.url, __spreadProps$3(__spreadValues$d(__spreadValues$d({}, defaultFetchOptions), context.options), {\n headers: __spreadValues$d(__spreadValues$d({}, headersToObject(defaultFetchOptions.headers)), headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers))\n })).then(async fetchResponse => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse[config.type]();\n if (options.afterFetch && statusCode.value >= 200 && statusCode.value < 300) ({\n data: responseData\n } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n data.value = responseData;\n if (!fetchResponse.ok) throw new Error(fetchResponse.statusText);\n responseEvent.trigger(fetchResponse);\n return resolve(fetchResponse);\n }).catch(async fetchError => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) ({\n data: responseData,\n error: errorData\n } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n data.value = responseData;\n error.value = errorData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed) return reject(fetchError);\n return resolve(null);\n }).finally(() => {\n loading(false);\n if (timer) timer.stop();\n finallyEvent.trigger(null);\n });\n });\n };\n const refetch = resolveRef(options.refetch);\n watch([refetch, resolveRef(url)], ([refetch2]) => refetch2 && execute(), {\n deep: true\n });\n const shell = {\n isFinished,\n statusCode,\n response,\n error,\n data,\n isFetching,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch([refetch, resolveRef(config.payload)], ([refetch2]) => refetch2 && execute(), {\n deep: true\n });\n }\n const rawPayload = resolveUnref(config.payload);\n if (!payloadType && rawPayload && Object.getPrototypeOf(rawPayload) === Object.prototype && !(rawPayload instanceof FormData)) config.payloadType = \"json\";\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch(error2 => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n }\n return void 0;\n };\n }\n if (options.immediate) setTimeout(execute, 0);\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\")) return `${start}/${end}`;\n return `${start}${end}`;\n}\nvar __defProp$c = Object.defineProperty;\nvar __getOwnPropSymbols$d = Object.getOwnPropertySymbols;\nvar __hasOwnProp$d = Object.prototype.hasOwnProperty;\nvar __propIsEnum$d = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$c = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$d.call(b, prop)) __defNormalProp$c(a, prop, b[prop]);\n if (__getOwnPropSymbols$d) for (var prop of __getOwnPropSymbols$d(b)) {\n if (__propIsEnum$d.call(b, prop)) __defNormalProp$c(a, prop, b[prop]);\n }\n return a;\n};\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\"\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = event => {\n const result = event.target;\n files.value = result.files;\n };\n }\n const open = localOptions => {\n if (!input) return;\n const _options = __spreadValues$c(__spreadValues$c(__spreadValues$c({}, DEFAULT_OPTIONS), options), localOptions);\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n if (hasOwn(_options, \"capture\")) input.capture = _options.capture;\n input.click();\n };\n const reset = () => {\n files.value = null;\n if (input) input.value = \"\";\n };\n return {\n files: readonly(files),\n open,\n reset\n };\n}\nvar __defProp$b = Object.defineProperty;\nvar __getOwnPropSymbols$c = Object.getOwnPropertySymbols;\nvar __hasOwnProp$c = Object.prototype.hasOwnProperty;\nvar __propIsEnum$c = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$b = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$c.call(b, prop)) __defNormalProp$b(a, prop, b[prop]);\n if (__getOwnPropSymbols$c) for (var prop of __getOwnPropSymbols$c(b)) {\n if (__propIsEnum$c.call(b, prop)) __defNormalProp$b(a, prop, b[prop]);\n }\n return a;\n};\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = unref(options);\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value) return;\n const [handle] = await window.showOpenFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n fileHandle.value = handle;\n await updateFile();\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value) return;\n fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n data.value = void 0;\n await updateFile();\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value) return;\n if (!fileHandle.value) return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value) return;\n fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n if (unref(dataType) === \"Text\") data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n if (unref(dataType) === \"ArrayBuffer\") data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n if (unref(dataType) === \"Blob\") data.value = file.value;\n }\n watch(() => unref(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\nfunction useFocus(target, options = {}) {\n const {\n initialValue = false\n } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", () => innerFocused.value = true);\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value) (_a = targetElement.value) == null ? void 0 : _a.blur();else if (value && !innerFocused.value) (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(targetElement, () => {\n focused.value = initialValue;\n }, {\n immediate: true,\n flush: \"post\"\n });\n return {\n focused\n };\n}\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return {\n focused\n };\n}\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\") return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\nconst functionsMap = [[\"requestFullscreen\", \"exitFullscreen\", \"fullscreenElement\", \"fullscreenEnabled\", \"fullscreenchange\", \"fullscreenerror\"], [\"webkitRequestFullscreen\", \"webkitExitFullscreen\", \"webkitFullscreenElement\", \"webkitFullscreenEnabled\", \"webkitfullscreenchange\", \"webkitfullscreenerror\"], [\"webkitRequestFullScreen\", \"webkitCancelFullScreen\", \"webkitCurrentFullScreenElement\", \"webkitCancelFullScreen\", \"webkitfullscreenchange\", \"webkitfullscreenerror\"], [\"mozRequestFullScreen\", \"mozCancelFullScreen\", \"mozFullScreenElement\", \"mozFullScreenEnabled\", \"mozfullscreenchange\", \"mozfullscreenerror\"], [\"msRequestFullscreen\", \"msExitFullscreen\", \"msFullscreenElement\", \"msFullscreenEnabled\", \"MSFullscreenChange\", \"MSFullscreenError\"]];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = target || (document == null ? void 0 : document.querySelector(\"html\"));\n const isFullscreen = ref(false);\n let map = functionsMap[0];\n const isSupported = useSupported(() => {\n if (!document) {\n return false;\n } else {\n for (const m of functionsMap) {\n if (m[1] in document) {\n map = m;\n return true;\n }\n }\n }\n return false;\n });\n const [REQUEST, EXIT, ELEMENT,, EVENT] = map;\n async function exit() {\n if (!isSupported.value) return;\n if (document == null ? void 0 : document[ELEMENT]) await document[EXIT]();\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value) return;\n await exit();\n const target2 = unrefElement(targetRef);\n if (target2) {\n await target2[REQUEST]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n if (isFullscreen.value) await exit();else await enter();\n }\n if (document) {\n useEventListener(document, EVENT, () => {\n isFullscreen.value = !!(document == null ? void 0 : document[ELEMENT]);\n }, false);\n }\n if (autoExit) tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = gamepad => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator) hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n hapticActuators,\n index: gamepad.index,\n mapping: gamepad.mapping,\n connected: gamepad.connected,\n timestamp: gamepad.timestamp,\n axes: gamepad.axes.map(axes => axes),\n buttons: gamepad.buttons.map(button => ({\n pressed: button.pressed,\n touched: button.touched,\n value: button.value\n }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) {\n const index = gamepads.value.findIndex(({\n index: index2\n }) => index2 === gamepad.index);\n if (index > -1) gamepads.value[index] = stateFromGamepad(gamepad);\n }\n }\n };\n const {\n isActive,\n pause,\n resume\n } = useRafFn(updateGamepadState);\n const onGamepadConnected = gamepad => {\n if (!gamepads.value.some(({\n index\n }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = gamepad => {\n gamepads.value = gamepads.value.filter(x => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", e => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", e => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n if (_gamepads) {\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) onGamepadConnected(gamepad);\n }\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = ref(null);\n const coords = ref({\n accuracy: 0,\n latitude: Infinity,\n longitude: Infinity,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(updatePosition, err => error.value = err, {\n enableHighAccuracy,\n maximumAge,\n timeout\n });\n }\n }\n if (immediate) resume();\n function pause() {\n if (watcher && navigator) navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const onEvent = createFilterWrapper(eventFilter, () => {\n idle.value = false;\n lastActive.value = timestamp();\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n });\n if (window) {\n const document = window.document;\n for (const event of events) useEventListener(window, event, onEvent, {\n passive: true\n });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden) onEvent();\n });\n }\n }\n timer = setTimeout(() => idle.value = true, timeout);\n return {\n idle,\n lastActive\n };\n}\nvar __defProp$a = Object.defineProperty;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$a = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$b.call(b, prop)) __defNormalProp$a(a, prop, b[prop]);\n if (__getOwnPropSymbols$b) for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop)) __defNormalProp$a(a, prop, b[prop]);\n }\n return a;\n};\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const {\n src,\n srcset,\n sizes\n } = options;\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nconst useImage = (options, asyncStateOptions = {}) => {\n const state = useAsyncState(() => loadImage(resolveUnref(options)), void 0, __spreadValues$a({\n resetOnExecute: true\n }, asyncStateOptions));\n watch(() => resolveUnref(options), () => state.execute(asyncStateOptions.delay), {\n deep: true\n });\n return state;\n};\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\"\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n const _element = resolveUnref(element);\n if (!_element) return;\n (_c = _element instanceof Document ? document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = resolveUnref(_y)) != null ? _a : y.value,\n left: (_b = resolveUnref(_x)) != null ? _b : x.value,\n behavior: resolveUnref(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = e => {\n if (!isScrolling.value) return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const onScrollHandler = e => {\n const eventTarget = e.target === document ? e.target.documentElement : e.target;\n const scrollLeft = eventTarget.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalY.value;\n arrivedState.left = scrollLeft <= 0 + (offset.left || 0);\n arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n internalX.value = scrollLeft;\n let scrollTop = eventTarget.scrollTop;\n if (e.target === document && !scrollTop) scrollTop = document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n arrivedState.top = scrollTop <= 0 + (offset.top || 0);\n arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n internalY.value = scrollTop;\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(element, \"scroll\", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);\n useEventListener(element, \"scrollend\", onScrollEnd, eventListenerOptions);\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions\n };\n}\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$a.call(b, prop)) __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$a) for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop)) __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a, _b;\n const direction = (_a = options.direction) != null ? _a : \"bottom\";\n const state = reactive(useScroll(element, __spreadProps$2(__spreadValues$9({}, options), {\n offset: __spreadValues$9({\n [direction]: (_b = options.distance) != null ? _b : 0\n }, options.offset)\n })));\n watch(() => state.arrivedState[direction], async v => {\n var _a2, _b2;\n if (v) {\n const elem = resolveUnref(element);\n const previous = {\n height: (_a2 = elem == null ? void 0 : elem.scrollHeight) != null ? _a2 : 0,\n width: (_b2 = elem == null ? void 0 : elem.scrollWidth) != null ? _b2 : 0\n };\n await onLoadMore(state);\n if (options.preserveScrollPosition && elem) {\n nextTick(() => {\n elem.scrollTo({\n top: elem.scrollHeight - previous.height,\n left: elem.scrollWidth - previous.width\n });\n });\n }\n }\n });\n}\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n let cleanup = noop;\n const stopWatch = isSupported.value ? watch(() => ({\n el: unrefElement(target),\n root: unrefElement(root)\n }), ({\n el,\n root: root2\n }) => {\n cleanup();\n if (!el) return;\n const observer = new IntersectionObserver(callback, {\n root: root2,\n rootMargin,\n threshold\n });\n observer.observe(el);\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n }, {\n immediate: true,\n flush: \"post\"\n }) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach(listenerEvent => {\n useEventListener(document, listenerEvent, evt => {\n if (typeof evt.getModifierState === \"function\") state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\nfunction useLocalStorage(key, initialValue, options = {}) {\n const {\n window = defaultWindow\n } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = new Set();\n const usedKeys = new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive) refs[key] = value;else refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys) setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value) current.add(key);else current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach(key2 => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach(key2 => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", e => {\n updateRefs(e, true);\n return onEventFired(e);\n }, {\n passive\n });\n useEventListener(target, \"keyup\", e => {\n updateRefs(e, false);\n return onEventFired(e);\n }, {\n passive\n });\n useEventListener(\"blur\", reset, {\n passive: true\n });\n useEventListener(\"focus\", reset, {\n passive: true\n });\n const proxy = new Proxy(refs, {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\") return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap) prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map(i => i.trim());\n refs[prop] = computed(() => keys.every(key => unref(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? unref(r) : r;\n }\n });\n return proxy;\n}\nvar __defProp$8 = Object.defineProperty;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$9.call(b, prop)) __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$9) for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop)) __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nfunction usingElRef(source, cb) {\n if (resolveUnref(source)) cb(resolveUnref(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i) ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({\n label,\n kind,\n language,\n mode,\n activeCues,\n cues,\n inBandMetadataTrackDispatchType\n }, id) => ({\n id,\n label,\n kind,\n language,\n mode,\n activeCues,\n cues,\n inBandMetadataTrackDispatchType\n }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = __spreadValues$8(__spreadValues$8({}, defaultOptions), options);\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = track => {\n usingElRef(target, el => {\n if (track) {\n const id = isNumber(track) ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i) el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, el => {\n const id = isNumber(track) ? track : track.id;\n if (disableTracks) disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async el => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document) return;\n const el = resolveUnref(target);\n if (!el) return;\n const src = resolveUnref(options.src);\n let sources = [];\n if (!src) return;\n if (isString(src)) sources = [{\n src\n }];else if (Array.isArray(src)) sources = src;else if (isObject(src)) sources = [src];\n el.querySelectorAll(\"source\").forEach(e => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({\n src: src2,\n type\n }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = resolveUnref(target);\n if (!el) return;\n el.querySelectorAll(\"source\").forEach(e => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch(volume, vol => {\n const el = resolveUnref(target);\n if (!el) return;\n el.volume = vol;\n });\n watch(muted, mute => {\n const el = resolveUnref(target);\n if (!el) return;\n el.muted = mute;\n });\n watch(rate, rate2 => {\n const el = resolveUnref(target);\n if (!el) return;\n el.playbackRate = rate2;\n });\n watchEffect(() => {\n if (!document) return;\n const textTracks = resolveUnref(options.tracks);\n const el = resolveUnref(target);\n if (!textTracks || !textTracks.length || !el) return;\n el.querySelectorAll(\"track\").forEach(e => e.remove());\n textTracks.forEach(({\n default: isDefault,\n kind,\n label,\n src,\n srcLang\n }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default) selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const {\n ignoreUpdates: ignoreCurrentTimeUpdates\n } = watchIgnorable(currentTime, time => {\n const el = resolveUnref(target);\n if (!el) return;\n el.currentTime = time;\n });\n const {\n ignoreUpdates: ignorePlayingUpdates\n } = watchIgnorable(playing, isPlaying => {\n const el = resolveUnref(target);\n if (!el) return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = resolveUnref(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = resolveUnref(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(resolveUnref(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, \"waiting\", () => waiting.value = true);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n });\n useEventListener(target, \"ratechange\", () => rate.value = resolveUnref(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = resolveUnref(target);\n if (!el) return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = resolveUnref(target);\n if (!el) return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach(listener => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n volume,\n muted,\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n onSourceError: sourceErrorEvent.on\n };\n}\nconst getMapVue2Compat = () => {\n const data = reactive({});\n return {\n get: key => data[key],\n set: (key, value) => set(data, key, value),\n has: key => hasOwn(data, key),\n delete: key => del(data, key),\n clear: () => {\n Object.keys(data).forEach(key => {\n del(data, key);\n });\n }\n };\n};\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache) return reactive(options.cache);\n if (isVue2) return getMapVue2Compat();\n return reactive(new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key)) return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const {\n interval = 1e3\n } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, {\n immediate: options.immediate,\n immediateCallback: options.immediateCallback\n });\n }\n return {\n isSupported,\n memory\n };\n}\nfunction useMounted() {\n const isMounted = ref(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return isMounted;\n}\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = {\n x: 0,\n y: 0\n },\n window = defaultWindow,\n eventFilter\n } = options;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const mouseHandler = event => {\n if (type === \"page\") {\n x.value = event.pageX;\n y.value = event.pageY;\n } else if (type === \"client\") {\n x.value = event.clientX;\n y.value = event.clientY;\n } else if (type === \"movement\") {\n x.value = event.movementX;\n y.value = event.movementY;\n }\n sourceType.value = \"mouse\";\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const touchHandler = event => {\n if (event.touches.length > 0) {\n const touch2 = event.touches[0];\n if (type === \"page\") {\n x.value = touch2.pageX;\n y.value = touch2.pageY;\n } else if (type === \"client\") {\n x.value = touch2.clientX;\n y.value = touch2.clientY;\n }\n sourceType.value = \"touch\";\n }\n };\n const mouseHandlerWrapper = event => {\n return eventFilter === void 0 ? mouseHandler(event) : eventFilter(() => mouseHandler(event), {});\n };\n const touchHandlerWrapper = event => {\n return eventFilter === void 0 ? touchHandler(event) : eventFilter(() => touchHandler(event), {});\n };\n if (window) {\n useEventListener(window, \"mousemove\", mouseHandlerWrapper, {\n passive: true\n });\n useEventListener(window, \"dragover\", mouseHandlerWrapper, {\n passive: true\n });\n if (touch && type !== \"movement\") {\n useEventListener(window, \"touchstart\", touchHandlerWrapper, {\n passive: true\n });\n useEventListener(window, \"touchmove\", touchHandlerWrapper, {\n passive: true\n });\n if (resetOnTouchEnds) useEventListener(window, \"touchend\", reset, {\n passive: true\n });\n }\n }\n return {\n x,\n y,\n sourceType\n };\n}\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const {\n x,\n y,\n sourceType\n } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {};\n if (window) {\n stop = watch([targetRef, x, y], () => {\n const el = unrefElement(targetRef);\n if (!el) return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + window.pageXOffset;\n elementPositionY.value = top + window.pageYOffset;\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n }, {\n immediate: true\n });\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = srcType => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), {\n passive: true\n });\n useEventListener(window, \"mouseleave\", onReleased, {\n passive: true\n });\n useEventListener(window, \"mouseup\", onReleased, {\n passive: true\n });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), {\n passive: true\n });\n useEventListener(window, \"drop\", onReleased, {\n passive: true\n });\n useEventListener(window, \"dragend\", onReleased, {\n passive: true\n });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), {\n passive: true\n });\n useEventListener(window, \"touchend\", onReleased, {\n passive: true\n });\n useEventListener(window, \"touchcancel\", onReleased, {\n passive: true\n });\n }\n return {\n pressed,\n sourceType\n };\n}\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __objRest$1 = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$8) for (var prop of __getOwnPropSymbols$8(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nfunction useMutationObserver(target, callback, options = {}) {\n const _a = options,\n {\n window = defaultWindow\n } = _a,\n mutationOptions = __objRest$1(_a, [\"window\"]);\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(() => unrefElement(target), el => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n }, {\n immediate: true\n });\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\nconst useNavigatorLanguage = (options = {}) => {\n const {\n window = defaultWindow\n } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator) language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n};\nfunction useNetwork(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator) return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection) useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\nvar __defProp$7 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$7.call(b, prop)) __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$7) for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop)) __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(new Date());\n const update = () => now.value = new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, {\n immediate: true\n }) : useIntervalFn(update, interval, {\n immediate: true\n });\n if (exposeControls) {\n return __spreadValues$7({\n now\n }, controls);\n } else {\n return now;\n }\n}\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value) URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(() => unref(object), newObject => {\n release();\n if (newObject) url.value = URL.createObjectURL(newObject);\n }, {\n immediate: true\n });\n tryOnScopeDispose(release);\n return readonly(url);\n}\nfunction useClamp(value, min, max) {\n if (isFunction(value) || isReadonly(value)) return computed(() => clamp(resolveUnref(value), resolveUnref(min), resolveUnref(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, resolveUnref(min), resolveUnref(max));\n },\n set(value2) {\n _value.value = clamp(value2, resolveUnref(min), resolveUnref(max));\n }\n });\n}\nfunction useOffsetPagination(options) {\n const {\n total = Infinity,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Infinity);\n const pageCount = computed(() => Math.max(1, Math.ceil(unref(total) / unref(currentPageSize))));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) syncRef(page, currentPage);\n if (isRef(pageSize)) syncRef(pageSize, currentPageSize);\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\nfunction useOnline(options = {}) {\n const {\n isOnline\n } = useNetwork(options);\n return isOnline;\n}\nfunction usePageLeave(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isLeft = ref(false);\n const handler = event => {\n if (!window) return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, {\n passive: true\n });\n useEventListener(window.document, \"mouseleave\", handler, {\n passive: true\n });\n useEventListener(window.document, \"mouseenter\", handler, {\n passive: true\n });\n }\n return isLeft;\n}\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = i => i,\n deviceOrientationRollAdjust = i => i,\n mouseTiltAdjust = i => i,\n mouseRollAdjust = i => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({\n window\n }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, {\n handleOutside: false,\n window\n });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = -orientation.beta / 90;\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = orientation.gamma / 90;\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return {\n roll,\n tilt,\n source\n };\n}\nvar __defProp$6 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$6.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$6) for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = event => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType)) return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n useEventListener(target, \"pointerdown\", handler, {\n passive: true\n });\n useEventListener(target, \"pointermove\", handler, {\n passive: true\n });\n useEventListener(target, \"pointerleave\", () => isInside.value = false, {\n passive: true\n });\n }\n return __spreadProps$1(__spreadValues$6({}, toRefs(state)), {\n isInside\n });\n}\nfunction usePointerLock(target, options = {}) {\n const {\n document = defaultDocument,\n pointerLockOptions\n } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value) targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e, options2) {\n var _a;\n if (!isSupported.value) throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement) throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value) return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\nvar SwipeDirection;\n(function (SwipeDirection2) {\n SwipeDirection2[\"UP\"] = \"UP\";\n SwipeDirection2[\"RIGHT\"] = \"RIGHT\";\n SwipeDirection2[\"DOWN\"] = \"DOWN\";\n SwipeDirection2[\"LEFT\"] = \"LEFT\";\n SwipeDirection2[\"NONE\"] = \"NONE\";\n})(SwipeDirection || (SwipeDirection = {}));\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({\n x: 0,\n y: 0\n });\n const coordsEnd = reactive({\n x: 0,\n y: 0\n });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const {\n max,\n abs\n } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value) return SwipeDirection.NONE;\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;\n } else {\n return diffY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;\n }\n });\n const getTouchEventCoords = e => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive) listenerOptions = isPassiveEventSupported ? {\n passive: false,\n capture: true\n } : {\n capture: true\n };else listenerOptions = isPassiveEventSupported ? {\n passive: true\n } : {\n capture: false\n };\n const onTouchEnd = e => {\n if (isSwiping.value) onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [useEventListener(target, \"touchstart\", e => {\n if (listenerOptions.capture && !listenerOptions.passive) e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions), useEventListener(target, \"touchmove\", e => {\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value) isSwiping.value = true;\n if (isSwiping.value) onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions), useEventListener(target, \"touchend\", onTouchEnd, listenerOptions), useEventListener(target, \"touchcancel\", onTouchEnd, listenerOptions)];\n const stop = () => stops.forEach(s => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document) return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = resolveRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart\n } = options;\n const posStart = reactive({\n x: 0,\n y: 0\n });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({\n x: 0,\n y: 0\n });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const {\n max,\n abs\n } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value) return SwipeDirection.NONE;\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;\n } else {\n return distanceY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;\n }\n });\n const eventIsAllowed = e => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [useEventListener(target, \"pointerdown\", e => {\n var _a, _b;\n if (!eventIsAllowed(e)) return;\n isPointerDown.value = true;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const {\n clientX: x,\n clientY: y\n } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }), useEventListener(target, \"pointermove\", e => {\n if (!eventIsAllowed(e)) return;\n if (!isPointerDown.value) return;\n const {\n clientX: x,\n clientY: y\n } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value) isSwiping.value = true;\n if (isSwiping.value) onSwipe == null ? void 0 : onSwipe(e);\n }), useEventListener(target, \"pointerup\", e => {\n var _a, _b;\n if (!eventIsAllowed(e)) return;\n if (isSwiping.value) onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"initial\");\n })];\n const stop = () => stops.forEach(s => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value) return \"dark\";\n if (isLight.value) return \"light\";\n return \"no-preference\";\n });\n}\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value) return \"more\";\n if (isLess.value) return \"less\";\n if (isCustom.value) return \"custom\";\n return \"no-preference\";\n });\n}\nfunction usePreferredLanguages(options = {}) {\n const {\n window = defaultWindow\n } = options;\n if (!window) return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value) return \"reduce\";\n return \"no-preference\";\n });\n}\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(resolveRef(value), (_, oldValue) => {\n previous.value = oldValue;\n }, {\n flush: \"sync\"\n });\n return readonly(previous);\n}\nconst useScreenOrientation = (options = {}) => {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = type => {\n if (!isSupported.value) return Promise.reject(new Error(\"Not supported\"));\n return screenOrientation.lock(type);\n };\n const unlockOrientation = () => {\n if (isSupported.value) screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n};\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = waitForScriptLoad => new Promise((resolve, reject) => {\n const resolveWithElement = el2 => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${resolveUnref(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = resolveUnref(src);\n if (defer) el.defer = defer;\n if (crossOrigin) el.crossOrigin = crossOrigin;\n if (noModule) el.noModule = noModule;\n if (referrerPolicy) el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", event => reject(event));\n el.addEventListener(\"abort\", event => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend) el = document.head.appendChild(el);\n if (!waitForScriptLoad) resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise) _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document) return;\n _promise = null;\n if (scriptTag.value) scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${resolveUnref(src)}\"]`);\n if (el) document.head.removeChild(el);\n };\n if (immediate && !manual) tryOnMounted(load);\n if (!manual) tryOnUnmounted(unload);\n return {\n scriptTag,\n load,\n unload\n };\n}\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientHeight < ele.scrollHeight || style.overflowY === \"auto\" && ele.clientWidth < ele.scrollWidth) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\") return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target)) return false;\n if (e.touches.length > 1) return true;\n if (e.preventDefault) e.preventDefault();\n return false;\n}\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(resolveRef(element), el => {\n if (el) {\n const ele = el;\n initialOverflow = ele.style.overflow;\n if (isLocked.value) ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const ele = resolveUnref(element);\n if (!ele || isLocked.value) return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(ele, \"touchmove\", e => {\n preventDefault(e);\n }, {\n passive: false\n });\n }\n ele.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const ele = resolveUnref(element);\n if (!ele || !isLocked.value) return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n ele.style.overflow = initialOverflow;\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v) lock();else unlock();\n }\n });\n}\nfunction useSessionStorage(key, initialValue, options = {}) {\n const {\n window = defaultWindow\n } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$5.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$5) for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nfunction useShare(shareOptions = {}, options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = __spreadValues$5(__spreadValues$5({}, resolveUnref(shareOptions)), resolveUnref(overrideOptions));\n let granted = true;\n if (data.files && _navigator.canShare) granted = _navigator.canShare({\n files: data.files\n });\n if (granted) return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty) return computed(() => sortFn([...unref(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(unref(source), compareFn);\n if (isRef(source)) source.value = result;else source.splice(0, source.length, ...result);\n });\n return source;\n}\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = resolveRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = unref(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, lang2 => {\n if (recognition && !isListening.value) recognition.lang = lang2;\n });\n recognition.onresult = event => {\n const transcript = Array.from(event.results).map(result2 => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map(result2 => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = event => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = unref(lang);\n };\n watch(isListening, () => {\n if (isListening.value) recognition.start();else recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = resolveRef(text || \"\");\n const lang = resolveRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = utterance2 => {\n utterance2.lang = unref(lang);\n utterance2.voice = unref(options.voice) || null;\n utterance2.pitch = pitch;\n utterance2.rate = rate;\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = event => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, lang2 => {\n if (utterance.value && !isPlaying.value) utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value) synth.resume();else synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value)) return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step)) return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step)) index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value) return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value) return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step)) goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\nvar __defProp$4 = Object.defineProperty;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4) for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = e => {\n console.error(e);\n }\n } = options;\n const rawInit = resolveUnref(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key) return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null) await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (isFunction(mergeDefaults)) data.value = mergeDefaults(value, rawInit);else if (type === \"object\" && !Array.isArray(value)) data.value = __spreadValues$4(__spreadValues$4({}, rawInit), value);else data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges) useEventListener(window, \"storage\", e => setTimeout(() => read(e), 0));\n if (storage) {\n watchWithFilter(data, async () => {\n try {\n if (data.value == null) await storage.removeItem(key);else await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n }, {\n flush,\n deep,\n eventFilter\n });\n }\n return data;\n}\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {};\n const load = () => {\n if (!document) return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.type = \"text/css\";\n el.id = id;\n if (options.media) el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value) return;\n stop = watch(cssRef, value => {\n el.textContent = value;\n }, {\n immediate: true\n });\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value) return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual) tryOnMounted(load);\n if (!manual) tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = el => {\n if (el) refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(document.querySelector(selector), () => dir.value = getValue(), {\n attributes: true\n });\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document) return;\n if (dir.value) (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);else (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n const ranges = new Array(rangeCount);\n for (let i = 0; i < rangeCount; i++) {\n const range = selection.getRangeAt(i);\n ranges[i] = range;\n }\n return ranges;\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map(range => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window) selection.value = window.getSelection();\n }\n if (window) useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\nfunction useTextareaAutosize(options) {\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n function triggerResize() {\n var _a, _b;\n if (!textarea.value) return;\n textarea.value.style.height = \"1px\";\n textarea.value.style.height = `${(_a = textarea.value) == null ? void 0 : _a.scrollHeight}px`;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], triggerResize, {\n immediate: true\n });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch) watch(options.watch, triggerResize, {\n immediate: true,\n deep: true\n });\n return {\n textarea,\n input,\n triggerResize\n };\n}\nvar __defProp$3 = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3) for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction useThrottledRefHistory(source, options = {}) {\n const {\n throttle = 200,\n trailing = true\n } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, __spreadProps(__spreadValues$3({}, options), {\n eventFilter: filter\n }));\n return __spreadValues$3({}, history);\n}\nvar __defProp$2 = Object.defineProperty;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2) for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source) if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$2) for (var prop of __getOwnPropSymbols$2(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\nconst DEFAULT_UNITS = [{\n max: 6e4,\n value: 1e3,\n name: \"second\"\n}, {\n max: 276e4,\n value: 6e4,\n name: \"minute\"\n}, {\n max: 72e6,\n value: 36e5,\n name: \"hour\"\n}, {\n max: 5184e5,\n value: 864e5,\n name: \"day\"\n}, {\n max: 24192e5,\n value: 6048e5,\n name: \"week\"\n}, {\n max: 28512e6,\n value: 2592e6,\n name: \"month\"\n}, {\n max: Infinity,\n value: 31536e6,\n name: \"year\"\n}];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: n => n.match(/\\d/) ? `${n} ago` : n,\n future: n => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: n => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: n => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: n => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nconst DEFAULT_FORMATTER = date => date.toISOString().slice(0, 10);\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const _a = useNow({\n interval: updateInterval,\n controls: true\n }),\n {\n now\n } = _a,\n controls = __objRest(_a, [\"now\"]);\n const timeAgo = computed(() => formatTimeAgo(new Date(resolveUnref(time)), options, unref(now.value)));\n if (exposeControls) {\n return __spreadValues$2({\n timeAgo\n }, controls);\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? n => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\") return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond) return messages.justNow;\n if (typeof max === \"number\" && absDiff > max) return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find(i => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax) return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1]) return format(diff, units[idx - 1]);\n if (absDiff < unit.max) return format(diff, unit);\n }\n return messages.invalid;\n}\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const {\n start\n } = useTimeoutFn(loop, interval);\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value) return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate) resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1) for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, {\n immediate\n }) : useIntervalFn(cb, interval, {\n immediate\n });\n if (exposeControls) {\n return __spreadValues$1({\n timestamp: ts\n }, controls);\n } else {\n return ts;\n }\n}\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b;\n const {\n document = defaultDocument\n } = options;\n const title = resolveRef((_a = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _a : null);\n const isReadonly = newTitle && isFunction(newTitle);\n function format(t) {\n if (!(\"titleTemplate\" in options)) return t;\n const template = options.titleTemplate || \"%s\";\n return isFunction(template) ? template(t) : unref(template).replace(/%s/g, t);\n }\n watch(title, (t, o) => {\n if (t !== o && document) document.title = format(isString(t) ? t : \"\");\n }, {\n immediate: true\n });\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver((_b = document.head) == null ? void 0 : _b.querySelector(\"title\"), () => {\n if (document && document.title !== title.value) title.value = format(document.title);\n }, {\n childList: true\n });\n }\n return title;\n}\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = __spreadValues({\n linear: identity\n}, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = a1 => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = x => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0) return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return x => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction useTransition(source, options = {}) {\n const {\n delay = 0,\n disabled = false,\n duration = 1e3,\n onFinished = noop,\n onStarted = noop,\n transition = identity\n } = options;\n const currentTransition = computed(() => {\n const t = unref(transition);\n return isFunction(t) ? t : createEasingFunction(t);\n });\n const sourceValue = computed(() => {\n const s = unref(source);\n return isNumber(s) ? s : s.map(unref);\n });\n const sourceVector = computed(() => isNumber(sourceValue.value) ? [sourceValue.value] : sourceValue.value);\n const outputVector = ref(sourceVector.value.slice(0));\n let currentDuration;\n let diffVector;\n let endAt;\n let startAt;\n let startVector;\n const {\n resume,\n pause\n } = useRafFn(() => {\n const now = Date.now();\n const progress = clamp(1 - (endAt - now) / currentDuration, 0, 1);\n outputVector.value = startVector.map((val, i) => {\n var _a;\n return val + ((_a = diffVector[i]) != null ? _a : 0) * currentTransition.value(progress);\n });\n if (progress >= 1) {\n pause();\n onFinished();\n }\n }, {\n immediate: false\n });\n const start = () => {\n pause();\n currentDuration = unref(duration);\n diffVector = outputVector.value.map((n, i) => {\n var _a, _b;\n return ((_a = sourceVector.value[i]) != null ? _a : 0) - ((_b = outputVector.value[i]) != null ? _b : 0);\n });\n startVector = outputVector.value.slice(0);\n startAt = Date.now();\n endAt = startAt + currentDuration;\n resume();\n onStarted();\n };\n const timeout = useTimeoutFn(start, delay, {\n immediate: false\n });\n watch(sourceVector, () => {\n if (unref(disabled)) return;\n if (unref(delay) <= 0) start();else timeout.start();\n }, {\n deep: true\n });\n watch(() => unref(disabled), v => {\n if (v) {\n outputVector.value = sourceVector.value.slice(0);\n pause();\n }\n });\n return computed(() => {\n const targetVector = unref(disabled) ? sourceVector : outputVector;\n return isNumber(sourceValue.value) ? targetVector.value[0] : targetVector.value;\n });\n}\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window) return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\") return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\") return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0) return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach(key => delete state[key]);\n }\n const {\n pause,\n resume\n } = pausableWatch(state, () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach(key => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry)) mapEntry.forEach(value => params.append(key, value));else if (removeNullishValues && mapEntry == null) params.delete(key);else if (removeFalsyValues && !mapEntry) params.delete(key);else params.set(key, mapEntry);\n });\n write(params);\n }, {\n deep: true\n });\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate) updateState(params);\n window.history.replaceState(window.history.state, window.document.title, window.location.pathname + constructQuery(params));\n resume();\n }\n function onChanged() {\n if (!enableWrite) return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\") useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value) updateState(initial);else Object.assign(state, initialValue);\n return state;\n}\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const videoDeviceId = ref(options.videoDeviceId);\n const audioDeviceId = ref(options.audioDeviceId);\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(device) {\n if (device.value === \"none\" || device.value === false) return false;\n if (device.value == null) return true;\n return {\n deviceId: device.value\n };\n }\n async function _start() {\n if (!isSupported.value || stream.value) return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(videoDeviceId),\n audio: getDeviceOptions(audioDeviceId)\n });\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach(t => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value) enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(enabled, v => {\n if (v) _start();else _stop();\n }, {\n immediate: true\n });\n watch([videoDeviceId, audioDeviceId], () => {\n if (autoSwitch.value && stream.value) restart();\n }, {\n immediate: true\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n videoDeviceId,\n audioDeviceId,\n enabled,\n autoSwitch\n };\n}\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName) event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = eventName || event || `update:${key.toString()}`;\n const cloneFn = val => !clone ? val : isFunction(clone) ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n watch(() => props[key], v => proxy.value = cloneFn(v));\n watch(proxy, v => {\n if (v !== props[key] || deep) _emit(event, v);\n }, {\n deep\n });\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n _emit(event, value);\n }\n });\n }\n}\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) ret[key] = useVModel(props, key, emit, options);\n return ret;\n}\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = resolveRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value) navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value) navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(vibrate, interval, {\n immediate: false,\n immediateCallback: false\n });\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\nfunction useVirtualList(list, options) {\n const {\n containerStyle,\n wrapperProps,\n scrollTo,\n calculateRange,\n currentList,\n containerRef\n } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({\n start: 0,\n end: 10\n });\n return {\n state,\n source,\n currentList,\n size,\n containerRef\n };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return containerSize => {\n if (typeof itemSize === \"number\") return Math.ceil(containerSize / itemSize);\n const {\n start = 0\n } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize) break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return scrollDirection => {\n if (typeof itemSize === \"number\") return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, {\n containerRef,\n state,\n currentList,\n source\n}) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return index => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\") return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return index => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const {\n state,\n source,\n currentList,\n size,\n containerRef\n } = resources;\n const containerStyle = {\n overflowX: \"auto\"\n };\n const {\n itemWidth,\n overscan = 5\n } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const {\n state,\n source,\n currentList,\n size,\n containerRef\n } = resources;\n const containerStyle = {\n overflowY: \"auto\"\n };\n const {\n itemHeight,\n overscan = 5\n } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\nconst useWakeLock = (options = {}) => {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock) return;\n if (document && document.visibilityState === \"visible\") wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document) useEventListener(document, \"visibilitychange\", onVisibilityChange, {\n passive: true\n });\n async function request(type) {\n if (!isSupported.value) return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock) return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n};\nconst useWebNotification = (defaultOptions = {}) => {\n const {\n window = defaultWindow\n } = defaultOptions;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const notification = ref(null);\n const requestPermission = async () => {\n if (!isSupported.value) return;\n if (\"permission\" in Notification && Notification.permission !== \"denied\") await Notification.requestPermission();\n };\n const onClick = createEventHook();\n const onShow = createEventHook();\n const onError = createEventHook();\n const onClose = createEventHook();\n const show = async overrides => {\n if (!isSupported.value) return;\n await requestPermission();\n const options = Object.assign({}, defaultOptions, overrides);\n notification.value = new Notification(options.title || \"\", options);\n notification.value.onclick = event => onClick.trigger(event);\n notification.value.onshow = event => onShow.trigger(event);\n notification.value.onerror = event => onError.trigger(event);\n notification.value.onclose = event => onClose.trigger(event);\n return notification.value;\n };\n const close = () => {\n if (notification.value) notification.value.close();\n notification.value = null;\n };\n tryOnMounted(async () => {\n if (isSupported.value) await requestPermission();\n });\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", e => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n};\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true) return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = resolveRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const close = (code = 1e3, reason) => {\n if (!wsRef.value) return;\n explicitlyClosed = true;\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n };\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData) wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer) bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\") return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = ev => {\n status.value = \"CLOSED\";\n wsRef.value = void 0;\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries)) setTimeout(_init, delay);else if (typeof retries === \"function\" && retries()) setTimeout(_init, delay);else onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = e => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = e => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message) return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const {\n pause,\n resume\n } = useIntervalFn(() => {\n send(message, false);\n if (pongTimeoutWait != null) return;\n pongTimeoutWait = setTimeout(() => {\n close();\n }, pongTimeout);\n }, interval, {\n immediate: false\n });\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n useEventListener(window, \"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate) watch(urlRef, open, {\n immediate: true\n });\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = function post2(val) {\n if (!worker.value) return;\n worker.value.postMessage(val);\n };\n const terminate = function terminate2() {\n if (!worker.value) return;\n worker.value.terminate();\n };\n if (window) {\n if (isString(arg0)) worker.value = new Worker(arg0, workerOptions);else if (isFunction(arg0)) worker.value = arg0();else worker.value = arg0;\n worker.value.onmessage = e => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value) worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\nconst jobRunner = userFunc => e => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then(result => {\n postMessage([\"SUCCESS\", result]);\n }).catch(error => {\n postMessage([\"ERROR\", error]);\n });\n};\nconst depsParser = deps => {\n if (deps.length === 0) return \"\";\n const depsString = deps.map(dep => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n};\nconst createWorkerBlobUrl = (fn, deps) => {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], {\n type: \"text/javascript\"\n });\n const url = URL.createObjectURL(blob);\n return url;\n};\nconst useWebWorkerFn = (fn, options = {}) => {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = e => {\n const {\n resolve = () => {},\n reject = () => {}\n } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = e => {\n const {\n reject = () => {}\n } = promise.value;\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(() => workerTerminate(\"TIMEOUT_EXPIRED\"), timeout);\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\"[useWebWorkerFn] You can only run one instance of the worker at a time.\");\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n};\nfunction useWindowFocus({\n window = defaultWindow\n} = {}) {\n if (!window) return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\nfunction useWindowScroll({\n window = defaultWindow\n} = {}) {\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const x = ref(window.scrollX);\n const y = ref(window.scrollY);\n useEventListener(window, \"scroll\", () => {\n x.value = window.scrollX;\n y.value = window.scrollY;\n }, {\n capture: false,\n passive: true\n });\n return {\n x,\n y\n };\n}\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Infinity,\n initialHeight = Infinity,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, {\n passive: true\n });\n if (listenOrientation) useEventListener(\"orientationchange\", update, {\n passive: true\n });\n return {\n width,\n height\n };\n}\nexport { DefaultMagicKeysAliasMap, StorageSerializers, SwipeDirection, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, cloneFnJSON, computedAsync, computedInject, createFetch, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };","map":{"version":3,"names":["noop","resolveUnref","isClient","isString","tryOnScopeDispose","isIOS","tryOnMounted","computedWithControl","promiseTimeout","isFunction","resolveRef","increaseWithUnit","useTimeoutFn","pausableWatch","createEventHook","timestamp","pausableFilter","watchIgnorable","debounceFilter","createFilterWrapper","bypassFilter","createSingletonPromise","toRefs","containsProp","until","hasOwn","throttleFilter","useDebounceFn","useThrottleFn","isObject","isNumber","useIntervalFn","clamp","syncRef","objectPick","tryOnUnmounted","watchWithFilter","identity","isDef","isRef","ref","shallowRef","watchEffect","computed","inject","unref","watch","getCurrentInstance","customRef","onUpdated","reactive","nextTick","onMounted","markRaw","readonly","getCurrentScope","isVue2","set","del","isReadonly","onBeforeUpdate","computedAsync","evaluationCallback","initialState","optionsOrRef","options","evaluating","lazy","shallow","onError","started","current","counter","onInvalidate","value","counterAtBeginning","hasFinished","Promise","resolve","then","result","cancelCallback","e","computedInject","key","defaultSource","treatDefaultAsFactory","source","ctx","get","createUnrefFn","fn","args","apply","map","i","unrefElement","elRef","_a","plain","$el","defaultWindow","window","defaultDocument","document","defaultNavigator","navigator","defaultLocation","location","useEventListener","target","events","listeners","Array","isArray","cleanups","cleanup","forEach","length","register","el","event","listener","options2","addEventListener","removeEventListener","stopWatch","push","flatMap","immediate","flush","stop","_iOSWorkaround","onClickOutside","handler","ignore","capture","detectIframe","from","body","children","shouldListen","shouldIgnore","some","target2","querySelectorAll","composedPath","includes","detail","passive","activeElement","tagName","contains","filter","Boolean","__defProp$n","Object","defineProperty","__defProps$9","defineProperties","__getOwnPropDescs$9","getOwnPropertyDescriptors","__getOwnPropSymbols$p","getOwnPropertySymbols","__hasOwnProp$p","prototype","hasOwnProperty","__propIsEnum$p","propertyIsEnumerable","__defNormalProp$n","obj","enumerable","configurable","writable","__spreadValues$n","a","b","prop","call","__spreadProps$9","createKeyPredicate","keyFilter","onKeyStroke","eventName","predicate","onKeyDown","onKeyPressed","onKeyUp","DEFAULT_DELAY","onLongPress","_b","elementRef","timeout","clear","clearTimeout","onDown","ev","_a2","_b2","_c","_d","modifiers","self","prevent","preventDefault","stopPropagation","setTimeout","delay","listenerOptions","once","isFocusedElementEditable","hasAttribute","isTypedCharValid","keyCode","metaKey","ctrlKey","altKey","onStartTyping","callback","document2","keydown","templateRef","initialValue","instance","_trigger","element","track","trigger","proxy","$refs","useActiveElement","relatedTarget","useAsyncQueue","tasks","interrupt","onFinished","promiseState","pending","rejected","fulfilled","initialResult","state","data","activeIndex","updateResult","res","reduce","prev","curr","prevRes","currentRes","catch","useAsyncState","promise","onSuccess","resetOnExecute","throwError","isReady","isLoading","error","execute","delay2","_promise","defaults","array","v","JSON","stringify","object","fromEntries","null","getDefaultSerialization","Map","Set","useBase64","base64","reject","_target","blobToBase64","Blob","type","ArrayBuffer","btoa","String","fromCharCode","Uint8Array","HTMLCanvasElement","toDataURL","quality","HTMLImageElement","img","cloneNode","crossOrigin","imgLoaded","canvas","createElement","getContext","width","height","drawImage","_serializeFn","serializer","serialized","Error","complete","onload","onerror","blob","fr","FileReader","readAsDataURL","useSupported","sync","isSupported","update","useBattery","charging","chargingTime","dischargingTime","level","battery","updateBatteryInfo","getBattery","_battery","useBluetooth","acceptAllDevices","filters","optionalServices","device","connectToBluetoothGATTServer","requestDevice","bluetooth","err","server","isConnected","connected","gatt","connect","disconnect","useMediaQuery","query","matchMedia","mediaQuery","matches","removeListener","addListener","breakpointsTailwind","breakpointsBootstrapV5","sm","md","lg","xl","xxl","breakpointsVuetify","xs","breakpointsAntDesign","breakpointsQuasar","breakpointsSematic","mobileS","mobileM","mobileL","tablet","laptop","laptopL","desktop4K","breakpointsMasterCss","__defProp$m","__getOwnPropSymbols$o","__hasOwnProp$o","__propIsEnum$o","__defNormalProp$m","__spreadValues$m","useBreakpoints","breakpoints","getValue","k","delta","match","greaterOrEqual","shortcutMethods","keys","shortcuts","greater","smaller","smallerOrEqual","between","isGreater","isGreaterOrEqual","isSmaller","isSmallerOrEqual","isInBetween","useBroadcastChannel","name","isClosed","channel","post","data2","postMessage","close","BroadcastChannel","useBrowserLocation","buildState","state2","history","hash","host","hostname","href","origin","pathname","port","protocol","search","useCached","refValue","comparator","watchOptions","cachedValue","useClipboard","read","copiedDuring","legacy","isClipboardApiSupported","text","copied","updateText","clipboard","readText","legacyRead","copy","writeText","legacyCopy","start","ta","style","position","opacity","appendChild","select","execCommand","remove","getSelection","toString","__defProp$l","__defProps$8","__getOwnPropDescs$8","__getOwnPropSymbols$n","__hasOwnProp$n","__propIsEnum$n","__defNormalProp$l","__spreadValues$l","__spreadProps$8","cloneFnJSON","parse","useCloned","cloned","manual","clone","deep","_global","globalThis","global","globalKey","handlers","getSSRHandler","fallback","setSSRHandler","guessSerializerType","rawInit","Date","Number","isNaN","__defProp$k","__getOwnPropSymbols$m","__hasOwnProp$m","__propIsEnum$m","__defNormalProp$k","__spreadValues$k","StorageSerializers","boolean","write","number","parseFloat","any","string","entries","date","toISOString","customStorageEventName","useStorage","storage","listenToStorageChanges","writeDefaults","mergeDefaults","eventFilter","console","localStorage","pause","pauseWatch","resume","resumeWatch","updateFromCustomEvent","removeItem","oldValue","getItem","setItem","dispatchEvent","CustomEvent","newValue","storageArea","rawValue","usePreferredDark","__defProp$j","__getOwnPropSymbols$l","__hasOwnProp$l","__propIsEnum$l","__defNormalProp$j","__spreadValues$j","useColorMode","selector","attribute","storageKey","storageRef","emitAuto","modes","auto","light","dark","preferredDark","preferredMode","store","updateHTMLAttrs","selector2","attribute2","querySelector","split","values","classList","add","setAttribute","defaultOnChanged","mode","resolvedMode","onChanged","useConfirmDialog","revealed","confirmHook","cancelHook","revealHook","_resolve","reveal","confirm","isCanceled","cancel","isRevealed","onReveal","on","onConfirm","onCancel","useCssVar","variable","documentElement","prop2","getComputedStyle","getPropertyValue","trim","val","setProperty","useCurrentElement","vm","currentElement","useCycleList","list","index","index2","getIndexOf","indexOf","fallbackIndex","shift","next","n","__defProp$i","__defProps$7","__getOwnPropDescs$7","__getOwnPropSymbols$k","__hasOwnProp$k","__propIsEnum$k","__defNormalProp$i","__spreadValues$i","__spreadProps$7","useDark","valueDark","valueLight","mode2","defaultHandler","isDark","fnBypass","fnSetSource","defaultDump","defaultParse","useManualRefHistory","dump","setSource","_createHistoryRecord","snapshot","last","undoStack","redoStack","_setSource","record","commit","unshift","capacity","splice","Infinity","undo","redo","reset","canUndo","canRedo","__defProp$h","__defProps$6","__getOwnPropDescs$6","__getOwnPropSymbols$j","__hasOwnProp$j","__propIsEnum$j","__defNormalProp$h","__spreadValues$h","__spreadProps$6","useRefHistory","composedFilter","resumeTracking","isActive","isTracking","ignoreUpdates","ignorePrevAsyncUpdates","source2","manualHistory","manualCommit","commitNow","batch","canceled","dispose","__defProp$g","__defProps$5","__getOwnPropDescs$5","__getOwnPropSymbols$i","__hasOwnProp$i","__propIsEnum$i","__defNormalProp$g","__spreadValues$g","__spreadProps$5","useDebouncedRefHistory","debounce","useDeviceMotion","acceleration","x","y","z","rotationRate","alpha","beta","gamma","interval","accelerationIncludingGravity","onDeviceMotion","useDeviceOrientation","isAbsolute","absolute","useDevicePixelRatio","pixelRatio","observe","devicePixelRatio","media","usePermission","permissionDesc","controls","permissionStatus","desc","onChange","permissions","useDevicesList","requestPermissions","constraints","audio","video","devices","videoInputs","kind","audioInputs","audioOutputs","mediaDevices","enumerateDevices","permissionGranted","ensurePermissions","stream","getUserMedia","getTracks","t","useDisplayMedia","enabled","getDisplayMedia","constraint","_start","_stop","useDocumentVisibility","visibility","visibilityState","__defProp$f","__defProps$4","__getOwnPropDescs$4","__getOwnPropSymbols$h","__hasOwnProp$h","__propIsEnum$h","__defNormalProp$f","__spreadValues$f","__spreadProps$4","useDraggable","draggingElement","draggingHandle","handle","pressedDelta","filterEvent","pointerTypes","pointerType","handleEvent","exact","rect","getBoundingClientRect","pos","clientX","left","clientY","top","onStart","move","onMove","end","onEnd","isDragging","useDropZone","onDrop","isOverDropZone","files","dataTransfer","__getOwnPropSymbols$g","__hasOwnProp$g","__propIsEnum$g","__objRest$2","exclude","useResizeObserver","observerOptions","observer","ResizeObserver","useElementBounding","windowResize","windowScroll","bottom","right","ele","useRafFn","previousFrameTimestamp","rafId","loop","requestAnimationFrame","cancelAnimationFrame","__defProp$e","__getOwnPropSymbols$f","__hasOwnProp$f","__propIsEnum$f","__defNormalProp$e","__spreadValues$e","useElementByPoint","elementFromPoint","useElementHover","delayEnter","delayLeave","isHovered","timer","toggle","entering","useElementSize","initialSize","box","isSVG","namespaceURI","entry","boxSize","borderBoxSize","contentBoxSize","devicePixelContentBoxSize","$elem","styles","formatBoxSize","acc","inlineSize","blockSize","contentRect","useElementVisibility","scrollTarget","elementIsVisible","testBounding","innerHeight","clientHeight","innerWidth","clientWidth","useEventBus","scope","_off","off","_listener","delete","emit","payload","useEventSource","url","status","eventSource","withCredentials","es","EventSource","onopen","onmessage","event_name","useEyeDropper","sRGBHex","open","openOptions","eyeDropper","EyeDropper","useFavicon","newIcon","baseUrl","rel","favicon","applyIcon","icon","head","o","__defProp$d","__defProps$3","__getOwnPropDescs$3","__getOwnPropSymbols$e","__hasOwnProp$e","__propIsEnum$e","__defNormalProp$d","__spreadValues$d","__spreadProps$3","payloadMapping","json","isFetchOptions","isAbsoluteURL","test","headersToObject","headers","Headers","combineCallbacks","combination","callbacks","prevCallback","createFetch","config","_combination","_options","_fetchOptions","fetchOptions","useFactoryFetch","computedUrl","targetUrl","joinPaths","beforeFetch","afterFetch","onFetchError","useFetch","supportsAbort","AbortController","refetch","method","fetch","initialData","responseEvent","errorEvent","finallyEvent","isFinished","isFetching","aborted","statusCode","response","canAbort","controller","abort","loading","throwOnFailed","signal","onabort","defaultFetchOptions","payloadType","context","assign","responseData","_a3","fetchResponse","ok","statusText","fetchError","errorData","message","finally","refetch2","shell","onFetchResponse","onFetchFinally","setMethod","put","patch","setType","arrayBuffer","formData","rawPayload","getPrototypeOf","FormData","onFulfilled","onRejected","waitUntilFinished","toBe","error2","endsWith","startsWith","__defProp$c","__getOwnPropSymbols$d","__hasOwnProp$d","__propIsEnum$d","__defNormalProp$c","__spreadValues$c","DEFAULT_OPTIONS","multiple","accept","useFileDialog","input","onchange","localOptions","click","__defProp$b","__getOwnPropSymbols$c","__hasOwnProp$c","__propIsEnum$c","__defNormalProp$b","__spreadValues$b","useFileSystemAccess","_window","dataType","fileHandle","file","fileName","fileMIME","fileSize","size","fileLastModified","lastModified","showOpenFilePicker","updateFile","updateData","create","showSaveFilePicker","save","saveAs","writableStream","createWritable","getFile","useFocus","innerFocused","targetElement","focused","blur","focus","useFocusWithin","useFps","fps","performance","every","now","ticks","diff","Math","round","functionsMap","useFullscreen","autoExit","targetRef","isFullscreen","m","REQUEST","EXIT","ELEMENT","EVENT","exit","enter","mapGamepadToXbox360Controller","gamepad","buttons","bumper","triggers","stick","horizontal","axes","vertical","button","dpad","up","down","back","useGamepad","gamepads","onConnectedHook","onDisconnectedHook","stateFromGamepad","hapticActuators","vibrationActuator","id","mapping","pressed","touched","updateGamepadState","_gamepads","getGamepads","findIndex","onGamepadConnected","onGamepadDisconnected","onConnected","onDisconnected","useGeolocation","enableHighAccuracy","maximumAge","locatedAt","coords","accuracy","latitude","longitude","altitude","altitudeAccuracy","heading","speed","updatePosition","watcher","geolocation","watchPosition","clearWatch","defaultEvents$1","oneMinute","useIdle","listenForVisibilityChange","idle","lastActive","onEvent","hidden","__defProp$a","__getOwnPropSymbols$b","__hasOwnProp$b","__propIsEnum$b","__defNormalProp$a","__spreadValues$a","loadImage","Image","src","srcset","sizes","useImage","asyncStateOptions","ARRIVED_STATE_THRESHOLD_PIXELS","useScroll","throttle","onStop","onScroll","offset","eventListenerOptions","behavior","internalX","internalY","x2","scrollTo","y2","_x","_y","_element","Document","isScrolling","arrivedState","directions","onScrollEnd","onScrollEndDebounced","onScrollHandler","eventTarget","scrollLeft","scrollWidth","scrollTop","scrollHeight","__defProp$9","__defProps$2","__getOwnPropDescs$2","__getOwnPropSymbols$a","__hasOwnProp$a","__propIsEnum$a","__defNormalProp$9","__spreadValues$9","__spreadProps$2","useInfiniteScroll","onLoadMore","direction","distance","elem","previous","preserveScrollPosition","useIntersectionObserver","root","rootMargin","threshold","root2","IntersectionObserver","defaultEvents","useKeyModifier","modifier","initial","listenerEvent","evt","getModifierState","useLocalStorage","DefaultMagicKeysAliasMap","ctrl","command","cmd","option","useMagicKeys","useReactive","aliasMap","onEventFired","toJSON","refs","metaDeps","usedKeys","setRefs","updateRefs","toLowerCase","code","key2","Proxy","rec","Reflect","r","__defProp$8","__getOwnPropSymbols$9","__hasOwnProp$9","__propIsEnum$9","__defNormalProp$8","__spreadValues$8","usingElRef","cb","timeRangeToArray","timeRanges","ranges","tracksToArray","tracks","label","language","activeCues","cues","inBandMetadataTrackDispatchType","defaultOptions","useMediaControls","currentTime","duration","seeking","volume","waiting","ended","playing","rate","stalled","buffered","selectedTrack","isPictureInPicture","muted","supportsPictureInPicture","sourceErrorEvent","disableTrack","textTracks","enableTrack","disableTracks","togglePictureInPicture","requestPictureInPicture","exitPictureInPicture","sources","src2","load","vol","mute","rate2","playbackRate","default","isDefault","srcLang","srclang","ignoreCurrentTimeUpdates","time","ignorePlayingUpdates","isPlaying","play","onSourceError","getMapVue2Compat","has","useMemoize","resolver","initCache","cache","generateKey","getKey","_loadData","loadData","deleteData","clearData","memoized","useMemory","memory","immediateCallback","useMounted","isMounted","useMouse","touch","resetOnTouchEnds","sourceType","mouseHandler","pageX","pageY","movementX","movementY","touchHandler","touches","touch2","mouseHandlerWrapper","touchHandlerWrapper","useMouseInElement","handleOutside","elementX","elementY","elementPositionX","elementPositionY","elementHeight","elementWidth","isOutside","pageXOffset","pageYOffset","elX","elY","useMousePressed","drag","onPressed","srcType","onReleased","__getOwnPropSymbols$8","__hasOwnProp$8","__propIsEnum$8","__objRest$1","useMutationObserver","mutationOptions","MutationObserver","useNavigatorLanguage","useNetwork","isOnline","saveData","offlineAt","onlineAt","downlink","downlinkMax","rtt","effectiveType","connection","updateNetworkInformation","onLine","__defProp$7","__getOwnPropSymbols$7","__hasOwnProp$7","__propIsEnum$7","__defNormalProp$7","__spreadValues$7","useNow","exposeControls","useObjectUrl","release","URL","revokeObjectURL","newObject","createObjectURL","useClamp","min","max","_value","value2","useOffsetPagination","total","pageSize","page","onPageChange","onPageSizeChange","onPageCountChange","currentPageSize","pageCount","ceil","currentPage","isFirstPage","isLastPage","returnValue","useOnline","usePageLeave","isLeft","toElement","useParallax","deviceOrientationTiltAdjust","deviceOrientationRollAdjust","mouseTiltAdjust","mouseRollAdjust","orientation","roll","tilt","__defProp$6","__defProps$1","__getOwnPropDescs$1","__getOwnPropSymbols$6","__hasOwnProp$6","__propIsEnum$6","__defNormalProp$6","__spreadValues$6","__spreadProps$1","defaultState","pointerId","pressure","tiltX","tiltY","twist","usePointer","isInside","usePointerLock","pointerLockOptions","triggerElement","pointerLockElement","action","lock","Event","currentTarget","requestPointerLock","unlock","exitPointerLock","toBeNull","SwipeDirection","SwipeDirection2","useSwipe","onSwipe","onSwipeEnd","onSwipeStart","coordsStart","coordsEnd","diffX","diffY","abs","isThresholdExceeded","isSwiping","NONE","LEFT","RIGHT","UP","DOWN","getTouchEventCoords","updateCoordsStart","updateCoordsEnd","isPassiveEventSupported","checkPassiveEventSupport","onTouchEnd","stops","s","lengthX","lengthY","supportsPassive","optionsBlock","usePointerSwipe","posStart","updatePosStart","posEnd","updatePosEnd","distanceX","distanceY","isPointerDown","eventIsAllowed","isReleasingButton","isPrimaryButton","setPointerCapture","usePreferredColorScheme","isLight","usePreferredContrast","isMore","isLess","isCustom","usePreferredLanguages","languages","usePreferredReducedMotion","isReduced","usePrevious","_","useScreenOrientation","screen","screenOrientation","angle","lockOrientation","unlockOrientation","topVarName","rightVarName","bottomVarName","leftVarName","useScreenSafeArea","topCssVar","rightCssVar","bottomCssVar","leftCssVar","useScriptTag","onLoaded","async","referrerPolicy","noModule","defer","attrs","scriptTag","loadScript","waitForScriptLoad","resolveWithElement","el2","shouldAppend","unload","removeChild","checkOverflowScroll","overflowX","overflowY","parent","parentNode","rawEvent","useScrollLock","isLocked","stopTouchMoveListener","initialOverflow","overflow","useSessionStorage","sessionStorage","__defProp$5","__getOwnPropSymbols$5","__hasOwnProp$5","__propIsEnum$5","__defNormalProp$5","__spreadValues$5","useShare","shareOptions","_navigator","share","overrideOptions","granted","canShare","defaultSortFn","compareFn","sort","defaultCompare","useSorted","dirty","sortFn","useSpeechRecognition","interimResults","continuous","lang","isListening","isFinal","SpeechRecognition","webkitSpeechRecognition","recognition","onstart","lang2","onresult","transcript","results","result2","join","onend","useSpeechSynthesis","pitch","synth","speechSynthesis","spokenText","bindEventsForUtterance","utterance2","voice","onpause","onresume","utterance","newUtterance","SpeechSynthesisUtterance","speak","useStepper","steps","initialStep","stepsRef","stepNames","at","isFirst","isLast","step","goTo","goToNext","goToPrevious","goBackTo","isAfter","isNext","isPrevious","isCurrent","isBefore","__defProp$4","__getOwnPropSymbols$4","__hasOwnProp$4","__propIsEnum$4","__defNormalProp$4","__spreadValues$4","useStorageAsync","_id","useStyleTag","css","isLoaded","cssRef","getElementById","textContent","useTemplateRefsList","useTextDirection","getAttribute","dir","attributes","removeAttribute","getRangesFromSelection","selection","rangeCount","range","getRangeAt","useTextSelection","rects","onSelectionChange","useTextareaAutosize","textarea","triggerResize","onResize","__defProp$3","__defProps","__getOwnPropDescs","__getOwnPropSymbols$3","__hasOwnProp$3","__propIsEnum$3","__defNormalProp$3","__spreadValues$3","__spreadProps","useThrottledRefHistory","trailing","__defProp$2","__getOwnPropSymbols$2","__hasOwnProp$2","__propIsEnum$2","__defNormalProp$2","__spreadValues$2","__objRest","DEFAULT_UNITS","DEFAULT_MESSAGES","justNow","past","future","month","year","day","week","hour","minute","second","invalid","DEFAULT_FORMATTER","slice","useTimeAgo","updateInterval","timeAgo","formatTimeAgo","messages","fullDateFormatter","units","showSecond","rounding","roundFn","toFixed","absDiff","diff2","unit","format","str","applyFormat","isPast","formatter","replace","unitMax","find","idx","useTimeoutPoll","timeoutPollOptions","__defProp$1","__getOwnPropSymbols$1","__hasOwnProp$1","__propIsEnum$1","__defNormalProp$1","__spreadValues$1","useTimestamp","ts","useTitle","newTitle","title","template","titleTemplate","childList","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","_TransitionPresets","easeInSine","easeOutSine","easeInOutSine","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","TransitionPresets","linear","createEasingFunction","p0","p1","p2","p3","a1","a2","c","calcBezier","getSlope","getTforX","aGuessT","currentSlope","currentX","useTransition","disabled","onStarted","transition","currentTransition","sourceValue","sourceVector","outputVector","currentDuration","diffVector","endAt","startAt","startVector","progress","targetVector","useUrlSearchParams","removeNullishValues","removeFalsyValues","enableWrite","getRawParams","constructQuery","params","stringified","URLSearchParams","updateState","unusedKeys","paramsForKey","getAll","mapEntry","append","shouldUpdate","replaceState","useUserMedia","autoSwitch","videoDeviceId","audioDeviceId","getDeviceOptions","deviceId","restart","useVModel","props","_e","defaultValue","_emit","$emit","bind","modelOptions","$options","model","cloneFn","useVModels","ret","useVibrate","pattern","patternRef","intervalControls","vibrate","pattern2","useVirtualList","containerStyle","wrapperProps","calculateRange","currentList","containerRef","useVerticalVirtualList","useHorizontalVirtualList","containerProps","useVirtualListResources","createGetViewCapacity","itemSize","containerSize","sum","createGetOffset","scrollDirection","floor","createCalculateRange","overscan","getOffset","getViewCapacity","viewCapacity","to","createGetDistance","size2","useWatchForSizes","createComputedTotalSize","scrollToDictionaryForElementScrollKey","createScrollTo","getDistance","resources","itemWidth","getDistanceLeft","offsetLeft","totalWidth","marginLeft","display","itemHeight","getDistanceTop","offsetTop","totalHeight","marginTop","useWakeLock","wakeLock","onVisibilityChange","request","released","useWebNotification","notification","requestPermission","Notification","permission","onClick","onShow","onClose","show","overrides","onclick","onshow","onclose","DEFAULT_PING_MESSAGE","resolveNestedOptions","useWebSocket","onMessage","autoClose","protocols","wsRef","urlRef","heartbeatPause","heartbeatResume","explicitlyClosed","retried","bufferedData","pongTimeoutWait","reason","_sendBuffer","buffer","send","resetHeartbeat","useBuffer","_init","ws","WebSocket","autoReconnect","retries","onFailed","heartbeat","pongTimeout","useWebWorker","arg0","workerOptions","worker","post2","terminate","terminate2","Worker","jobRunner","userFunc","userFuncArgs","depsParser","deps","depsString","dep","createWorkerBlobUrl","blobCode","useWebWorkerFn","dependencies","workerStatus","timeoutId","workerTerminate","_url","generateWorker","blobUrl","newWorker","callWorker","fnArgs","workerFn","useWindowFocus","hasFocus","useWindowScroll","scrollX","scrollY","useWindowSize","initialWidth","initialHeight","listenOrientation","includeScrollbar","asyncComputed"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@vueuse/core/index.mjs"],"sourcesContent":["import { noop, resolveUnref, isClient, isString, tryOnScopeDispose, isIOS, tryOnMounted, computedWithControl, promiseTimeout, isFunction, resolveRef, increaseWithUnit, useTimeoutFn, pausableWatch, createEventHook, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, createSingletonPromise, toRefs, containsProp, until, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, isObject, isNumber, useIntervalFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, identity, isDef } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, unref, watch, getCurrentInstance, customRef, onUpdated, reactive, nextTick, onMounted, markRaw, readonly, getCurrentScope, isVue2, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = false,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nconst createUnrefFn = (fn) => {\n return function(...args) {\n return fn.apply(this, args.map((i) => unref(i)));\n };\n};\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = resolveUnref(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (isString(args[0]) || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(() => [unrefElement(target), resolveUnref(options)], ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n cleanups.push(...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, options2));\n }));\n }, { immediate: true, flush: \"post\" });\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n if (el)\n shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nvar __defProp$n = Object.defineProperty;\nvar __defProps$9 = Object.defineProperties;\nvar __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$p = Object.getOwnPropertySymbols;\nvar __hasOwnProp$p = Object.prototype.hasOwnProperty;\nvar __propIsEnum$p = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$n = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$p.call(b, prop))\n __defNormalProp$n(a, prop, b[prop]);\n if (__getOwnPropSymbols$p)\n for (var prop of __getOwnPropSymbols$p(b)) {\n if (__propIsEnum$p.call(b, prop))\n __defNormalProp$n(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));\nconst createKeyPredicate = (keyFilter) => {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n};\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const { target = defaultWindow, eventName = \"keydown\", passive = false } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: \"keydown\" }));\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: \"keypress\" }));\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: \"keyup\" }));\n}\n\nconst DEFAULT_DELAY = 500;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n timeout = setTimeout(() => handler(ev), (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY);\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions);\n useEventListener(elementRef, \"pointerup\", clear, listenerOptions);\n useEventListener(elementRef, \"pointerleave\", clear, listenerOptions);\n}\n\nconst isFocusedElementEditable = () => {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n};\nconst isTypedCharValid = ({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) => {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n return false;\n};\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const { window = defaultWindow } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const activeElement = computedWithControl(() => null, () => document == null ? void 0 : document.activeElement);\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n activeElement.trigger();\n }, true);\n useEventListener(window, \"focus\", activeElement.trigger, true);\n }\n return activeElement;\n}\n\nfunction useAsyncQueue(tasks, options = {}) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop\n } = options;\n const promiseState = {\n pending: \"pending\",\n rejected: \"rejected\",\n fulfilled: \"fulfilled\"\n };\n const initialResult = Array.from(new Array(tasks.length), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n return curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n }).catch((e) => {\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = ref(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw error;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n return {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = resolveUnref(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || isFunction(target))\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useSupported(callback, sync = false) {\n const isSupported = ref();\n const update = () => isSupported.value = Boolean(callback());\n update();\n tryOnMounted(update, sync);\n return isSupported;\n}\n\nfunction useBattery({ navigator = defaultNavigator } = {}) {\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator);\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n for (const event of events)\n useEventListener(battery, event, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n device,\n requestDevice,\n server,\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", update);\n else\n mediaQuery.removeListener(update);\n };\n const update = () => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(resolveRef(query).value);\n matches.value = mediaQuery.matches;\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", update);\n else\n mediaQuery.addListener(update);\n };\n watchEffect(update);\n tryOnScopeDispose(() => cleanup());\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetify = {\n xs: 600,\n sm: 960,\n md: 1264,\n lg: 1904\n};\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 600,\n sm: 1024,\n md: 1440,\n lg: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\n\nvar __defProp$m = Object.defineProperty;\nvar __getOwnPropSymbols$o = Object.getOwnPropertySymbols;\nvar __hasOwnProp$o = Object.prototype.hasOwnProperty;\nvar __propIsEnum$o = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$m = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$o.call(b, prop))\n __defNormalProp$m(a, prop, b[prop]);\n if (__getOwnPropSymbols$o)\n for (var prop of __getOwnPropSymbols$o(b)) {\n if (__propIsEnum$o.call(b, prop))\n __defNormalProp$m(a, prop, b[prop]);\n }\n return a;\n};\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = breakpoints[k];\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(`(min-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => greaterOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n return __spreadValues$m({\n greater(k) {\n return useMediaQuery(`(min-width: ${getValue(k, 0.1)})`, options);\n },\n greaterOrEqual,\n smaller(k) {\n return useMediaQuery(`(max-width: ${getValue(k, -0.1)})`, options);\n },\n smallerOrEqual(k) {\n return useMediaQuery(`(max-width: ${getValue(k)})`, options);\n },\n between(a, b) {\n return useMediaQuery(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n }\n }, shortcutMethods);\n}\n\nconst useBroadcastChannel = (options) => {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = ref(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n};\n\nfunction useBrowserLocation({ window = defaultWindow } = {}) {\n const buildState = (trigger) => {\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { hash, host, hostname, href, origin, pathname, port, protocol, search } = (window == null ? void 0 : window.location) || {};\n return {\n trigger,\n state: state2,\n length,\n hash,\n host,\n hostname,\n href,\n origin,\n pathname,\n port,\n protocol,\n search\n };\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const events = [\"copy\", \"cut\"];\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read) {\n for (const event of events)\n useEventListener(event, updateText);\n }\n async function copy(value = resolveUnref(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value)\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nvar __defProp$l = Object.defineProperty;\nvar __defProps$8 = Object.defineProperties;\nvar __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$n = Object.getOwnPropertySymbols;\nvar __hasOwnProp$n = Object.prototype.hasOwnProperty;\nvar __propIsEnum$n = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$l = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$n.call(b, prop))\n __defNormalProp$l(a, prop, b[prop]);\n if (__getOwnPropSymbols$n)\n for (var prop of __getOwnPropSymbols$n(b)) {\n if (__propIsEnum$n.call(b, prop))\n __defNormalProp$l(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(unref(source));\n }\n if (!manual && isRef(source)) {\n watch(source, sync, __spreadProps$8(__spreadValues$l({}, options), {\n deep,\n immediate\n }));\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\n_global[globalKey] = _global[globalKey] || {};\nconst handlers = _global[globalKey];\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nvar __defProp$k = Object.defineProperty;\nvar __getOwnPropSymbols$m = Object.getOwnPropertySymbols;\nvar __hasOwnProp$m = Object.prototype.hasOwnProperty;\nvar __propIsEnum$m = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$k = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$m.call(b, prop))\n __defNormalProp$k(a, prop, b[prop]);\n if (__getOwnPropSymbols$m)\n for (var prop of __getOwnPropSymbols$m(b)) {\n if (__propIsEnum$m.call(b, prop))\n __defNormalProp$k(a, prop, b[prop]);\n }\n return a;\n};\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const data = (shallow ? shallowRef : ref)(defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = resolveUnref(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(data, () => write(data.value), { flush, deep, eventFilter });\n if (window && listenToStorageChanges) {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n }\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit !== null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (isFunction(mergeDefaults))\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return __spreadValues$k(__spreadValues$k({}, rawInit), value);\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nvar __defProp$j = Object.defineProperty;\nvar __getOwnPropSymbols$l = Object.getOwnPropertySymbols;\nvar __hasOwnProp$l = Object.prototype.hasOwnProperty;\nvar __propIsEnum$l = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$j = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$l.call(b, prop))\n __defNormalProp$j(a, prop, b[prop]);\n if (__getOwnPropSymbols$l)\n for (var prop of __getOwnPropSymbols$l(b)) {\n if (__propIsEnum$l.call(b, prop))\n __defNormalProp$j(a, prop, b[prop]);\n }\n return a;\n};\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto\n } = options;\n const modes = __spreadValues$j({\n auto: \"\",\n light: \"light\",\n dark: \"dark\"\n }, options.modes || {});\n const preferredDark = usePreferredDark({ window });\n const preferredMode = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? ref(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed({\n get() {\n return store.value === \"auto\" && !emitAuto ? preferredMode.value : store.value;\n },\n set(v) {\n store.value = v;\n }\n });\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector2, attribute2, value) => {\n const el = window == null ? void 0 : window.document.querySelector(selector2);\n if (!el)\n return;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n });\n function defaultOnChanged(mode) {\n var _a;\n const resolvedMode = mode === \"auto\" ? preferredMode.value : mode;\n updateHTMLAttrs(selector, attribute, (_a = modes[resolvedMode]) != null ? _a : resolvedMode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n if (emitAuto)\n watch(preferredMode, () => onChanged(state.value), { flush: \"post\" });\n tryOnMounted(() => onChanged(state.value));\n return state;\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useCssVar(prop, target, { window = defaultWindow, initialValue = \"\" } = {}) {\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n watch([elRef, () => resolveUnref(prop)], ([el, prop2]) => {\n var _a;\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(prop2)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }, { immediate: true });\n watch(variable, (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(resolveUnref(prop), val);\n });\n return variable;\n}\n\nfunction useCurrentElement() {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(() => null, () => vm.proxy.$el);\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n var _a;\n const state = shallowRef((_a = options == null ? void 0 : options.initialValue) != null ? _a : list[0]);\n const index = computed({\n get() {\n var _a2;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, list) : list.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a2 = options == null ? void 0 : options.fallbackIndex) != null ? _a2 : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const length = list.length;\n const index2 = (i % length + length) % length;\n const value = list[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n return {\n state,\n index,\n next,\n prev\n };\n}\n\nvar __defProp$i = Object.defineProperty;\nvar __defProps$7 = Object.defineProperties;\nvar __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$k = Object.getOwnPropertySymbols;\nvar __hasOwnProp$k = Object.prototype.hasOwnProperty;\nvar __propIsEnum$k = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$i = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$k.call(b, prop))\n __defNormalProp$i(a, prop, b[prop]);\n if (__getOwnPropSymbols$k)\n for (var prop of __getOwnPropSymbols$k(b)) {\n if (__propIsEnum$k.call(b, prop))\n __defNormalProp$i(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode(__spreadProps$7(__spreadValues$i({}, options), {\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\");\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n }));\n const preferredDark = usePreferredDark({ window });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n if (v === preferredDark.value)\n mode.value = \"auto\";\n else\n mode.value = v ? \"dark\" : \"light\";\n }\n });\n return isDark;\n}\n\nconst fnBypass = (v) => v;\nconst fnSetSource = (source, value) => source.value = value;\nfunction defaultDump(clone) {\n return clone ? isFunction(clone) ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? isFunction(clone) ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Infinity);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nvar __defProp$h = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$j = Object.getOwnPropertySymbols;\nvar __hasOwnProp$j = Object.prototype.hasOwnProperty;\nvar __propIsEnum$j = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$h = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$j.call(b, prop))\n __defNormalProp$h(a, prop, b[prop]);\n if (__getOwnPropSymbols$j)\n for (var prop of __getOwnPropSymbols$j(b)) {\n if (__propIsEnum$j.call(b, prop))\n __defNormalProp$h(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(source, commit, { deep, flush, eventFilter: composedFilter });\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, __spreadProps$6(__spreadValues$h({}, options), { clone: options.clone || deep, setSource }));\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return __spreadProps$6(__spreadValues$h({}, manualHistory), {\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n });\n}\n\nvar __defProp$g = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$i = Object.getOwnPropertySymbols;\nvar __hasOwnProp$i = Object.prototype.hasOwnProperty;\nvar __propIsEnum$i = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$g = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$i.call(b, prop))\n __defNormalProp$g(a, prop, b[prop]);\n if (__getOwnPropSymbols$i)\n for (var prop of __getOwnPropSymbols$i(b)) {\n if (__propIsEnum$i.call(b, prop))\n __defNormalProp$g(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, __spreadProps$5(__spreadValues$g({}, options), { eventFilter: filter }));\n return __spreadValues$g({}, history);\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(eventFilter, (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n });\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio({\n window = defaultWindow\n} = {}) {\n const pixelRatio = ref(1);\n if (window) {\n let observe = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe, { once: true });\n }, cleanup = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe);\n };\n let media;\n observe();\n tryOnScopeDispose(cleanup);\n }\n return { pixelRatio };\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n const stream = await navigator.mediaDevices.getUserMedia(constraints);\n stream.getTracks().forEach((t) => t.stop());\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(enabled, (v) => {\n if (v)\n _start();\n else\n _stop();\n }, { immediate: true });\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility({ document = defaultDocument } = {}) {\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nvar __defProp$f = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$h = Object.getOwnPropertySymbols;\nvar __hasOwnProp$h = Object.prototype.hasOwnProperty;\nvar __propIsEnum$h = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$f = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$h.call(b, prop))\n __defNormalProp$f(a, prop, b[prop]);\n if (__getOwnPropSymbols$h)\n for (var prop of __getOwnPropSymbols$h(b)) {\n if (__propIsEnum$h.call(b, prop))\n __defNormalProp$f(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nfunction useDraggable(target, options = {}) {\n var _a, _b, _c;\n const draggingElement = (_a = options.draggingElement) != null ? _a : defaultWindow;\n const draggingHandle = (_b = options.handle) != null ? _b : target;\n const position = ref((_c = resolveUnref(options.initialValue)) != null ? _c : { x: 0, y: 0 });\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (options.pointerTypes)\n return options.pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (resolveUnref(options.preventDefault))\n e.preventDefault();\n if (resolveUnref(options.stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (resolveUnref(options.exact) && e.target !== resolveUnref(target))\n return;\n const rect = resolveUnref(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - rect.left,\n y: e.clientY - rect.top\n };\n if (((_a2 = options.onStart) == null ? void 0 : _a2.call(options, pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n position.value = {\n x: e.clientX - pressedDelta.value.x,\n y: e.clientY - pressedDelta.value.y\n };\n (_a2 = options.onMove) == null ? void 0 : _a2.call(options, position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n (_a2 = options.onEnd) == null ? void 0 : _a2.call(options, position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n useEventListener(draggingHandle, \"pointerdown\", start, true);\n useEventListener(draggingElement, \"pointermove\", move, true);\n useEventListener(draggingElement, \"pointerup\", end, true);\n }\n return __spreadProps$4(__spreadValues$f({}, toRefs(position)), {\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(() => `left:${position.value.x}px;top:${position.value.y}px;`)\n });\n}\n\nfunction useDropZone(target, onDrop) {\n const isOverDropZone = ref(false);\n let counter = 0;\n if (isClient) {\n useEventListener(target, \"dragenter\", (event) => {\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n });\n useEventListener(target, \"dragover\", (event) => {\n event.preventDefault();\n });\n useEventListener(target, \"dragleave\", (event) => {\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n });\n useEventListener(target, \"drop\", (event) => {\n var _a, _b;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n const files = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n onDrop == null ? void 0 : onDrop(files.length === 0 ? null : files);\n });\n }\n return {\n isOverDropZone\n };\n}\n\nvar __getOwnPropSymbols$g = Object.getOwnPropertySymbols;\nvar __hasOwnProp$g = Object.prototype.hasOwnProperty;\nvar __propIsEnum$g = Object.prototype.propertyIsEnumerable;\nvar __objRest$2 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$g)\n for (var prop of __getOwnPropSymbols$g(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$g.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useResizeObserver(target, callback, options = {}) {\n const _a = options, { window = defaultWindow } = _a, observerOptions = __objRest$2(_a, [\"window\"]);\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(() => unrefElement(target), (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new ResizeObserver(callback);\n observer.observe(el, observerOptions);\n }\n }, { immediate: true, flush: \"post\" });\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n const delta = timestamp - previousFrameTimestamp;\n fn({ delta, timestamp });\n previousFrameTimestamp = timestamp;\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nvar __defProp$e = Object.defineProperty;\nvar __getOwnPropSymbols$f = Object.getOwnPropertySymbols;\nvar __hasOwnProp$f = Object.prototype.hasOwnProperty;\nvar __propIsEnum$f = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$e = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$f.call(b, prop))\n __defNormalProp$e(a, prop, b[prop]);\n if (__getOwnPropSymbols$f)\n for (var prop of __getOwnPropSymbols$f(b)) {\n if (__propIsEnum$f.call(b, prop))\n __defNormalProp$e(a, prop, b[prop]);\n }\n return a;\n};\nfunction useElementByPoint(options) {\n const element = ref(null);\n const { x, y, document = defaultDocument } = options;\n const controls = useRafFn(() => {\n element.value = (document == null ? void 0 : document.elementFromPoint(resolveUnref(x), resolveUnref(y))) || null;\n });\n return __spreadValues$e({\n element\n }, controls);\n}\n\nfunction useElementHover(el, options = {}) {\n const delayEnter = options ? options.delayEnter : 0;\n const delayLeave = options ? options.delayLeave : 0;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n useResizeObserver(target, ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = parseFloat(styles.width);\n height.value = parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n }, options);\n watch(() => unrefElement(target), (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n });\n return {\n width,\n height\n };\n}\n\nfunction useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {\n const elementIsVisible = ref(false);\n const testBounding = () => {\n if (!window)\n return;\n const document = window.document;\n const el = unrefElement(element);\n if (!el) {\n elementIsVisible.value = false;\n } else {\n const rect = el.getBoundingClientRect();\n elementIsVisible.value = rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0;\n }\n };\n watch(() => unrefElement(element), () => testBounding(), { immediate: true, flush: \"post\" });\n if (window) {\n useEventListener(scrollTarget || window, \"scroll\", testBounding, {\n capture: false,\n passive: true\n });\n }\n return elementIsVisible;\n}\n\nconst events = new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || [];\n listeners.push(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n const index = listeners.indexOf(listener);\n if (index > -1)\n listeners.splice(index, 1);\n if (!listeners.length)\n events.delete(key);\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = ref(null);\n const {\n withCredentials = false\n } = options;\n const close = () => {\n if (eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n }\n };\n const es = new EventSource(url, { withCredentials });\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n eventSource,\n event,\n data,\n status,\n error,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = resolveRef(newIcon);\n const applyIcon = (icon) => {\n document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`).forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(favicon, (i, o) => {\n if (isString(i) && i !== o)\n applyIcon(i);\n }, { immediate: true });\n return favicon;\n}\n\nvar __defProp$d = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$e = Object.getOwnPropertySymbols;\nvar __hasOwnProp$e = Object.prototype.hasOwnProperty;\nvar __propIsEnum$e = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$d = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$e.call(b, prop))\n __defNormalProp$d(a, prop, b[prop]);\n if (__getOwnPropSymbols$e)\n for (var prop of __getOwnPropSymbols$e(b)) {\n if (__propIsEnum$e.call(b, prop))\n __defNormalProp$d(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries([...headers.entries()]);\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback !== void 0)\n await callback(ctx);\n return ctx;\n };\n } else {\n return async (ctx) => {\n await callbacks.reduce((prevCallback, callback) => prevCallback.then(async () => {\n if (callback)\n ctx = __spreadValues$d(__spreadValues$d({}, ctx), await callback(ctx));\n }), Promise.resolve());\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = resolveUnref(config.baseUrl);\n const targetUrl = resolveUnref(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[0]), {\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n });\n } else {\n fetchOptions = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, fetchOptions), args[0]), {\n headers: __spreadValues$d(__spreadValues$d({}, headersToObject(fetchOptions.headers) || {}), headersToObject(args[0].headers) || {})\n });\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[1]), {\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n });\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = { immediate: true, refetch: false, timeout: 0 };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = __spreadValues$d(__spreadValues$d({}, options), args[0]);\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = __spreadValues$d(__spreadValues$d({}, options), args[1]);\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort && controller) {\n controller.abort();\n controller = void 0;\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n const execute = async (throwOnFailed = false) => {\n var _a2;\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n if (supportsAbort) {\n abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = __spreadProps$3(__spreadValues$d({}, fetchOptions), {\n signal: controller.signal\n });\n }\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n const payload = resolveUnref(config.payload);\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: resolveUnref(url),\n options: __spreadValues$d(__spreadValues$d({}, defaultFetchOptions), fetchOptions),\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return new Promise((resolve, reject) => {\n var _a3;\n fetch(context.url, __spreadProps$3(__spreadValues$d(__spreadValues$d({}, defaultFetchOptions), context.options), {\n headers: __spreadValues$d(__spreadValues$d({}, headersToObject(defaultFetchOptions.headers)), headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers))\n })).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse[config.type]();\n if (options.afterFetch && statusCode.value >= 200 && statusCode.value < 300)\n ({ data: responseData } = await options.afterFetch({ data: responseData, response: fetchResponse }));\n data.value = responseData;\n if (!fetchResponse.ok)\n throw new Error(fetchResponse.statusText);\n responseEvent.trigger(fetchResponse);\n return resolve(fetchResponse);\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError)\n ({ data: responseData, error: errorData } = await options.onFetchError({ data: responseData, error: fetchError, response: response.value }));\n data.value = responseData;\n error.value = errorData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n return reject(fetchError);\n return resolve(null);\n }).finally(() => {\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n });\n };\n const refetch = resolveRef(options.refetch);\n watch([\n refetch,\n resolveRef(url)\n ], ([refetch2]) => refetch2 && execute(), { deep: true });\n const shell = {\n isFinished,\n statusCode,\n response,\n error,\n data,\n isFetching,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch([\n refetch,\n resolveRef(config.payload)\n ], ([refetch2]) => refetch2 && execute(), { deep: true });\n }\n const rawPayload = resolveUnref(config.payload);\n if (!payloadType && rawPayload && Object.getPrototypeOf(rawPayload) === Object.prototype && !(rawPayload instanceof FormData))\n config.payloadType = \"json\";\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n }\n return void 0;\n };\n }\n if (options.immediate)\n setTimeout(execute, 0);\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nvar __defProp$c = Object.defineProperty;\nvar __getOwnPropSymbols$d = Object.getOwnPropertySymbols;\nvar __hasOwnProp$d = Object.prototype.hasOwnProperty;\nvar __propIsEnum$d = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$c = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$d.call(b, prop))\n __defNormalProp$c(a, prop, b[prop]);\n if (__getOwnPropSymbols$d)\n for (var prop of __getOwnPropSymbols$d(b)) {\n if (__propIsEnum$d.call(b, prop))\n __defNormalProp$c(a, prop, b[prop]);\n }\n return a;\n};\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\"\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n };\n }\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = __spreadValues$c(__spreadValues$c(__spreadValues$c({}, DEFAULT_OPTIONS), options), localOptions);\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n input.click();\n };\n const reset = () => {\n files.value = null;\n if (input)\n input.value = \"\";\n };\n return {\n files: readonly(files),\n open,\n reset\n };\n}\n\nvar __defProp$b = Object.defineProperty;\nvar __getOwnPropSymbols$c = Object.getOwnPropertySymbols;\nvar __hasOwnProp$c = Object.prototype.hasOwnProperty;\nvar __propIsEnum$c = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$b = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$c.call(b, prop))\n __defNormalProp$b(a, prop, b[prop]);\n if (__getOwnPropSymbols$c)\n for (var prop of __getOwnPropSymbols$c(b)) {\n if (__propIsEnum$c.call(b, prop))\n __defNormalProp$b(a, prop, b[prop]);\n }\n return a;\n};\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = unref(options);\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n fileHandle.value = handle;\n await updateFile();\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n data.value = void 0;\n await updateFile();\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n if (unref(dataType) === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n if (unref(dataType) === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n if (unref(dataType) === \"Blob\")\n data.value = file.value;\n }\n watch(() => unref(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", () => innerFocused.value = true);\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(targetElement, () => {\n focused.value = initialValue;\n }, { immediate: true, flush: \"post\" });\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst functionsMap = [\n [\n \"requestFullscreen\",\n \"exitFullscreen\",\n \"fullscreenElement\",\n \"fullscreenEnabled\",\n \"fullscreenchange\",\n \"fullscreenerror\"\n ],\n [\n \"webkitRequestFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitFullscreenElement\",\n \"webkitFullscreenEnabled\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\"\n ],\n [\n \"webkitRequestFullScreen\",\n \"webkitCancelFullScreen\",\n \"webkitCurrentFullScreenElement\",\n \"webkitCancelFullScreen\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\"\n ],\n [\n \"mozRequestFullScreen\",\n \"mozCancelFullScreen\",\n \"mozFullScreenElement\",\n \"mozFullScreenEnabled\",\n \"mozfullscreenchange\",\n \"mozfullscreenerror\"\n ],\n [\n \"msRequestFullscreen\",\n \"msExitFullscreen\",\n \"msFullscreenElement\",\n \"msFullscreenEnabled\",\n \"MSFullscreenChange\",\n \"MSFullscreenError\"\n ]\n];\nfunction useFullscreen(target, options = {}) {\n const { document = defaultDocument, autoExit = false } = options;\n const targetRef = target || (document == null ? void 0 : document.querySelector(\"html\"));\n const isFullscreen = ref(false);\n let map = functionsMap[0];\n const isSupported = useSupported(() => {\n if (!document) {\n return false;\n } else {\n for (const m of functionsMap) {\n if (m[1] in document) {\n map = m;\n return true;\n }\n }\n }\n return false;\n });\n const [REQUEST, EXIT, ELEMENT, , EVENT] = map;\n async function exit() {\n if (!isSupported.value)\n return;\n if (document == null ? void 0 : document[ELEMENT])\n await document[EXIT]();\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value)\n return;\n await exit();\n const target2 = unrefElement(targetRef);\n if (target2) {\n await target2[REQUEST]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n if (isFullscreen.value)\n await exit();\n else\n await enter();\n }\n if (document) {\n useEventListener(document, EVENT, () => {\n isFullscreen.value = !!(document == null ? void 0 : document[ELEMENT]);\n }, false);\n }\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n hapticActuators,\n index: gamepad.index,\n mapping: gamepad.mapping,\n connected: gamepad.connected,\n timestamp: gamepad.timestamp,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) {\n const index = gamepads.value.findIndex(({ index: index2 }) => index2 === gamepad.index);\n if (index > -1)\n gamepads.value[index] = stateFromGamepad(gamepad);\n }\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n if (_gamepads) {\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad)\n onGamepadConnected(gamepad);\n }\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = ref(null);\n const coords = ref({\n accuracy: 0,\n latitude: Infinity,\n longitude: Infinity,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(updatePosition, (err) => error.value = err, {\n enableHighAccuracy,\n maximumAge,\n timeout\n });\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const onEvent = createFilterWrapper(eventFilter, () => {\n idle.value = false;\n lastActive.value = timestamp();\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n });\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n }\n timer = setTimeout(() => idle.value = true, timeout);\n return { idle, lastActive };\n}\n\nvar __defProp$a = Object.defineProperty;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$a = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$b.call(b, prop))\n __defNormalProp$a(a, prop, b[prop]);\n if (__getOwnPropSymbols$b)\n for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop))\n __defNormalProp$a(a, prop, b[prop]);\n }\n return a;\n};\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nconst useImage = (options, asyncStateOptions = {}) => {\n const state = useAsyncState(() => loadImage(resolveUnref(options)), void 0, __spreadValues$a({\n resetOnExecute: true\n }, asyncStateOptions));\n watch(() => resolveUnref(options), () => state.execute(asyncStateOptions.delay), { deep: true });\n return state;\n};\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\"\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n const _element = resolveUnref(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = resolveUnref(_y)) != null ? _a : y.value,\n left: (_b = resolveUnref(_x)) != null ? _b : x.value,\n behavior: resolveUnref(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const onScrollHandler = (e) => {\n const eventTarget = e.target === document ? e.target.documentElement : e.target;\n const scrollLeft = eventTarget.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalY.value;\n arrivedState.left = scrollLeft <= 0 + (offset.left || 0);\n arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n internalX.value = scrollLeft;\n let scrollTop = eventTarget.scrollTop;\n if (e.target === document && !scrollTop)\n scrollTop = document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n arrivedState.top = scrollTop <= 0 + (offset.top || 0);\n arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n internalY.value = scrollTop;\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(element, \"scroll\", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);\n useEventListener(element, \"scrollend\", onScrollEnd, eventListenerOptions);\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions\n };\n}\n\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$a.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$a)\n for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a, _b;\n const direction = (_a = options.direction) != null ? _a : \"bottom\";\n const state = reactive(useScroll(element, __spreadProps$2(__spreadValues$9({}, options), {\n offset: __spreadValues$9({\n [direction]: (_b = options.distance) != null ? _b : 0\n }, options.offset)\n })));\n watch(() => state.arrivedState[direction], async (v) => {\n var _a2, _b2;\n if (v) {\n const elem = resolveUnref(element);\n const previous = {\n height: (_a2 = elem == null ? void 0 : elem.scrollHeight) != null ? _a2 : 0,\n width: (_b2 = elem == null ? void 0 : elem.scrollWidth) != null ? _b2 : 0\n };\n await onLoadMore(state);\n if (options.preserveScrollPosition && elem) {\n nextTick(() => {\n elem.scrollTo({\n top: elem.scrollHeight - previous.height,\n left: elem.scrollWidth - previous.width\n });\n });\n }\n }\n });\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n let cleanup = noop;\n const stopWatch = isSupported.value ? watch(() => ({\n el: unrefElement(target),\n root: unrefElement(root)\n }), ({ el, root: root2 }) => {\n cleanup();\n if (!el)\n return;\n const observer = new IntersectionObserver(callback, {\n root: root2,\n rootMargin,\n threshold\n });\n observer.observe(el);\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n }, { immediate: true, flush: \"post\" }) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = new Set();\n const usedKeys = new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(refs, {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => unref(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? unref(r) : r;\n }\n });\n return proxy;\n}\n\nvar __defProp$8 = Object.defineProperty;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$9.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$9)\n for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nfunction usingElRef(source, cb) {\n if (resolveUnref(source))\n cb(resolveUnref(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = __spreadValues$8(__spreadValues$8({}, defaultOptions), options);\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = isNumber(track) ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = isNumber(track) ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = resolveUnref(target);\n if (!el)\n return;\n const src = resolveUnref(options.src);\n let sources = [];\n if (!src)\n return;\n if (isString(src))\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch(volume, (vol) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.volume = vol;\n });\n watch(muted, (mute) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.muted = mute;\n });\n watch(rate, (rate2) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.playbackRate = rate2;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = resolveUnref(options.tracks);\n const el = resolveUnref(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = resolveUnref(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = resolveUnref(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(resolveUnref(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, \"waiting\", () => waiting.value = true);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n });\n useEventListener(target, \"ratechange\", () => rate.value = resolveUnref(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = resolveUnref(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = resolveUnref(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n volume,\n muted,\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n onSourceError: sourceErrorEvent.on\n };\n}\n\nconst getMapVue2Compat = () => {\n const data = reactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n};\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return reactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return reactive(new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return isMounted;\n}\n\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n eventFilter\n } = options;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const mouseHandler = (event) => {\n if (type === \"page\") {\n x.value = event.pageX;\n y.value = event.pageY;\n } else if (type === \"client\") {\n x.value = event.clientX;\n y.value = event.clientY;\n } else if (type === \"movement\") {\n x.value = event.movementX;\n y.value = event.movementY;\n }\n sourceType.value = \"mouse\";\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const touch2 = event.touches[0];\n if (type === \"page\") {\n x.value = touch2.pageX;\n y.value = touch2.pageY;\n } else if (type === \"client\") {\n x.value = touch2.clientX;\n y.value = touch2.clientY;\n }\n sourceType.value = \"touch\";\n }\n };\n const mouseHandlerWrapper = (event) => {\n return eventFilter === void 0 ? mouseHandler(event) : eventFilter(() => mouseHandler(event), {});\n };\n const touchHandlerWrapper = (event) => {\n return eventFilter === void 0 ? touchHandler(event) : eventFilter(() => touchHandler(event), {});\n };\n if (window) {\n useEventListener(window, \"mousemove\", mouseHandlerWrapper, { passive: true });\n useEventListener(window, \"dragover\", mouseHandlerWrapper, { passive: true });\n if (touch && type !== \"movement\") {\n useEventListener(window, \"touchstart\", touchHandlerWrapper, { passive: true });\n useEventListener(window, \"touchmove\", touchHandlerWrapper, { passive: true });\n if (resetOnTouchEnds)\n useEventListener(window, \"touchend\", reset, { passive: true });\n }\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch([targetRef, x, y], () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + window.pageXOffset;\n elementPositionY.value = top + window.pageYOffset;\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n }, { immediate: true });\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true });\n useEventListener(window, \"mouseup\", onReleased, { passive: true });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true });\n useEventListener(window, \"drop\", onReleased, { passive: true });\n useEventListener(window, \"dragend\", onReleased, { passive: true });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true });\n useEventListener(window, \"touchend\", onReleased, { passive: true });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __objRest$1 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$8)\n for (var prop of __getOwnPropSymbols$8(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useMutationObserver(target, callback, options = {}) {\n const _a = options, { window = defaultWindow } = _a, mutationOptions = __objRest$1(_a, [\"window\"]);\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(() => unrefElement(target), (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n }, { immediate: true });\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nconst useNavigatorLanguage = (options = {}) => {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n};\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nvar __defProp$7 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$7)\n for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(new Date());\n const update = () => now.value = new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return __spreadValues$7({\n now\n }, controls);\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(() => unref(object), (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n }, { immediate: true });\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (isFunction(value) || isReadonly(value))\n return computed(() => clamp(resolveUnref(value), resolveUnref(min), resolveUnref(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, resolveUnref(min), resolveUnref(max));\n },\n set(value2) {\n _value.value = clamp(value2, resolveUnref(min), resolveUnref(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Infinity,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Infinity);\n const pageCount = computed(() => Math.max(1, Math.ceil(unref(total) / unref(currentPageSize))));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page))\n syncRef(page, currentPage);\n if (isRef(pageSize))\n syncRef(pageSize, currentPageSize);\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = -orientation.beta / 90;\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = orientation.gamma / 90;\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nvar __defProp$6 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$6)\n for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n useEventListener(target, \"pointerdown\", handler, { passive: true });\n useEventListener(target, \"pointermove\", handler, { passive: true });\n useEventListener(target, \"pointerleave\", () => isInside.value = false, { passive: true });\n }\n return __spreadProps$1(__spreadValues$6({}, toRefs(state)), {\n isInside\n });\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument, pointerLockOptions } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e, options2) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nvar SwipeDirection;\n(function(SwipeDirection2) {\n SwipeDirection2[\"UP\"] = \"UP\";\n SwipeDirection2[\"RIGHT\"] = \"RIGHT\";\n SwipeDirection2[\"DOWN\"] = \"DOWN\";\n SwipeDirection2[\"LEFT\"] = \"LEFT\";\n SwipeDirection2[\"NONE\"] = \"NONE\";\n})(SwipeDirection || (SwipeDirection = {}));\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return SwipeDirection.NONE;\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;\n } else {\n return diffY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, \"touchend\", onTouchEnd, listenerOptions),\n useEventListener(target, \"touchcancel\", onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = resolveRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return SwipeDirection.NONE;\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;\n } else {\n return distanceY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"initial\");\n })\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(resolveRef(value), (_, oldValue) => {\n previous.value = oldValue;\n }, { flush: \"sync\" });\n return readonly(previous);\n}\n\nconst useScreenOrientation = (options = {}) => {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (!isSupported.value)\n return Promise.reject(new Error(\"Not supported\"));\n return screenOrientation.lock(type);\n };\n const unlockOrientation = () => {\n if (isSupported.value)\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n};\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${resolveUnref(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = resolveUnref(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${resolveUnref(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientHeight < ele.scrollHeight || style.overflowY === \"auto\" && ele.clientWidth < ele.scrollWidth) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(resolveRef(element), (el) => {\n if (el) {\n const ele = el;\n initialOverflow = ele.style.overflow;\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const ele = resolveUnref(element);\n if (!ele || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(ele, \"touchmove\", (e) => {\n preventDefault(e);\n }, { passive: false });\n }\n ele.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const ele = resolveUnref(element);\n if (!ele || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n ele.style.overflow = initialOverflow;\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$5)\n for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = __spreadValues$5(__spreadValues$5({}, resolveUnref(shareOptions)), resolveUnref(overrideOptions));\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...unref(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(unref(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = resolveRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = unref(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = unref(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = resolveRef(text || \"\");\n const lang = resolveRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = unref(lang);\n utterance2.voice = unref(options.voice) || null;\n utterance2.pitch = pitch;\n utterance2.rate = rate;\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nvar __defProp$4 = Object.defineProperty;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = resolveUnref(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (isFunction(mergeDefaults))\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = __spreadValues$4(__spreadValues$4({}, rawInit), value);\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => setTimeout(() => read(e), 0));\n if (storage) {\n watchWithFilter(data, async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n }, {\n flush,\n deep,\n eventFilter\n });\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.type = \"text/css\";\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(cssRef, (value) => {\n el.textContent = value;\n }, { immediate: true });\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(document.querySelector(selector), () => dir.value = getValue(), { attributes: true });\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n const ranges = new Array(rangeCount);\n for (let i = 0; i < rangeCount; i++) {\n const range = selection.getRangeAt(i);\n ranges[i] = range;\n }\n return ranges;\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n function triggerResize() {\n var _a, _b;\n if (!textarea.value)\n return;\n textarea.value.style.height = \"1px\";\n textarea.value.style.height = `${(_a = textarea.value) == null ? void 0 : _a.scrollHeight}px`;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], triggerResize, { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nvar __defProp$3 = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, __spreadProps(__spreadValues$3({}, options), { eventFilter: filter }));\n return __spreadValues$3({}, history);\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Infinity, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nconst DEFAULT_FORMATTER = (date) => date.toISOString().slice(0, 10);\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const _a = useNow({ interval: updateInterval, controls: true }), { now } = _a, controls = __objRest(_a, [\"now\"]);\n const timeAgo = computed(() => formatTimeAgo(new Date(resolveUnref(time)), options, unref(now.value)));\n if (exposeControls) {\n return __spreadValues$2({\n timeAgo\n }, controls);\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval);\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return __spreadValues$1({\n timestamp: ts\n }, controls);\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b;\n const {\n document = defaultDocument\n } = options;\n const title = resolveRef((_a = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _a : null);\n const isReadonly = newTitle && isFunction(newTitle);\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return isFunction(template) ? template(t) : unref(template).replace(/%s/g, t);\n }\n watch(title, (t, o) => {\n if (t !== o && document)\n document.title = format(isString(t) ? t : \"\");\n }, { immediate: true });\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver((_b = document.head) == null ? void 0 : _b.querySelector(\"title\"), () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n }, { childList: true });\n }\n return title;\n}\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = __spreadValues({\n linear: identity\n}, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction useTransition(source, options = {}) {\n const {\n delay = 0,\n disabled = false,\n duration = 1e3,\n onFinished = noop,\n onStarted = noop,\n transition = identity\n } = options;\n const currentTransition = computed(() => {\n const t = unref(transition);\n return isFunction(t) ? t : createEasingFunction(t);\n });\n const sourceValue = computed(() => {\n const s = unref(source);\n return isNumber(s) ? s : s.map(unref);\n });\n const sourceVector = computed(() => isNumber(sourceValue.value) ? [sourceValue.value] : sourceValue.value);\n const outputVector = ref(sourceVector.value.slice(0));\n let currentDuration;\n let diffVector;\n let endAt;\n let startAt;\n let startVector;\n const { resume, pause } = useRafFn(() => {\n const now = Date.now();\n const progress = clamp(1 - (endAt - now) / currentDuration, 0, 1);\n outputVector.value = startVector.map((val, i) => {\n var _a;\n return val + ((_a = diffVector[i]) != null ? _a : 0) * currentTransition.value(progress);\n });\n if (progress >= 1) {\n pause();\n onFinished();\n }\n }, { immediate: false });\n const start = () => {\n pause();\n currentDuration = unref(duration);\n diffVector = outputVector.value.map((n, i) => {\n var _a, _b;\n return ((_a = sourceVector.value[i]) != null ? _a : 0) - ((_b = outputVector.value[i]) != null ? _b : 0);\n });\n startVector = outputVector.value.slice(0);\n startAt = Date.now();\n endAt = startAt + currentDuration;\n resume();\n onStarted();\n };\n const timeout = useTimeoutFn(start, delay, { immediate: false });\n watch(sourceVector, () => {\n if (unref(disabled))\n return;\n if (unref(delay) <= 0)\n start();\n else\n timeout.start();\n }, { deep: true });\n watch(() => unref(disabled), (v) => {\n if (v) {\n outputVector.value = sourceVector.value.slice(0);\n pause();\n }\n });\n return computed(() => {\n const targetVector = unref(disabled) ? sourceVector : outputVector;\n return isNumber(sourceValue.value) ? targetVector.value[0] : targetVector.value;\n });\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(state, () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n }, { deep: true });\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(window.history.state, window.document.title, window.location.pathname + constructQuery(params));\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const videoDeviceId = ref(options.videoDeviceId);\n const audioDeviceId = ref(options.audioDeviceId);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(device) {\n if (device.value === \"none\" || device.value === false)\n return false;\n if (device.value == null)\n return true;\n return {\n deviceId: device.value\n };\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(videoDeviceId),\n audio: getDeviceOptions(audioDeviceId)\n });\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(enabled, (v) => {\n if (v)\n _start();\n else\n _stop();\n }, { immediate: true });\n watch([videoDeviceId, audioDeviceId], () => {\n if (autoSwitch.value && stream.value)\n restart();\n }, { immediate: true });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n videoDeviceId,\n audioDeviceId,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = eventName || event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : isFunction(clone) ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n watch(() => props[key], (v) => proxy.value = cloneFn(v));\n watch(proxy, (v) => {\n if (v !== props[key] || deep)\n _emit(event, v);\n }, { deep });\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n _emit(event, value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props)\n ret[key] = useVModel(props, key, emit, options);\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = resolveRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(vibrate, interval, {\n immediate: false,\n immediateCallback: false\n });\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nconst useWakeLock = (options = {}) => {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n};\n\nconst useWebNotification = (defaultOptions = {}) => {\n const {\n window = defaultWindow\n } = defaultOptions;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const notification = ref(null);\n const requestPermission = async () => {\n if (!isSupported.value)\n return;\n if (\"permission\" in Notification && Notification.permission !== \"denied\")\n await Notification.requestPermission();\n };\n const onClick = createEventHook();\n const onShow = createEventHook();\n const onError = createEventHook();\n const onClose = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value)\n return;\n await requestPermission();\n const options = Object.assign({}, defaultOptions, overrides);\n notification.value = new Notification(options.title || \"\", options);\n notification.value.onclick = (event) => onClick.trigger(event);\n notification.value.onshow = (event) => onShow.trigger(event);\n notification.value.onerror = (event) => onError.trigger(event);\n notification.value.onclose = (event) => onClose.trigger(event);\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n tryOnMounted(async () => {\n if (isSupported.value)\n await requestPermission();\n });\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n};\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = resolveRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const close = (code = 1e3, reason) => {\n if (!wsRef.value)\n return;\n explicitlyClosed = true;\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n };\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n wsRef.value = void 0;\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(() => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n }, pongTimeout);\n }, interval, { immediate: false });\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n useEventListener(window, \"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = function post2(val) {\n if (!worker.value)\n return;\n worker.value.postMessage(val);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (isString(arg0))\n worker.value = new Worker(arg0, workerOptions);\n else if (isFunction(arg0))\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nconst jobRunner = (userFunc) => (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n};\n\nconst depsParser = (deps) => {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n};\n\nconst createWorkerBlobUrl = (fn, deps) => {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n};\n\nconst useWebWorkerFn = (fn, options = {}) => {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(() => workerTerminate(\"TIMEOUT_EXPIRED\"), timeout);\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\"[useWebWorkerFn] You can only run one instance of the worker at a time.\");\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n};\n\nfunction useWindowFocus({ window = defaultWindow } = {}) {\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll({ window = defaultWindow } = {}) {\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const x = ref(window.scrollX);\n const y = ref(window.scrollY);\n useEventListener(window, \"scroll\", () => {\n x.value = window.scrollX;\n y.value = window.scrollY;\n }, {\n capture: false,\n passive: true\n });\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Infinity,\n initialHeight = Infinity,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation)\n useEventListener(\"orientationchange\", update, { passive: true });\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, SwipeDirection, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, cloneFnJSON, computedAsync, computedInject, createFetch, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ef2bbf00d27d9ed38c703defbd5d44afd5757a4368d15f051e7b5b3b51d43d8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ef2bbf00d27d9ed38c703defbd5d44afd5757a4368d15f051e7b5b3b51d43d8.json new file mode 100644 index 00000000..8a61ae54 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ef2bbf00d27d9ed38c703defbd5d44afd5757a4368d15f051e7b5b3b51d43d8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { tourContentProps } from './content.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { iconPropType } from '../../../utils/vue/icon.mjs';\nconst tourStepProps = buildProps({\n target: {\n type: definePropType([String, Object, Function])\n },\n title: String,\n description: String,\n showClose: {\n type: Boolean,\n default: void 0\n },\n closeIcon: {\n type: iconPropType\n },\n showArrow: {\n type: Boolean,\n default: void 0\n },\n placement: tourContentProps.placement,\n mask: {\n type: definePropType([Boolean, Object]),\n default: void 0\n },\n contentStyle: {\n type: definePropType([Object])\n },\n prevButtonProps: {\n type: definePropType(Object)\n },\n nextButtonProps: {\n type: definePropType(Object)\n },\n scrollIntoViewOptions: {\n type: definePropType([Boolean, Object]),\n default: void 0\n },\n type: {\n type: definePropType(String)\n }\n});\nconst tourStepEmits = {\n close: () => true\n};\nexport { tourStepEmits, tourStepProps };","map":{"version":3,"names":["tourStepProps","buildProps","target","type","definePropType","String","Object","Function","title","description","showClose","Boolean","default","closeIcon","iconPropType","showArrow","placement","tourContentProps","mask","contentStyle","prevButtonProps","nextButtonProps","scrollIntoViewOptions","tourStepEmits","close"],"sources":["../../../../../../packages/components/tour/src/step.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { tourContentProps } from './content'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TourBtnProps, TourMask } from './types'\n\nexport const tourStepProps = buildProps({\n /**\n * @description get the element the guide card points to. empty makes it show in center of screen\n */\n target: {\n type: definePropType<\n string | HTMLElement | (() => HTMLElement | null) | null\n >([String, Object, Function]),\n },\n /**\n * @description the title of the tour content\n */\n title: String,\n /**\n * @description description\n */\n description: String,\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description custom close icon, default is Close\n */\n closeIcon: {\n type: iconPropType,\n },\n /**\n * @description whether to show the arrow\n */\n showArrow: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description position of the guide card relative to the target element\n */\n placement: tourContentProps.placement,\n /**\n * @description whether to enable masking, change mask style and fill color by pass custom props\n */\n mask: {\n type: definePropType([Boolean, Object]),\n default: undefined,\n },\n /**\n * @description custom style for content\n */\n contentStyle: {\n type: definePropType([Object]),\n },\n /**\n * @description properties of the previous button\n */\n prevButtonProps: {\n type: definePropType(Object),\n },\n /**\n * @description properties of the Next button\n */\n nextButtonProps: {\n type: definePropType(Object),\n },\n /**\n * @description support pass custom scrollIntoView options\n */\n scrollIntoViewOptions: {\n type: definePropType([Boolean, Object]),\n default: undefined,\n },\n /**\n * @description type, affects the background color and text color\n */\n type: {\n type: definePropType<'default' | 'primary'>(String),\n },\n})\n\nexport type TourStepProps = ExtractPropTypes\n\nexport const tourStepEmits = {\n close: () => true,\n}\nexport type TourStepEmits = typeof tourStepEmits\n"],"mappings":";;;AAEY,MAACA,aAAa,GAAGC,UAAU,CAAC;EACtCC,MAAM,EAAE;IACNC,IAAI,EAAEC,cAAc,CAAC,CAACC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACnD,CAAG;EACDC,KAAK,EAAEH,MAAM;EACbI,WAAW,EAAEJ,MAAM;EACnBK,SAAS,EAAE;IACTP,IAAI,EAAEQ,OAAO;IACbC,OAAO,EAAE,KAAK;EAClB,CAAG;EACDC,SAAS,EAAE;IACTV,IAAI,EAAEW;EACV,CAAG;EACDC,SAAS,EAAE;IACTZ,IAAI,EAAEQ,OAAO;IACbC,OAAO,EAAE,KAAK;EAClB,CAAG;EACDI,SAAS,EAAEC,gBAAgB,CAACD,SAAS;EACrCE,IAAI,EAAE;IACJf,IAAI,EAAEC,cAAc,CAAC,CAACO,OAAO,EAAEL,MAAM,CAAC,CAAC;IACvCM,OAAO,EAAE,KAAK;EAClB,CAAG;EACDO,YAAY,EAAE;IACZhB,IAAI,EAAEC,cAAc,CAAC,CAACE,MAAM,CAAC;EACjC,CAAG;EACDc,eAAe,EAAE;IACfjB,IAAI,EAAEC,cAAc,CAACE,MAAM;EAC/B,CAAG;EACDe,eAAe,EAAE;IACflB,IAAI,EAAEC,cAAc,CAACE,MAAM;EAC/B,CAAG;EACDgB,qBAAqB,EAAE;IACrBnB,IAAI,EAAEC,cAAc,CAAC,CAACO,OAAO,EAAEL,MAAM,CAAC,CAAC;IACvCM,OAAO,EAAE,KAAK;EAClB,CAAG;EACDT,IAAI,EAAE;IACJA,IAAI,EAAEC,cAAc,CAACC,MAAM;EAC/B;AACA,CAAC;AACW,MAACkB,aAAa,GAAG;EAC3BC,KAAK,EAAEA,CAAA,KAAM;AACf","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0f774e195163c022b3019f67e3cef3e9dfc8605382e6e632695aba889f0e4583.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0f774e195163c022b3019f67e3cef3e9dfc8605382e6e632695aba889f0e4583.json new file mode 100644 index 00000000..b636d097 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0f774e195163c022b3019f67e3cef3e9dfc8605382e6e632695aba889f0e4583.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Radio from './src/radio2.mjs';\nimport RadioButton from './src/radio-button2.mjs';\nimport RadioGroup from './src/radio-group2.mjs';\nexport { radioEmits, radioProps, radioPropsBase } from './src/radio.mjs';\nexport { radioGroupEmits, radioGroupProps } from './src/radio-group.mjs';\nexport { radioButtonProps } from './src/radio-button.mjs';\nexport { radioGroupKey } from './src/constants.mjs';\nimport { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';\nconst ElRadio = withInstall(Radio, {\n RadioButton,\n RadioGroup\n});\nconst ElRadioGroup = withNoopInstall(RadioGroup);\nconst ElRadioButton = withNoopInstall(RadioButton);\nexport { ElRadio, ElRadioButton, ElRadioGroup, ElRadio as default };","map":{"version":3,"names":["ElRadio","withInstall","Radio","RadioButton","RadioGroup","ElRadioGroup","withNoopInstall","ElRadioButton"],"sources":["../../../../../packages/components/radio/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Radio from './src/radio.vue'\nimport RadioButton from './src/radio-button.vue'\nimport RadioGroup from './src/radio-group.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElRadio: SFCWithInstall & {\n RadioButton: typeof RadioButton\n RadioGroup: typeof RadioGroup\n} = withInstall(Radio, {\n RadioButton,\n RadioGroup,\n})\nexport default ElRadio\nexport const ElRadioGroup: SFCWithInstall =\n withNoopInstall(RadioGroup)\nexport const ElRadioButton: SFCWithInstall =\n withNoopInstall(RadioButton)\n\nexport * from './src/radio'\nexport * from './src/radio-group'\nexport * from './src/radio-button'\nexport * from './src/constants'\n"],"mappings":";;;;;;;;AAIY,MAACA,OAAO,GAAGC,WAAW,CAACC,KAAK,EAAE;EACxCC,WAAW;EACXC;AACF,CAAC;AAEW,MAACC,YAAY,GAAGC,eAAe,CAACF,UAAU;AAC1C,MAACG,aAAa,GAAGD,eAAe,CAACH,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0f889a192d406a6df6ccdc6d46db1be88be5e3cd28d2b4281046c041823d9179.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0f889a192d406a6df6ccdc6d46db1be88be5e3cd28d2b4281046c041823d9179.json new file mode 100644 index 00000000..946405ed --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0f889a192d406a6df6ccdc6d46db1be88be5e3cd28d2b4281046c041823d9179.json @@ -0,0 +1 @@ +{"ast":null,"code":"import toInteger from './toInteger.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function () {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\nexport default before;","map":{"version":3,"names":["toInteger","FUNC_ERROR_TEXT","before","n","func","result","TypeError","apply","arguments","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/before.js"],"sourcesContent":["import toInteger from './toInteger.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nexport default before;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,gBAAgB;;AAEtC;AACA,IAAIC,eAAe,GAAG,qBAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,CAAC,EAAEC,IAAI,EAAE;EACvB,IAAIC,MAAM;EACV,IAAI,OAAOD,IAAI,IAAI,UAAU,EAAE;IAC7B,MAAM,IAAIE,SAAS,CAACL,eAAe,CAAC;EACtC;EACAE,CAAC,GAAGH,SAAS,CAACG,CAAC,CAAC;EAChB,OAAO,YAAW;IAChB,IAAI,EAAEA,CAAC,GAAG,CAAC,EAAE;MACXE,MAAM,GAAGD,IAAI,CAACG,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;IACtC;IACA,IAAIL,CAAC,IAAI,CAAC,EAAE;MACVC,IAAI,GAAGK,SAAS;IAClB;IACA,OAAOJ,MAAM;EACf,CAAC;AACH;AAEA,eAAeH,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fa719695de179ea078997064fdf99b2a97467d2f6848fd2945a4c072b20baa3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fa719695de179ea078997064fdf99b2a97467d2f6848fd2945a4c072b20baa3.json new file mode 100644 index 00000000..73b996bb --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fa719695de179ea078997064fdf99b2a97467d2f6848fd2945a4c072b20baa3.json @@ -0,0 +1 @@ +{"ast":null,"code":"/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\nexport default baseInRange;","map":{"version":3,"names":["nativeMax","Math","max","nativeMin","min","baseInRange","number","start","end"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseInRange.js"],"sourcesContent":["/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\n\nexport default baseInRange;\n"],"mappings":"AAAA;AACA,IAAIA,SAAS,GAAGC,IAAI,CAACC,GAAG;EACpBC,SAAS,GAAGF,IAAI,CAACG,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAACC,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE;EACvC,OAAOF,MAAM,IAAIH,SAAS,CAACI,KAAK,EAAEC,GAAG,CAAC,IAAIF,MAAM,GAAGN,SAAS,CAACO,KAAK,EAAEC,GAAG,CAAC;AAC1E;AAEA,eAAeH,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fee6651eae790b3245933f41b3b9d738595a14521f47b6709da6aad2c49b2b3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fee6651eae790b3245933f41b3b9d738595a14521f47b6709da6aad2c49b2b3.json new file mode 100644 index 00000000..79eb957e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fee6651eae790b3245933f41b3b9d738595a14521f47b6709da6aad2c49b2b3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isLaziable from './_isLaziable.js';\nimport setData from './_setData.js';\nimport setWrapToString from './_setWrapToString.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG;\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, newHoldersRight, argPos, ary, arity];\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\nexport default createRecurry;","map":{"version":3,"names":["isLaziable","setData","setWrapToString","WRAP_BIND_FLAG","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","WRAP_CURRY_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","createRecurry","func","bitmask","wrapFunc","placeholder","thisArg","partials","holders","argPos","ary","arity","isCurry","newHolders","undefined","newHoldersRight","newPartials","newPartialsRight","newData","result","apply"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_createRecurry.js"],"sourcesContent":["import isLaziable from './_isLaziable.js';\nimport setData from './_setData.js';\nimport setWrapToString from './_setWrapToString.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nexport default createRecurry;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,OAAO,MAAM,eAAe;AACnC,OAAOC,eAAe,MAAM,uBAAuB;;AAEnD;AACA,IAAIC,cAAc,GAAG,CAAC;EAClBC,kBAAkB,GAAG,CAAC;EACtBC,qBAAqB,GAAG,CAAC;EACzBC,eAAe,GAAG,CAAC;EACnBC,iBAAiB,GAAG,EAAE;EACtBC,uBAAuB,GAAG,EAAE;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAACC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE;EAC3G,IAAIC,OAAO,GAAGT,OAAO,GAAGL,eAAe;IACnCe,UAAU,GAAGD,OAAO,GAAGJ,OAAO,GAAGM,SAAS;IAC1CC,eAAe,GAAGH,OAAO,GAAGE,SAAS,GAAGN,OAAO;IAC/CQ,WAAW,GAAGJ,OAAO,GAAGL,QAAQ,GAAGO,SAAS;IAC5CG,gBAAgB,GAAGL,OAAO,GAAGE,SAAS,GAAGP,QAAQ;EAErDJ,OAAO,IAAKS,OAAO,GAAGb,iBAAiB,GAAGC,uBAAwB;EAClEG,OAAO,IAAI,EAAES,OAAO,GAAGZ,uBAAuB,GAAGD,iBAAiB,CAAC;EAEnE,IAAI,EAAEI,OAAO,GAAGN,qBAAqB,CAAC,EAAE;IACtCM,OAAO,IAAI,EAAER,cAAc,GAAGC,kBAAkB,CAAC;EACnD;EACA,IAAIsB,OAAO,GAAG,CACZhB,IAAI,EAAEC,OAAO,EAAEG,OAAO,EAAEU,WAAW,EAAEH,UAAU,EAAEI,gBAAgB,EACjEF,eAAe,EAAEN,MAAM,EAAEC,GAAG,EAAEC,KAAK,CACpC;EAED,IAAIQ,MAAM,GAAGf,QAAQ,CAACgB,KAAK,CAACN,SAAS,EAAEI,OAAO,CAAC;EAC/C,IAAI1B,UAAU,CAACU,IAAI,CAAC,EAAE;IACpBT,OAAO,CAAC0B,MAAM,EAAED,OAAO,CAAC;EAC1B;EACAC,MAAM,CAACd,WAAW,GAAGA,WAAW;EAChC,OAAOX,eAAe,CAACyB,MAAM,EAAEjB,IAAI,EAAEC,OAAO,CAAC;AAC/C;AAEA,eAAeF,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fef7b6e78eaefab5246ae63dba2fa6c781af5b6dd57d65850b4ad098ed0fd48.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fef7b6e78eaefab5246ae63dba2fa6c781af5b6dd57d65850b4ad098ed0fd48.json new file mode 100644 index 00000000..5978a77b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0fef7b6e78eaefab5246ae63dba2fa6c781af5b6dd57d65850b4ad098ed0fd48.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0:\n return func.call(thisArg);\n case 1:\n return func.call(thisArg, args[0]);\n case 2:\n return func.call(thisArg, args[0], args[1]);\n case 3:\n return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\nexport default apply;","map":{"version":3,"names":["apply","func","thisArg","args","length","call"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_apply.js"],"sourcesContent":["/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,KAAKA,CAACC,IAAI,EAAEC,OAAO,EAAEC,IAAI,EAAE;EAClC,QAAQA,IAAI,CAACC,MAAM;IACjB,KAAK,CAAC;MAAE,OAAOH,IAAI,CAACI,IAAI,CAACH,OAAO,CAAC;IACjC,KAAK,CAAC;MAAE,OAAOD,IAAI,CAACI,IAAI,CAACH,OAAO,EAAEC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC;MAAE,OAAOF,IAAI,CAACI,IAAI,CAACH,OAAO,EAAEC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC;MAAE,OAAOF,IAAI,CAACI,IAAI,CAACH,OAAO,EAAEC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;EAC9D;EACA,OAAOF,IAAI,CAACD,KAAK,CAACE,OAAO,EAAEC,IAAI,CAAC;AAClC;AAEA,eAAeH,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ff8ac758542042575db56a07f8c7971bfdaa95dbea01ae68655bb8be89bccf1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ff8ac758542042575db56a07f8c7971bfdaa95dbea01ae68655bb8be89bccf1.json new file mode 100644 index 00000000..b5a8123c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0ff8ac758542042575db56a07f8c7971bfdaa95dbea01ae68655bb8be89bccf1.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"names":[],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@vue/devtools-api/lib/esm/api/context.js"],"sourcesContent":["export {};\n"],"mappings":"AAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/102b5b8642abba9bd0a16f47c444ea7ec34ea82b1c3f3e2f3c0f23f144755566.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/102b5b8642abba9bd0a16f47c444ea7ec34ea82b1c3f3e2f3c0f23f144755566.json new file mode 100644 index 00000000..6c253b64 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/102b5b8642abba9bd0a16f47c444ea7ec34ea82b1c3f3e2f3c0f23f144755566.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getCurrentInstance, useSlots, ref, computed, unref, isVNode, watch, shallowRef, onMounted, onBeforeUnmount, provide } from 'vue';\nimport { throttle } from 'lodash-unified';\nimport { useResizeObserver } from '@vueuse/core';\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants.mjs';\nimport { useOrderedChildren } from '../../../hooks/use-ordered-children/index.mjs';\nimport { isString } from '@vue/shared';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { flattedChildren } from '../../../utils/vue/vnode.mjs';\nimport { CHANGE_EVENT } from '../../../constants/event.mjs';\nconst THROTTLE_TIME = 300;\nconst useCarousel = (props, emit, componentName) => {\n const {\n children: items,\n addChild: addItem,\n removeChild: removeItem\n } = useOrderedChildren(getCurrentInstance(), CAROUSEL_ITEM_NAME);\n const slots = useSlots();\n const activeIndex = ref(-1);\n const timer = ref(null);\n const hover = ref(false);\n const root = ref();\n const containerHeight = ref(0);\n const isItemsTwoLength = ref(true);\n const arrowDisplay = computed(() => props.arrow !== \"never\" && !unref(isVertical));\n const hasLabel = computed(() => {\n return items.value.some(item => item.props.label.toString().length > 0);\n });\n const isCardType = computed(() => props.type === \"card\");\n const isVertical = computed(() => props.direction === \"vertical\");\n const containerStyle = computed(() => {\n if (props.height !== \"auto\") {\n return {\n height: props.height\n };\n }\n return {\n height: `${containerHeight.value}px`,\n overflow: \"hidden\"\n };\n });\n const throttledArrowClick = throttle(index => {\n setActiveItem(index);\n }, THROTTLE_TIME, {\n trailing: true\n });\n const throttledIndicatorHover = throttle(index => {\n handleIndicatorHover(index);\n }, THROTTLE_TIME);\n const isTwoLengthShow = index => {\n if (!isItemsTwoLength.value) return true;\n return activeIndex.value <= 1 ? index <= 1 : index > 1;\n };\n function pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value);\n timer.value = null;\n }\n }\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return;\n timer.value = setInterval(() => playSlides(), props.interval);\n }\n const playSlides = () => {\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1;\n } else if (props.loop) {\n activeIndex.value = 0;\n }\n };\n function setActiveItem(index) {\n if (isString(index)) {\n const filteredItems = items.value.filter(item => item.props.name === index);\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0]);\n }\n }\n index = Number(index);\n if (Number.isNaN(index) || index !== Math.floor(index)) {\n debugWarn(componentName, \"index must be integer.\");\n return;\n }\n const itemCount = items.value.length;\n const oldIndex = activeIndex.value;\n if (index < 0) {\n activeIndex.value = props.loop ? itemCount - 1 : 0;\n } else if (index >= itemCount) {\n activeIndex.value = props.loop ? 0 : itemCount - 1;\n } else {\n activeIndex.value = index;\n }\n if (oldIndex === activeIndex.value) {\n resetItemPosition(oldIndex);\n }\n resetTimer();\n }\n function resetItemPosition(oldIndex) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex);\n });\n }\n function itemInStage(item, index) {\n var _a, _b, _c, _d;\n const _items = unref(items);\n const itemCount = _items.length;\n if (itemCount === 0 || !item.states.inStage) return false;\n const nextItemIndex = index + 1;\n const prevItemIndex = index - 1;\n const lastItemIndex = itemCount - 1;\n const isLastItemActive = _items[lastItemIndex].states.active;\n const isFirstItemActive = _items[0].states.active;\n const isNextItemActive = (_b = (_a = _items[nextItemIndex]) == null ? void 0 : _a.states) == null ? void 0 : _b.active;\n const isPrevItemActive = (_d = (_c = _items[prevItemIndex]) == null ? void 0 : _c.states) == null ? void 0 : _d.active;\n if (index === lastItemIndex && isFirstItemActive || isNextItemActive) {\n return \"left\";\n } else if (index === 0 && isLastItemActive || isPrevItemActive) {\n return \"right\";\n }\n return false;\n }\n function handleMouseEnter() {\n hover.value = true;\n if (props.pauseOnHover) {\n pauseTimer();\n }\n }\n function handleMouseLeave() {\n hover.value = false;\n startTimer();\n }\n function handleButtonEnter(arrow) {\n if (unref(isVertical)) return;\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.states.hover = true;\n }\n });\n }\n function handleButtonLeave() {\n if (unref(isVertical)) return;\n items.value.forEach(item => {\n item.states.hover = false;\n });\n }\n function handleIndicatorClick(index) {\n activeIndex.value = index;\n }\n function handleIndicatorHover(index) {\n if (props.trigger === \"hover\" && index !== activeIndex.value) {\n activeIndex.value = index;\n }\n }\n function prev() {\n setActiveItem(activeIndex.value - 1);\n }\n function next() {\n setActiveItem(activeIndex.value + 1);\n }\n function resetTimer() {\n pauseTimer();\n if (!props.pauseOnHover) startTimer();\n }\n function setContainerHeight(height) {\n if (props.height !== \"auto\") return;\n containerHeight.value = height;\n }\n function PlaceholderItem() {\n var _a;\n const defaultSlots = (_a = slots.default) == null ? void 0 : _a.call(slots);\n if (!defaultSlots) return null;\n const flatSlots = flattedChildren(defaultSlots);\n const normalizeSlots = flatSlots.filter(slot => {\n return isVNode(slot) && slot.type.name === CAROUSEL_ITEM_NAME;\n });\n if ((normalizeSlots == null ? void 0 : normalizeSlots.length) === 2 && props.loop && !isCardType.value) {\n isItemsTwoLength.value = true;\n return normalizeSlots;\n }\n isItemsTwoLength.value = false;\n return null;\n }\n watch(() => activeIndex.value, (current, prev2) => {\n resetItemPosition(prev2);\n if (isItemsTwoLength.value) {\n current = current % 2;\n prev2 = prev2 % 2;\n }\n if (prev2 > -1) {\n emit(CHANGE_EVENT, current, prev2);\n }\n });\n watch(() => props.autoplay, autoplay => {\n autoplay ? startTimer() : pauseTimer();\n });\n watch(() => props.loop, () => {\n setActiveItem(activeIndex.value);\n });\n watch(() => props.interval, () => {\n resetTimer();\n });\n const resizeObserver = shallowRef();\n onMounted(() => {\n watch(() => items.value, () => {\n if (items.value.length > 0) setActiveItem(props.initialIndex);\n }, {\n immediate: true\n });\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition();\n });\n startTimer();\n });\n onBeforeUnmount(() => {\n pauseTimer();\n if (root.value && resizeObserver.value) resizeObserver.value.stop();\n });\n provide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n cardScale: props.cardScale,\n addItem,\n removeItem,\n setActiveItem,\n setContainerHeight\n });\n return {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n items,\n isVertical,\n containerStyle,\n isItemsTwoLength,\n handleButtonEnter,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover\n };\n};\nexport { useCarousel };","map":{"version":3,"names":["THROTTLE_TIME","useCarousel","props","emit","componentName","children","items","addChild","addItem","removeChild","removeItem","useOrderedChildren","getCurrentInstance","CAROUSEL_ITEM_NAME","slots","useSlots","activeIndex","ref","timer","hover","root","containerHeight","isItemsTwoLength","arrowDisplay","computed","arrow","unref","isVertical","hasLabel","value","some","item","label","toString","length","isCardType","type","direction","containerStyle","height","overflow","throttledArrowClick","throttle","index","setActiveItem","trailing","throttledIndicatorHover","handleIndicatorHover","isTwoLengthShow","pauseTimer","clearInterval","startTimer","interval","autoplay","setInterval","playSlides","loop","isString","filteredItems","filter","name","indexOf","Number","isNaN","Math","floor","debugWarn","itemCount","oldIndex","resetItemPosition","resetTimer","forEach","translateItem","itemInStage","_a","_b","_c","_d","_items","states","inStage","nextItemIndex","prevItemIndex","lastItemIndex","isLastItemActive","active","isFirstItemActive","isNextItemActive","isPrevItemActive","handleMouseEnter","pauseOnHover","handleMouseLeave","handleButtonEnter","handleButtonLeave","handleIndicatorClick","trigger","prev","next","setContainerHeight","PlaceholderItem","defaultSlots","default","call","flatSlots","flattedChildren","normalizeSlots","slot","isVNode","watch","current","prev2","CHANGE_EVENT","resizeObserver","shallowRef","onMounted","initialIndex","immediate","useResizeObserver","onBeforeUnmount","stop","provide","carouselContextKey","cardScale"],"sources":["../../../../../../packages/components/carousel/src/use-carousel.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n isVNode,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n shallowRef,\n unref,\n useSlots,\n watch,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport { debugWarn, flattedChildren, isString } from '@element-plus/utils'\nimport { useOrderedChildren } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants'\n\nimport type { SetupContext } from 'vue'\nimport type { CarouselItemContext } from './constants'\nimport type { CarouselEmits, CarouselProps } from './carousel'\n\nconst THROTTLE_TIME = 300\n\nexport const useCarousel = (\n props: CarouselProps,\n emit: SetupContext['emit'],\n componentName: string\n) => {\n const {\n children: items,\n addChild: addItem,\n removeChild: removeItem,\n } = useOrderedChildren(\n getCurrentInstance()!,\n CAROUSEL_ITEM_NAME\n )\n\n const slots = useSlots()\n\n // refs\n const activeIndex = ref(-1)\n const timer = ref | null>(null)\n const hover = ref(false)\n const root = ref()\n const containerHeight = ref(0)\n const isItemsTwoLength = ref(true)\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && !unref(isVertical)\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.props.label.toString().length > 0)\n })\n\n const isCardType = computed(() => props.type === 'card')\n const isVertical = computed(() => props.direction === 'vertical')\n\n const containerStyle = computed(() => {\n if (props.height !== 'auto') {\n return {\n height: props.height,\n }\n }\n return {\n height: `${containerHeight.value}px`,\n overflow: 'hidden',\n }\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index: number) => {\n setActiveItem(index)\n },\n THROTTLE_TIME,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index: number) => {\n handleIndicatorHover(index)\n }, THROTTLE_TIME)\n\n const isTwoLengthShow = (index: number) => {\n if (!isItemsTwoLength.value) return true\n return activeIndex.value <= 1 ? index <= 1 : index > 1\n }\n\n function pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value)\n timer.value = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return\n timer.value = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1\n } else if (props.loop) {\n activeIndex.value = 0\n }\n }\n\n function setActiveItem(index: number | string) {\n if (isString(index)) {\n const filteredItems = items.value.filter(\n (item) => item.props.name === index\n )\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (Number.isNaN(index) || index !== Math.floor(index)) {\n debugWarn(componentName, 'index must be integer.')\n return\n }\n const itemCount = items.value.length\n const oldIndex = activeIndex.value\n if (index < 0) {\n activeIndex.value = props.loop ? itemCount - 1 : 0\n } else if (index >= itemCount) {\n activeIndex.value = props.loop ? 0 : itemCount - 1\n } else {\n activeIndex.value = index\n }\n if (oldIndex === activeIndex.value) {\n resetItemPosition(oldIndex)\n }\n resetTimer()\n }\n\n function resetItemPosition(oldIndex?: number) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex)\n })\n }\n\n function itemInStage(item: CarouselItemContext, index: number) {\n const _items = unref(items)\n const itemCount = _items.length\n if (itemCount === 0 || !item.states.inStage) return false\n const nextItemIndex = index + 1\n const prevItemIndex = index - 1\n const lastItemIndex = itemCount - 1\n const isLastItemActive = _items[lastItemIndex].states.active\n const isFirstItemActive = _items[0].states.active\n const isNextItemActive = _items[nextItemIndex]?.states?.active\n const isPrevItemActive = _items[prevItemIndex]?.states?.active\n\n if ((index === lastItemIndex && isFirstItemActive) || isNextItemActive) {\n return 'left'\n } else if ((index === 0 && isLastItemActive) || isPrevItemActive) {\n return 'right'\n }\n return false\n }\n\n function handleMouseEnter() {\n hover.value = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n hover.value = false\n startTimer()\n }\n\n function handleButtonEnter(arrow: 'left' | 'right') {\n if (unref(isVertical)) return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.states.hover = true\n }\n })\n }\n\n function handleButtonLeave() {\n if (unref(isVertical)) return\n items.value.forEach((item) => {\n item.states.hover = false\n })\n }\n\n function handleIndicatorClick(index: number) {\n activeIndex.value = index\n }\n\n function handleIndicatorHover(index: number) {\n if (props.trigger === 'hover' && index !== activeIndex.value) {\n activeIndex.value = index\n }\n }\n\n function prev() {\n setActiveItem(activeIndex.value - 1)\n }\n\n function next() {\n setActiveItem(activeIndex.value + 1)\n }\n\n function resetTimer() {\n pauseTimer()\n if (!props.pauseOnHover) startTimer()\n }\n\n function setContainerHeight(height: number) {\n if (props.height !== 'auto') return\n containerHeight.value = height\n }\n\n function PlaceholderItem() {\n // fix: https://github.com/element-plus/element-plus/issues/12139\n const defaultSlots = slots.default?.()\n if (!defaultSlots) return null\n\n const flatSlots = flattedChildren(defaultSlots)\n\n const normalizeSlots = flatSlots.filter((slot) => {\n return isVNode(slot) && (slot.type as any).name === CAROUSEL_ITEM_NAME\n })\n\n if (normalizeSlots?.length === 2 && props.loop && !isCardType.value) {\n isItemsTwoLength.value = true\n return normalizeSlots\n }\n isItemsTwoLength.value = false\n return null\n }\n\n // watch\n watch(\n () => activeIndex.value,\n (current, prev) => {\n resetItemPosition(prev)\n if (isItemsTwoLength.value) {\n current = current % 2\n prev = prev % 2\n }\n if (prev > -1) {\n emit(CHANGE_EVENT, current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (autoplay) => {\n autoplay ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(activeIndex.value)\n }\n )\n\n watch(\n () => props.interval,\n () => {\n resetTimer()\n }\n )\n\n const resizeObserver = shallowRef>()\n // lifecycle\n onMounted(() => {\n watch(\n () => items.value,\n () => {\n if (items.value.length > 0) setActiveItem(props.initialIndex)\n },\n {\n immediate: true,\n }\n )\n\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition()\n })\n startTimer()\n })\n\n onBeforeUnmount(() => {\n pauseTimer()\n if (root.value && resizeObserver.value) resizeObserver.value.stop()\n })\n\n // provide\n provide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n cardScale: props.cardScale,\n addItem,\n removeItem,\n setActiveItem,\n setContainerHeight,\n })\n\n return {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n items,\n isVertical,\n containerStyle,\n isItemsTwoLength,\n handleButtonEnter,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1074c63c933610f8cd2bd8d2b16f550a58967fd8ea4c8c5eb6723ed594222213.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1074c63c933610f8cd2bd8d2b16f550a58967fd8ea4c8c5eb6723ed594222213.json new file mode 100644 index 00000000..b20711d8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1074c63c933610f8cd2bd8d2b16f550a58967fd8ea4c8c5eb6723ed594222213.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Countdown from './src/countdown2.mjs';\nexport { countdownEmits, countdownProps } from './src/countdown.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\nconst ElCountdown = withInstall(Countdown);\nexport { ElCountdown, ElCountdown as default };","map":{"version":3,"names":["ElCountdown","withInstall","Countdown"],"sources":["../../../../../packages/components/countdown/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Countdown from './src/countdown.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCountdown: SFCWithInstall =\n withInstall(Countdown)\nexport default ElCountdown\n\nexport * from './src/countdown'\n"],"mappings":";;;AAEY,MAACA,WAAW,GAAGC,WAAW,CAACC,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1083bb199f52f823aacdeff146158a8c78041fd5ebda0d4dc3f6a09eba3a5ddd.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1083bb199f52f823aacdeff146158a8c78041fd5ebda0d4dc3f6a09eba3a5ddd.json new file mode 100644 index 00000000..30bef7ce --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1083bb199f52f823aacdeff146158a8c78041fd5ebda0d4dc3f6a09eba3a5ddd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, inject, computed, onMounted, watch, onBeforeUnmount, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createCommentVNode } from 'vue';\nimport { isNil } from 'lodash-unified';\nimport { unrefElement } from '@vueuse/core';\nimport { POPPER_INJECTION_KEY } from './constants.mjs';\nimport { popperTriggerProps } from './trigger.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useForwardRef } from '../../../hooks/use-forward-ref/index.mjs';\nimport { OnlyChild } from '../../slot/src/only-child.mjs';\nimport { isElement } from '../../../utils/types.mjs';\nimport { isFocusable } from '../../../utils/dom/aria.mjs';\nconst __default__ = defineComponent({\n name: \"ElPopperTrigger\",\n inheritAttrs: false\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: popperTriggerProps,\n setup(__props, {\n expose\n }) {\n const props = __props;\n const {\n role,\n triggerRef\n } = inject(POPPER_INJECTION_KEY, void 0);\n useForwardRef(triggerRef);\n const ariaControls = computed(() => {\n return ariaHaspopup.value ? props.id : void 0;\n });\n const ariaDescribedby = computed(() => {\n if (role && role.value === \"tooltip\") {\n return props.open && props.id ? props.id : void 0;\n }\n return void 0;\n });\n const ariaHaspopup = computed(() => {\n if (role && role.value !== \"tooltip\") {\n return role.value;\n }\n return void 0;\n });\n const ariaExpanded = computed(() => {\n return ariaHaspopup.value ? `${props.open}` : void 0;\n });\n let virtualTriggerAriaStopWatch = void 0;\n const TRIGGER_ELE_EVENTS = [\"onMouseenter\", \"onMouseleave\", \"onClick\", \"onKeydown\", \"onFocus\", \"onBlur\", \"onContextmenu\"];\n onMounted(() => {\n watch(() => props.virtualRef, virtualEl => {\n if (virtualEl) {\n triggerRef.value = unrefElement(virtualEl);\n }\n }, {\n immediate: true\n });\n watch(triggerRef, (el, prevEl) => {\n virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();\n virtualTriggerAriaStopWatch = void 0;\n if (isElement(el)) {\n TRIGGER_ELE_EVENTS.forEach(eventName => {\n var _a;\n const handler = props[eventName];\n if (handler) {\n el.addEventListener(eventName.slice(2).toLowerCase(), handler);\n (_a = prevEl == null ? void 0 : prevEl.removeEventListener) == null ? void 0 : _a.call(prevEl, eventName.slice(2).toLowerCase(), handler);\n }\n });\n if (isFocusable(el)) {\n virtualTriggerAriaStopWatch = watch([ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded], watches => {\n [\"aria-controls\", \"aria-describedby\", \"aria-haspopup\", \"aria-expanded\"].forEach((key, idx) => {\n isNil(watches[idx]) ? el.removeAttribute(key) : el.setAttribute(key, watches[idx]);\n });\n }, {\n immediate: true\n });\n }\n }\n if (isElement(prevEl) && isFocusable(prevEl)) {\n [\"aria-controls\", \"aria-describedby\", \"aria-haspopup\", \"aria-expanded\"].forEach(key => prevEl.removeAttribute(key));\n }\n }, {\n immediate: true\n });\n });\n onBeforeUnmount(() => {\n virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();\n virtualTriggerAriaStopWatch = void 0;\n if (triggerRef.value && isElement(triggerRef.value)) {\n const el = triggerRef.value;\n TRIGGER_ELE_EVENTS.forEach(eventName => {\n const handler = props[eventName];\n if (handler) {\n el.removeEventListener(eventName.slice(2).toLowerCase(), handler);\n }\n });\n triggerRef.value = void 0;\n }\n });\n expose({\n triggerRef\n });\n return (_ctx, _cache) => {\n return !_ctx.virtualTriggering ? (openBlock(), createBlock(unref(OnlyChild), mergeProps({\n key: 0\n }, _ctx.$attrs, {\n \"aria-controls\": unref(ariaControls),\n \"aria-describedby\": unref(ariaDescribedby),\n \"aria-expanded\": unref(ariaExpanded),\n \"aria-haspopup\": unref(ariaHaspopup)\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 16, [\"aria-controls\", \"aria-describedby\", \"aria-expanded\", \"aria-haspopup\"])) : createCommentVNode(\"v-if\", true);\n };\n }\n});\nvar ElPopperTrigger = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"trigger.vue\"]]);\nexport { ElPopperTrigger as default };","map":{"version":3,"names":["name","inheritAttrs","role","triggerRef","inject","POPPER_INJECTION_KEY","useForwardRef","ariaControls","computed","ariaHaspopup","value","props","id","ariaDescribedby","open","ariaExpanded","virtualTriggerAriaStopWatch","TRIGGER_ELE_EVENTS","onMounted","watch","virtualRef","virtualEl","unrefElement","immediate","el","prevEl","isElement","forEach","eventName","_a","handler","addEventListener","slice","toLowerCase","removeEventListener","call","isFocusable","watches","key","idx","isNil","removeAttribute","setAttribute","onBeforeUnmount","expose","_ctx","_cache","virtualTriggering","openBlock","createBlock","unref","OnlyChild","mergeProps","$attrs","default","withCtx","renderSlot","$slots","_","createCommentVNode","ElPopperTrigger","_export_sfc","_sfc_main"],"sources":["../../../../../../packages/components/popper/src/trigger.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/109a88999a700d14fda67da617c007e0ee4ad4ccae9c8c42cad0a44c33788886.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/109a88999a700d14fda67da617c007e0ee4ad4ccae9c8c42cad0a44c33788886.json new file mode 100644 index 00000000..69082afa --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/109a88999a700d14fda67da617c007e0ee4ad4ccae9c8c42cad0a44c33788886.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, openBlock, createElementBlock, createElementVNode, unref } from 'vue';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useId } from '../../../hooks/use-id/index.mjs';\nconst __default__ = defineComponent({\n name: \"ImgEmpty\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n setup(__props) {\n const ns = useNamespace(\"empty\");\n const id = useId();\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"svg\", {\n viewBox: \"0 0 79 86\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\"\n }, [createElementVNode(\"defs\", null, [createElementVNode(\"linearGradient\", {\n id: `linearGradient-1-${unref(id)}`,\n x1: \"38.8503086%\",\n y1: \"0%\",\n x2: \"61.1496914%\",\n y2: \"100%\"\n }, [createElementVNode(\"stop\", {\n \"stop-color\": `var(${unref(ns).cssVarBlockName(\"fill-color-1\")})`,\n offset: \"0%\"\n }, null, 8, [\"stop-color\"]), createElementVNode(\"stop\", {\n \"stop-color\": `var(${unref(ns).cssVarBlockName(\"fill-color-4\")})`,\n offset: \"100%\"\n }, null, 8, [\"stop-color\"])], 8, [\"id\"]), createElementVNode(\"linearGradient\", {\n id: `linearGradient-2-${unref(id)}`,\n x1: \"0%\",\n y1: \"9.5%\",\n x2: \"100%\",\n y2: \"90.5%\"\n }, [createElementVNode(\"stop\", {\n \"stop-color\": `var(${unref(ns).cssVarBlockName(\"fill-color-1\")})`,\n offset: \"0%\"\n }, null, 8, [\"stop-color\"]), createElementVNode(\"stop\", {\n \"stop-color\": `var(${unref(ns).cssVarBlockName(\"fill-color-6\")})`,\n offset: \"100%\"\n }, null, 8, [\"stop-color\"])], 8, [\"id\"]), createElementVNode(\"rect\", {\n id: `path-3-${unref(id)}`,\n x: \"0\",\n y: \"0\",\n width: \"17\",\n height: \"36\"\n }, null, 8, [\"id\"])]), createElementVNode(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, [createElementVNode(\"g\", {\n transform: \"translate(-1268.000000, -535.000000)\"\n }, [createElementVNode(\"g\", {\n transform: \"translate(1268.000000, 535.000000)\"\n }, [createElementVNode(\"path\", {\n d: \"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z\",\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-3\")})`\n }, null, 8, [\"fill\"]), createElementVNode(\"polygon\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-7\")})`,\n transform: \"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) \",\n points: \"13 58 53 58 42 45 2 45\"\n }, null, 8, [\"fill\"]), createElementVNode(\"g\", {\n transform: \"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)\"\n }, [createElementVNode(\"polygon\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-7\")})`,\n transform: \"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) \",\n points: \"2.84078316e-14 3 18 3 23 7 5 7\"\n }, null, 8, [\"fill\"]), createElementVNode(\"polygon\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-5\")})`,\n points: \"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43\"\n }, null, 8, [\"fill\"]), createElementVNode(\"rect\", {\n fill: `url(#linearGradient-1-${unref(id)})`,\n transform: \"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) \",\n x: \"38\",\n y: \"7\",\n width: \"17\",\n height: \"36\"\n }, null, 8, [\"fill\"]), createElementVNode(\"polygon\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-2\")})`,\n transform: \"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) \",\n points: \"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12\"\n }, null, 8, [\"fill\"])]), createElementVNode(\"rect\", {\n fill: `url(#linearGradient-2-${unref(id)})`,\n x: \"13\",\n y: \"45\",\n width: \"40\",\n height: \"36\"\n }, null, 8, [\"fill\"]), createElementVNode(\"g\", {\n transform: \"translate(53.000000, 45.000000)\"\n }, [createElementVNode(\"use\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-8\")})`,\n transform: \"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) \",\n \"xlink:href\": `#path-3-${unref(id)}`\n }, null, 8, [\"fill\", \"xlink:href\"]), createElementVNode(\"polygon\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-9\")})`,\n mask: `url(#mask-4-${unref(id)})`,\n transform: \"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) \",\n points: \"7 0 24 0 20 18 7 16.5\"\n }, null, 8, [\"fill\", \"mask\"])]), createElementVNode(\"polygon\", {\n fill: `var(${unref(ns).cssVarBlockName(\"fill-color-2\")})`,\n transform: \"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) \",\n points: \"62 45 79 45 70 58 53 58\"\n }, null, 8, [\"fill\"])])])])]);\n };\n }\n});\nvar ImgEmpty = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"img-empty.vue\"]]);\nexport { ImgEmpty as default };","map":{"version":3,"names":["name","ns","useNamespace","id","useId"],"sources":["../../../../../../packages/components/empty/src/img-empty.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;;mCAkHc;EACZA,IAAM;AACR;;;;IAEM,MAAAC,EAAA,GAAKC,YAAA,CAAa,OAAO;IAC/B,MAAMC,EAAA,GAAKC,KAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/10b3c47b0f1024a1a79a7b8a8e945426d86c7587d1a65c717a6ad38a1fd4364f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/10b3c47b0f1024a1a79a7b8a8e945426d86c7587d1a65c717a6ad38a1fd4364f.json new file mode 100644 index 00000000..f7c2fbc9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/10b3c47b0f1024a1a79a7b8a8e945426d86c7587d1a65c717a6ad38a1fd4364f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { unref, ref, onMounted, watchEffect, isRef } from 'vue';\nimport { isClient, unrefElement } from '@vueuse/core';\nimport { isNil } from 'lodash-unified';\nimport { arrow, computePosition } from '@floating-ui/dom';\nimport { keysOf } from '../../utils/objects.mjs';\nimport { buildProps } from '../../utils/vue/props/runtime.mjs';\nconst useFloatingProps = buildProps({});\nconst unrefReference = elRef => {\n if (!isClient) return;\n if (!elRef) return elRef;\n const unrefEl = unrefElement(elRef);\n if (unrefEl) return unrefEl;\n return isRef(elRef) ? unrefEl : elRef;\n};\nconst getPositionDataWithUnit = (record, key) => {\n const value = record == null ? void 0 : record[key];\n return isNil(value) ? \"\" : `${value}px`;\n};\nconst useFloating = ({\n middleware,\n placement,\n strategy\n}) => {\n const referenceRef = ref();\n const contentRef = ref();\n const x = ref();\n const y = ref();\n const middlewareData = ref({});\n const states = {\n x,\n y,\n placement,\n strategy,\n middlewareData\n };\n const update = async () => {\n if (!isClient) return;\n const referenceEl = unrefReference(referenceRef);\n const contentEl = unrefElement(contentRef);\n if (!referenceEl || !contentEl) return;\n const data = await computePosition(referenceEl, contentEl, {\n placement: unref(placement),\n strategy: unref(strategy),\n middleware: unref(middleware)\n });\n keysOf(states).forEach(key => {\n states[key].value = data[key];\n });\n };\n onMounted(() => {\n watchEffect(() => {\n update();\n });\n });\n return {\n ...states,\n update,\n referenceRef,\n contentRef\n };\n};\nconst arrowMiddleware = ({\n arrowRef,\n padding\n}) => {\n return {\n name: \"arrow\",\n options: {\n element: arrowRef,\n padding\n },\n fn(args) {\n const arrowEl = unref(arrowRef);\n if (!arrowEl) return {};\n return arrow({\n element: arrowEl,\n padding\n }).fn(args);\n }\n };\n};\nexport { arrowMiddleware, getPositionDataWithUnit, useFloating, useFloatingProps };","map":{"version":3,"names":["useFloatingProps","buildProps","unrefReference","elRef","isClient","unrefEl","unrefElement","isRef","getPositionDataWithUnit","record","key","value","isNil","useFloating","middleware","placement","strategy","referenceRef","ref","contentRef","x","y","middlewareData","states","update","referenceEl","contentEl","data","computePosition","unref","keysOf","forEach","onMounted","watchEffect","arrowMiddleware","arrowRef","padding","name","options","element","fn","args","arrowEl","arrow"],"sources":["../../../../../packages/hooks/use-floating/index.ts"],"sourcesContent":["import { isRef, onMounted, ref, unref, watchEffect } from 'vue'\nimport { unrefElement } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { arrow as arrowCore, computePosition } from '@floating-ui/dom'\nimport { buildProps, isClient, keysOf } from '@element-plus/utils'\n\nimport type { Ref, ToRefs } from 'vue'\nimport type {\n ComputePositionReturn,\n Middleware,\n Placement,\n SideObject,\n Strategy,\n VirtualElement,\n} from '@floating-ui/dom'\n\nexport const useFloatingProps = buildProps({} as const)\n\nexport type UseFloatingProps = ToRefs<{\n middleware: Array\n placement: Placement\n strategy: Strategy\n}>\n\ntype ElementRef = Parameters['0']\n\nconst unrefReference = (\n elRef: ElementRef | Ref\n) => {\n if (!isClient) return\n if (!elRef) return elRef\n const unrefEl = unrefElement(elRef as ElementRef)\n if (unrefEl) return unrefEl\n return isRef(elRef) ? unrefEl : (elRef as VirtualElement)\n}\n\nexport const getPositionDataWithUnit = >(\n record: T | undefined,\n key: keyof T\n) => {\n const value = record?.[key]\n return isNil(value) ? '' : `${value}px`\n}\n\nexport const useFloating = ({\n middleware,\n placement,\n strategy,\n}: UseFloatingProps) => {\n const referenceRef = ref()\n const contentRef = ref()\n const x = ref()\n const y = ref()\n const middlewareData = ref({})\n\n const states = {\n x,\n y,\n placement,\n strategy,\n middlewareData,\n } as const\n\n const update = async () => {\n if (!isClient) return\n\n const referenceEl = unrefReference(referenceRef)\n const contentEl = unrefElement(contentRef)\n if (!referenceEl || !contentEl) return\n\n const data = await computePosition(referenceEl, contentEl, {\n placement: unref(placement),\n strategy: unref(strategy),\n middleware: unref(middleware),\n })\n\n keysOf(states).forEach((key) => {\n states[key].value = data[key]\n })\n }\n\n onMounted(() => {\n watchEffect(() => {\n update()\n })\n })\n\n return {\n ...states,\n update,\n referenceRef,\n contentRef,\n }\n}\n\nexport type ArrowMiddlewareProps = {\n arrowRef: Ref\n padding?: number | SideObject\n}\n\nexport const arrowMiddleware = ({\n arrowRef,\n padding,\n}: ArrowMiddlewareProps): Middleware => {\n return {\n name: 'arrow',\n options: {\n element: arrowRef,\n padding,\n },\n\n fn(args) {\n const arrowEl = unref(arrowRef)\n if (!arrowEl) return {}\n\n return arrowCore({\n element: arrowEl,\n padding,\n }).fn(args)\n },\n }\n}\n"],"mappings":";;;;;;AAKY,MAACA,gBAAgB,GAAGC,UAAU,CAAC,EAAE;AAC7C,MAAMC,cAAc,GAAIC,KAAK,IAAK;EAChC,IAAI,CAACC,QAAQ,EACX;EACF,IAAI,CAACD,KAAK,EACR,OAAOA,KAAK;EACd,MAAME,OAAO,GAAGC,YAAY,CAACH,KAAK,CAAC;EACnC,IAAIE,OAAO,EACT,OAAOA,OAAO;EAChB,OAAOE,KAAK,CAACJ,KAAK,CAAC,GAAGE,OAAO,GAAGF,KAAK;AACvC,CAAC;AACW,MAACK,uBAAuB,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EACtD,MAAMC,KAAK,GAAGF,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACC,GAAG,CAAC;EACnD,OAAOE,KAAK,CAACD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAGA,KAAK,IAAI;AACzC;AACY,MAACE,WAAW,GAAGA,CAAC;EAC1BC,UAAU;EACVC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGC,GAAG,EAAE;EAC1B,MAAMC,UAAU,GAAGD,GAAG,EAAE;EACxB,MAAME,CAAC,GAAGF,GAAG,EAAE;EACf,MAAMG,CAAC,GAAGH,GAAG,EAAE;EACf,MAAMI,cAAc,GAAGJ,GAAG,CAAC,EAAE,CAAC;EAC9B,MAAMK,MAAM,GAAG;IACbH,CAAC;IACDC,CAAC;IACDN,SAAS;IACTC,QAAQ;IACRM;EACJ,CAAG;EACD,MAAME,MAAM,GAAG,MAAAA,CAAA,KAAY;IACzB,IAAI,CAACpB,QAAQ,EACX;IACF,MAAMqB,WAAW,GAAGvB,cAAc,CAACe,YAAY,CAAC;IAChD,MAAMS,SAAS,GAAGpB,YAAY,CAACa,UAAU,CAAC;IAC1C,IAAI,CAACM,WAAW,IAAI,CAACC,SAAS,EAC5B;IACF,MAAMC,IAAI,GAAG,MAAMC,eAAe,CAACH,WAAW,EAAEC,SAAS,EAAE;MACzDX,SAAS,EAAEc,KAAK,CAACd,SAAS,CAAC;MAC3BC,QAAQ,EAAEa,KAAK,CAACb,QAAQ,CAAC;MACzBF,UAAU,EAAEe,KAAK,CAACf,UAAU;IAClC,CAAK,CAAC;IACFgB,MAAM,CAACP,MAAM,CAAC,CAACQ,OAAO,CAAErB,GAAG,IAAK;MAC9Ba,MAAM,CAACb,GAAG,CAAC,CAACC,KAAK,GAAGgB,IAAI,CAACjB,GAAG,CAAC;IACnC,CAAK,CAAC;EACN,CAAG;EACDsB,SAAS,CAAC,MAAM;IACdC,WAAW,CAAC,MAAM;MAChBT,MAAM,EAAE;IACd,CAAK,CAAC;EACN,CAAG,CAAC;EACF,OAAO;IACL,GAAGD,MAAM;IACTC,MAAM;IACNP,YAAY;IACZE;EACJ,CAAG;AACH;AACY,MAACe,eAAe,GAAGA,CAAC;EAC9BC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,OAAO;IACLC,IAAI,EAAE,OAAO;IACbC,OAAO,EAAE;MACPC,OAAO,EAAEJ,QAAQ;MACjBC;IACN,CAAK;IACDI,EAAEA,CAACC,IAAI,EAAE;MACP,MAAMC,OAAO,GAAGb,KAAK,CAACM,QAAQ,CAAC;MAC/B,IAAI,CAACO,OAAO,EACV,OAAO,EAAE;MACX,OAAOC,KAAS,CAAC;QACfJ,OAAO,EAAEG,OAAO;QAChBN;MACR,CAAO,CAAC,CAACI,EAAE,CAACC,IAAI,CAAC;IACjB;EACA,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/110fe8f4021a9394d8be15fa8e2b4be7353324ce481d223fa0cfd460ad211762.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/110fe8f4021a9394d8be15fa8e2b4be7353324ce481d223fa0cfd460ad211762.json new file mode 100644 index 00000000..9288193c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/110fe8f4021a9394d8be15fa8e2b4be7353324ce481d223fa0cfd460ad211762.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as clamp } from './clamp.js';\nexport { default as inRange } from './inRange.js';\nexport { default as random } from './random.js';\nexport { default } from './number.default.js';","map":{"version":3,"names":["default","clamp","inRange","random"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/number.js"],"sourcesContent":["export { default as clamp } from './clamp.js';\nexport { default as inRange } from './inRange.js';\nexport { default as random } from './random.js';\nexport { default } from './number.default.js';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,KAAK,QAAQ,YAAY;AAC7C,SAASD,OAAO,IAAIE,OAAO,QAAQ,cAAc;AACjD,SAASF,OAAO,IAAIG,MAAM,QAAQ,aAAa;AAC/C,SAASH,OAAO,QAAQ,qBAAqB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/111cc585726da65223582da31850ea389bd11b5e23361fbc04995ad0db83fc1e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/111cc585726da65223582da31850ea389bd11b5e23361fbc04995ad0db83fc1e.json new file mode 100644 index 00000000..f7caac71 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/111cc585726da65223582da31850ea389bd11b5e23361fbc04995ad0db83fc1e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\nexport default baseGetTag;","map":{"version":3,"names":["Symbol","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","undefined","baseGetTag","value","Object"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseGetTag.js"],"sourcesContent":["import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,cAAc;AACjC,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,cAAc,MAAM,sBAAsB;;AAEjD;AACA,IAAIC,OAAO,GAAG,eAAe;EACzBC,YAAY,GAAG,oBAAoB;;AAEvC;AACA,IAAIC,cAAc,GAAGL,MAAM,GAAGA,MAAM,CAACM,WAAW,GAAGC,SAAS;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,KAAK,EAAE;EACzB,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,OAAOA,KAAK,KAAKF,SAAS,GAAGH,YAAY,GAAGD,OAAO;EACrD;EACA,OAAQE,cAAc,IAAIA,cAAc,IAAIK,MAAM,CAACD,KAAK,CAAC,GACrDR,SAAS,CAACQ,KAAK,CAAC,GAChBP,cAAc,CAACO,KAAK,CAAC;AAC3B;AAEA,eAAeD,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1141d1fe80db3747fd1f57fcc7cb6a0b401f44561f6179acc9157497ef70cb60.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1141d1fe80db3747fd1f57fcc7cb6a0b401f44561f6179acc9157497ef70cb60.json new file mode 100644 index 00000000..4e10dd33 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1141d1fe80db3747fd1f57fcc7cb6a0b401f44561f6179acc9157497ef70cb60.json @@ -0,0 +1 @@ +{"ast":null,"code":"import dayjs from 'dayjs';\nimport { isEmpty } from '../../../utils/types.mjs';\nimport { isArray, isDate } from '@vue/shared';\nconst buildTimeList = (value, bound) => {\n return [value > 0 ? value - 1 : void 0, value, value < bound ? value + 1 : void 0];\n};\nconst rangeArr = n => Array.from(Array.from({\n length: n\n}).keys());\nconst extractDateFormat = format => {\n return format.replace(/\\W?m{1,2}|\\W?ZZ/g, \"\").replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, \"\").trim();\n};\nconst extractTimeFormat = format => {\n return format.replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?Y{2,4}/g, \"\").trim();\n};\nconst dateEquals = function (a, b) {\n const aIsDate = isDate(a);\n const bIsDate = isDate(b);\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime();\n }\n if (!aIsDate && !bIsDate) {\n return a === b;\n }\n return false;\n};\nconst valueEquals = function (a, b) {\n const aIsArray = isArray(a);\n const bIsArray = isArray(b);\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false;\n }\n return a.every((item, index) => dateEquals(item, b[index]));\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b);\n }\n return false;\n};\nconst parseDate = function (date, format, lang) {\n const day = isEmpty(format) || format === \"x\" ? dayjs(date).locale(lang) : dayjs(date, format).locale(lang);\n return day.isValid() ? day : void 0;\n};\nconst formatter = function (date, format, lang) {\n if (isEmpty(format)) return date;\n if (format === \"x\") return +date;\n return dayjs(date).locale(lang).format(format);\n};\nconst makeList = (total, method) => {\n var _a;\n const arr = [];\n const disabledArr = method == null ? void 0 : method();\n for (let i = 0; i < total; i++) {\n arr.push((_a = disabledArr == null ? void 0 : disabledArr.includes(i)) != null ? _a : false);\n }\n return arr;\n};\nconst dayOrDaysToDate = dayOrDays => {\n return isArray(dayOrDays) ? dayOrDays.map(d => d.toDate()) : dayOrDays.toDate();\n};\nexport { buildTimeList, dateEquals, dayOrDaysToDate, extractDateFormat, extractTimeFormat, formatter, makeList, parseDate, rangeArr, valueEquals };","map":{"version":3,"names":["buildTimeList","value","bound","rangeArr","n","Array","from","length","keys","extractDateFormat","format","replace","trim","extractTimeFormat","dateEquals","a","b","aIsDate","isDate","bIsDate","getTime","valueEquals","aIsArray","isArray","bIsArray","every","item","index","parseDate","date","lang","day","isEmpty","dayjs","locale","isValid","formatter","makeList","total","method","_a","arr","disabledArr","i","push","includes","dayOrDaysToDate","dayOrDays","map","d","toDate"],"sources":["../../../../../../packages/components/time-picker/src/utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport { isArray, isDate, isEmpty } from '@element-plus/utils'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateOrDates, DayOrDays } from './common/props'\n\nexport type TimeList = [number | undefined, number, undefined | number]\n\nexport const buildTimeList = (value: number, bound: number): TimeList => {\n return [\n value > 0 ? value - 1 : undefined,\n value,\n value < bound ? value + 1 : undefined,\n ]\n}\n\nexport const rangeArr = (n: number) =>\n Array.from(Array.from({ length: n }).keys())\n\nexport const extractDateFormat = (format: string) => {\n return format\n .replace(/\\W?m{1,2}|\\W?ZZ/g, '')\n .replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '')\n .trim()\n}\n\nexport const extractTimeFormat = (format: string) => {\n return format\n .replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?Y{2,4}/g, '')\n .trim()\n}\n\nexport const dateEquals = function (a: Date | unknown, b: Date | unknown) {\n const aIsDate = isDate(a)\n const bIsDate = isDate(b)\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nexport const valueEquals = function (\n a: Array | unknown,\n b: Array | unknown\n) {\n const aIsArray = isArray(a)\n const bIsArray = isArray(b)\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return a.every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nexport const parseDate = function (\n date: string | number | Date,\n format: string | undefined,\n lang: string\n) {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nexport const formatter = function (\n date: string | number | Date | Dayjs,\n format: string | undefined,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport const makeList = (total: number, method?: () => number[]) => {\n const arr: boolean[] = []\n const disabledArr = method?.()\n for (let i = 0; i < total; i++) {\n arr.push(disabledArr?.includes(i) ?? false)\n }\n return arr\n}\n\nexport const dayOrDaysToDate = (dayOrDays: DayOrDays): DateOrDates => {\n return isArray(dayOrDays)\n ? (dayOrDays.map((d) => d.toDate()) as [Date, Date])\n : dayOrDays.toDate()\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/115cddc1a6784d4acd715ee67fed586f0f66ec9ffb5efa95f61692757be5e1d5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/115cddc1a6784d4acd715ee67fed586f0f66ec9ffb5efa95f61692757be5e1d5.json new file mode 100644 index 00000000..9af8a67f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/115cddc1a6784d4acd715ee67fed586f0f66ec9ffb5efa95f61692757be5e1d5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val),\n onPausePath: $setup.pausePath,\n onResumePath: _ctx.resumePath,\n \"path-control-button-text\": $setup.pathControlButtonText,\n onPathControl: $setup.pathControl,\n \"current-drone-status\": _ctx.currentDrone.value.status\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\", \"onPausePath\", \"onResumePath\", \"path-control-button-text\", \"onPathControl\", \"current-drone-status\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","onPausePath","pausePath","onResumePath","_ctx","resumePath","pathControlButtonText","onPathControl","pathControl","currentDrone","status","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/116b3aaa7b1ede846906e2fdd649b686cb1b13387aaa264b7bb018d9046f9ca9.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/116b3aaa7b1ede846906e2fdd649b686cb1b13387aaa264b7bb018d9046f9ca9.json new file mode 100644 index 00000000..ba7e6893 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/116b3aaa7b1ede846906e2fdd649b686cb1b13387aaa264b7bb018d9046f9ca9.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"names":[],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@vue/devtools-api/lib/esm/api/hooks.js"],"sourcesContent":["export {};\n"],"mappings":"AAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11728364c7007ec2b3faa7427da9024362ed578264a05146a54e7aa1e29625ea.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11728364c7007ec2b3faa7427da9024362ed578264a05146a54e7aa1e29625ea.json new file mode 100644 index 00000000..fe679971 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11728364c7007ec2b3faa7427da9024362ed578264a05146a54e7aa1e29625ea.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\nexport default forEach;","map":{"version":3,"names":["arrayEach","baseEach","castFunction","isArray","forEach","collection","iteratee","func"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/forEach.js"],"sourcesContent":["import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEach;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,OAAO,MAAM,cAAc;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,UAAU,EAAEC,QAAQ,EAAE;EACrC,IAAIC,IAAI,GAAGJ,OAAO,CAACE,UAAU,CAAC,GAAGL,SAAS,GAAGC,QAAQ;EACrD,OAAOM,IAAI,CAACF,UAAU,EAAEH,YAAY,CAACI,QAAQ,CAAC,CAAC;AACjD;AAEA,eAAeF,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11d8c5b04cfd6a4488763c860bb5661ebf39aa1e616624db63f1ab60d845b734.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11d8c5b04cfd6a4488763c860bb5661ebf39aa1e616624db63f1ab60d845b734.json new file mode 100644 index 00000000..d78ff40b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11d8c5b04cfd6a4488763c860bb5661ebf39aa1e616624db63f1ab60d845b734.json @@ -0,0 +1 @@ +{"ast":null,"code":"import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A',\n '\\xc1': 'A',\n '\\xc2': 'A',\n '\\xc3': 'A',\n '\\xc4': 'A',\n '\\xc5': 'A',\n '\\xe0': 'a',\n '\\xe1': 'a',\n '\\xe2': 'a',\n '\\xe3': 'a',\n '\\xe4': 'a',\n '\\xe5': 'a',\n '\\xc7': 'C',\n '\\xe7': 'c',\n '\\xd0': 'D',\n '\\xf0': 'd',\n '\\xc8': 'E',\n '\\xc9': 'E',\n '\\xca': 'E',\n '\\xcb': 'E',\n '\\xe8': 'e',\n '\\xe9': 'e',\n '\\xea': 'e',\n '\\xeb': 'e',\n '\\xcc': 'I',\n '\\xcd': 'I',\n '\\xce': 'I',\n '\\xcf': 'I',\n '\\xec': 'i',\n '\\xed': 'i',\n '\\xee': 'i',\n '\\xef': 'i',\n '\\xd1': 'N',\n '\\xf1': 'n',\n '\\xd2': 'O',\n '\\xd3': 'O',\n '\\xd4': 'O',\n '\\xd5': 'O',\n '\\xd6': 'O',\n '\\xd8': 'O',\n '\\xf2': 'o',\n '\\xf3': 'o',\n '\\xf4': 'o',\n '\\xf5': 'o',\n '\\xf6': 'o',\n '\\xf8': 'o',\n '\\xd9': 'U',\n '\\xda': 'U',\n '\\xdb': 'U',\n '\\xdc': 'U',\n '\\xf9': 'u',\n '\\xfa': 'u',\n '\\xfb': 'u',\n '\\xfc': 'u',\n '\\xdd': 'Y',\n '\\xfd': 'y',\n '\\xff': 'y',\n '\\xc6': 'Ae',\n '\\xe6': 'ae',\n '\\xde': 'Th',\n '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A',\n '\\u0102': 'A',\n '\\u0104': 'A',\n '\\u0101': 'a',\n '\\u0103': 'a',\n '\\u0105': 'a',\n '\\u0106': 'C',\n '\\u0108': 'C',\n '\\u010a': 'C',\n '\\u010c': 'C',\n '\\u0107': 'c',\n '\\u0109': 'c',\n '\\u010b': 'c',\n '\\u010d': 'c',\n '\\u010e': 'D',\n '\\u0110': 'D',\n '\\u010f': 'd',\n '\\u0111': 'd',\n '\\u0112': 'E',\n '\\u0114': 'E',\n '\\u0116': 'E',\n '\\u0118': 'E',\n '\\u011a': 'E',\n '\\u0113': 'e',\n '\\u0115': 'e',\n '\\u0117': 'e',\n '\\u0119': 'e',\n '\\u011b': 'e',\n '\\u011c': 'G',\n '\\u011e': 'G',\n '\\u0120': 'G',\n '\\u0122': 'G',\n '\\u011d': 'g',\n '\\u011f': 'g',\n '\\u0121': 'g',\n '\\u0123': 'g',\n '\\u0124': 'H',\n '\\u0126': 'H',\n '\\u0125': 'h',\n '\\u0127': 'h',\n '\\u0128': 'I',\n '\\u012a': 'I',\n '\\u012c': 'I',\n '\\u012e': 'I',\n '\\u0130': 'I',\n '\\u0129': 'i',\n '\\u012b': 'i',\n '\\u012d': 'i',\n '\\u012f': 'i',\n '\\u0131': 'i',\n '\\u0134': 'J',\n '\\u0135': 'j',\n '\\u0136': 'K',\n '\\u0137': 'k',\n '\\u0138': 'k',\n '\\u0139': 'L',\n '\\u013b': 'L',\n '\\u013d': 'L',\n '\\u013f': 'L',\n '\\u0141': 'L',\n '\\u013a': 'l',\n '\\u013c': 'l',\n '\\u013e': 'l',\n '\\u0140': 'l',\n '\\u0142': 'l',\n '\\u0143': 'N',\n '\\u0145': 'N',\n '\\u0147': 'N',\n '\\u014a': 'N',\n '\\u0144': 'n',\n '\\u0146': 'n',\n '\\u0148': 'n',\n '\\u014b': 'n',\n '\\u014c': 'O',\n '\\u014e': 'O',\n '\\u0150': 'O',\n '\\u014d': 'o',\n '\\u014f': 'o',\n '\\u0151': 'o',\n '\\u0154': 'R',\n '\\u0156': 'R',\n '\\u0158': 'R',\n '\\u0155': 'r',\n '\\u0157': 'r',\n '\\u0159': 'r',\n '\\u015a': 'S',\n '\\u015c': 'S',\n '\\u015e': 'S',\n '\\u0160': 'S',\n '\\u015b': 's',\n '\\u015d': 's',\n '\\u015f': 's',\n '\\u0161': 's',\n '\\u0162': 'T',\n '\\u0164': 'T',\n '\\u0166': 'T',\n '\\u0163': 't',\n '\\u0165': 't',\n '\\u0167': 't',\n '\\u0168': 'U',\n '\\u016a': 'U',\n '\\u016c': 'U',\n '\\u016e': 'U',\n '\\u0170': 'U',\n '\\u0172': 'U',\n '\\u0169': 'u',\n '\\u016b': 'u',\n '\\u016d': 'u',\n '\\u016f': 'u',\n '\\u0171': 'u',\n '\\u0173': 'u',\n '\\u0174': 'W',\n '\\u0175': 'w',\n '\\u0176': 'Y',\n '\\u0177': 'y',\n '\\u0178': 'Y',\n '\\u0179': 'Z',\n '\\u017b': 'Z',\n '\\u017d': 'Z',\n '\\u017a': 'z',\n '\\u017c': 'z',\n '\\u017e': 'z',\n '\\u0132': 'IJ',\n '\\u0133': 'ij',\n '\\u0152': 'Oe',\n '\\u0153': 'oe',\n '\\u0149': \"'n\",\n '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\nexport default deburrLetter;","map":{"version":3,"names":["basePropertyOf","deburredLetters","deburrLetter"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_deburrLetter.js"],"sourcesContent":["import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nexport default deburrLetter;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11fc873de378cfe3163d3d351d952019782aa0a65a8bc229fe2da5d50de1cca2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11fc873de378cfe3163d3d351d952019782aa0a65a8bc229fe2da5d50de1cca2.json new file mode 100644 index 00000000..da65b88f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/11fc873de378cfe3163d3d351d952019782aa0a65a8bc229fe2da5d50de1cca2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, withModifiers as _withModifiers, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\";\nconst _hoisted_1 = {\n class: \"path-planning-panel\"\n};\nconst _hoisted_2 = {\n class: \"card-header\"\n};\nconst _hoisted_3 = {\n class: \"section\"\n};\nconst _hoisted_4 = {\n class: \"section\"\n};\nconst _hoisted_5 = {\n class: \"planning-info\"\n};\nconst _hoisted_6 = {\n class: \"mode-buttons\"\n};\nconst _hoisted_7 = {\n class: \"history-buttons\",\n style: {\n \"margin-bottom\": \"10px\"\n }\n};\nconst _hoisted_8 = {\n class: \"path-points-list\"\n};\nconst _hoisted_9 = {\n class: \"point-info\"\n};\nconst _hoisted_10 = {\n class: \"point-coords\"\n};\nconst _hoisted_11 = {\n class: \"point-type\"\n};\nconst _hoisted_12 = {\n key: 0,\n class: \"empty-hint\"\n};\nconst _hoisted_13 = {\n key: 1,\n class: \"hint\"\n};\nconst _hoisted_14 = {\n key: 2,\n class: \"summary\"\n};\nconst _hoisted_15 = {\n class: \"section\"\n};\nconst _hoisted_16 = {\n key: 0,\n class: \"section\"\n};\nconst _hoisted_17 = {\n class: \"path-info\"\n};\nconst _hoisted_18 = {\n class: \"info-item\"\n};\nconst _hoisted_19 = {\n class: \"value\"\n};\nconst _hoisted_20 = {\n class: \"info-item\"\n};\nconst _hoisted_21 = {\n class: \"value\"\n};\nconst _hoisted_22 = {\n class: \"info-item\"\n};\nconst _hoisted_23 = {\n class: \"value\"\n};\nconst _hoisted_24 = {\n class: \"info-item\"\n};\nconst _hoisted_25 = {\n class: \"value\"\n};\nconst _hoisted_26 = {\n key: 0,\n class: \"info-item threat-avoided\"\n};\nconst _hoisted_27 = {\n class: \"value\"\n};\nconst _hoisted_28 = {\n key: 1,\n class: \"info-item\"\n};\nconst _hoisted_29 = {\n class: \"section\"\n};\nconst _hoisted_30 = {\n class: \"map-controls\"\n};\nconst _hoisted_31 = {\n class: \"history-dialog-content\"\n};\nconst _hoisted_32 = {\n class: \"filter-section\"\n};\nconst _hoisted_33 = {\n class: \"history-paths-list\"\n};\nconst _hoisted_34 = [\"onClick\"];\nconst _hoisted_35 = {\n class: \"path-header\"\n};\nconst _hoisted_36 = {\n class: \"path-info\"\n};\nconst _hoisted_37 = {\n class: \"path-name\"\n};\nconst _hoisted_38 = {\n class: \"name\"\n};\nconst _hoisted_39 = {\n class: \"path-meta\"\n};\nconst _hoisted_40 = {\n class: \"distance\"\n};\nconst _hoisted_41 = {\n class: \"waypoints\"\n};\nconst _hoisted_42 = {\n class: \"algorithm\"\n};\nconst _hoisted_43 = {\n class: \"path-actions\"\n};\nconst _hoisted_44 = {\n key: 0,\n class: \"path-description\"\n};\nconst _hoisted_45 = {\n class: \"path-footer\"\n};\nconst _hoisted_46 = {\n class: \"created-time\"\n};\nconst _hoisted_47 = {\n key: 0,\n class: \"empty-state\"\n};\nconst _hoisted_48 = {\n class: \"dialog-footer\"\n};\nconst _hoisted_49 = {\n class: \"path-count\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_input_number = _resolveComponent(\"el-input-number\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_scrollbar = _resolveComponent(\"el-scrollbar\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_el_card, {\n class: \"planning-controls\"\n }, {\n header: _withCtx(() => [_createElementVNode(\"div\", _hoisted_2, [_cache[17] || (_cache[17] = _createElementVNode(\"span\", null, \"一对多路径规划\", -1 /* HOISTED */)), _createVNode(_component_el_button, {\n type: \"danger\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('clear-all'))\n }, {\n default: _withCtx(() => _cache[16] || (_cache[16] = [_createTextVNode(\" 清除所有 \")])),\n _: 1 /* STABLE */,\n __: [16]\n })])]),\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_form, {\n inline: \"\",\n \"label-width\": \"80px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"选择无人机\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.localSelectedDroneId,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.localSelectedDroneId = $event),\n placeholder: \"请选择无人机\",\n style: {\n \"width\": \"200px\"\n },\n onChange: $setup.onDroneChange\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.drones, drone => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: drone.id,\n label: drone.name,\n value: drone.id\n }, null, 8 /* PROPS */, [\"label\", \"value\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), _createElementVNode(\"div\", _hoisted_4, [_cache[22] || (_cache[22] = _createElementVNode(\"h4\", null, \"路径规划 (1对多)\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_el_alert, {\n type: \"info\",\n closable: false,\n \"show-icon\": \"\",\n style: {\n \"margin-bottom\": \"12px\"\n }\n }, {\n default: _withCtx(() => _cache[18] || (_cache[18] = [_createElementVNode(\"div\", {\n style: {\n \"font-size\": \"12px\"\n }\n }, [_createElementVNode(\"p\", null, \"• 第1个点为起点,其余为目标点\"), _createElementVNode(\"p\", null, \"• 系统将按最优顺序访问所有目标点\"), _createElementVNode(\"p\", null, \"• 优先访问安全区域的目标点\")], -1 /* HOISTED */)])),\n _: 1 /* STABLE */\n })]), _createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_el_button, {\n type: $props.addMode ? 'success' : 'default',\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = $event => _ctx.$emit('toggle-add-mode'))\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($props.addMode ? '停止添加' : '添加路径点'), 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"type\"]), _createVNode(_component_el_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = $event => _ctx.$emit('plan-path')),\n disabled: $props.pathPoints.length < 2\n }, {\n default: _withCtx(() => _cache[19] || (_cache[19] = [_createTextVNode(\" A*规划路径 \")])),\n _: 1 /* STABLE */,\n __: [19]\n }, 8 /* PROPS */, [\"disabled\"])]), _createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_el_button, {\n type: \"info\",\n size: \"small\",\n onClick: $setup.showHistoryDialog,\n icon: \"FolderOpened\"\n }, {\n default: _withCtx(() => _cache[20] || (_cache[20] = [_createTextVNode(\" 历史路径 \")])),\n _: 1 /* STABLE */,\n __: [20]\n }, 8 /* PROPS */, [\"onClick\"]), _createVNode(_component_el_button, {\n type: \"warning\",\n size: \"small\",\n onClick: $setup.clearCurrentPath,\n icon: \"Delete\",\n disabled: $props.pathPoints.length === 0\n }, {\n default: _withCtx(() => _cache[21] || (_cache[21] = [_createTextVNode(\" 清空当前 \")])),\n _: 1 /* STABLE */,\n __: [21]\n }, 8 /* PROPS */, [\"onClick\", \"disabled\"])]), _createElementVNode(\"div\", _hoisted_8, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.pathPoints, (point, index) => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: _normalizeClass([\"path-point-item\", {\n 'start-point': index === 0,\n 'target-point': index > 0\n }])\n }, [_createElementVNode(\"span\", {\n class: _normalizeClass([\"point-index\", {\n 'start': index === 0\n }])\n }, _toDisplayString(index === 0 ? '起' : index), 3 /* TEXT, CLASS */), _createElementVNode(\"div\", _hoisted_9, [_createElementVNode(\"div\", _hoisted_10, _toDisplayString(point.lng.toFixed(4)) + \", \" + _toDisplayString(point.lat.toFixed(4)), 1 /* TEXT */), _createElementVNode(\"div\", _hoisted_11, _toDisplayString(index === 0 ? '起点' : `目标点${index}`), 1 /* TEXT */)]), _createVNode(_component_el_button, {\n type: \"danger\",\n size: \"small\",\n icon: \"Delete\",\n circle: \"\",\n onClick: $event => _ctx.$emit('remove-point', index),\n style: {\n \"margin-left\": \"auto\"\n }\n }, null, 8 /* PROPS */, [\"onClick\"])], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */)), $props.pathPoints.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, \" 点击地图添加路径点 \")) : _createCommentVNode(\"v-if\", true), $props.pathPoints.length === 1 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, \" 再添加至少1个目标点 \")) : _createCommentVNode(\"v-if\", true), $props.pathPoints.length > 1 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, \" 总计: 1个起点 + \" + _toDisplayString($props.pathPoints.length - 1) + \"个目标点 \", 1 /* TEXT */)) : _createCommentVNode(\"v-if\", true)])]), _createElementVNode(\"div\", _hoisted_15, [_cache[26] || (_cache[26] = _createElementVNode(\"h4\", null, \"A*算法参数\", -1 /* HOISTED */)), _createVNode(_component_el_form, {\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"算法\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.algorithm,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.algorithm = $event),\n style: {\n \"width\": \"100%\"\n },\n onChange: $setup.onAlgorithmChange,\n disabled: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"A*算法 (威胁区避障)\",\n value: \"astar\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"]), _cache[23] || (_cache[23] = _createElementVNode(\"div\", {\n class: \"algorithm-desc\"\n }, \" 智能避开威胁区域,优化访问顺序 \", -1 /* HOISTED */))]),\n _: 1 /* STABLE */,\n __: [23]\n }), _createVNode(_component_el_form_item, {\n label: \"飞行高度\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.altitude,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $setup.altitude = $event),\n min: 10,\n max: 500,\n step: 10,\n style: {\n \"width\": \"100%\"\n },\n onChange: $setup.onAltitudeChange\n }, null, 8 /* PROPS */, [\"modelValue\", \"onChange\"]), _cache[24] || (_cache[24] = _createElementVNode(\"span\", {\n class: \"unit\"\n }, \"米\", -1 /* HOISTED */))]),\n _: 1 /* STABLE */,\n __: [24]\n }), _createVNode(_component_el_form_item, {\n label: \"飞行速度\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.speed,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.speed = $event),\n min: 1,\n max: 50,\n step: 1,\n style: {\n \"width\": \"100%\"\n },\n onChange: $setup.onSpeedChange\n }, null, 8 /* PROPS */, [\"modelValue\", \"onChange\"]), _cache[25] || (_cache[25] = _createElementVNode(\"span\", {\n class: \"unit\"\n }, \"m/s\", -1 /* HOISTED */))]),\n _: 1 /* STABLE */,\n __: [25]\n })]),\n _: 1 /* STABLE */\n })]), $props.pathInfo ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [_cache[35] || (_cache[35] = _createElementVNode(\"h4\", null, \"路径规划结果\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_17, [_createElementVNode(\"div\", _hoisted_18, [_cache[27] || (_cache[27] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"算法:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_19, _toDisplayString($setup.getAlgorithmName($props.pathInfo.algorithm)), 1 /* TEXT */)]), _createElementVNode(\"div\", _hoisted_20, [_cache[28] || (_cache[28] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"总距离:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_21, _toDisplayString(($props.pathInfo.distance / 1000).toFixed(2)) + \" km\", 1 /* TEXT */)]), _createElementVNode(\"div\", _hoisted_22, [_cache[29] || (_cache[29] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"预计时间:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_23, _toDisplayString($props.pathInfo.duration) + \" 分钟\", 1 /* TEXT */)]), _createElementVNode(\"div\", _hoisted_24, [_cache[30] || (_cache[30] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"路径点数:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_25, _toDisplayString($props.pathInfo.pointCount) + \" 个\", 1 /* TEXT */)]), $props.pathInfo.threatZonesAvoided && $props.pathInfo.threatZonesAvoided.length > 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [_cache[31] || (_cache[31] = _createElementVNode(\"span\", {\n class: \"label\"\n }, \"避开威胁:\", -1 /* HOISTED */)), _createElementVNode(\"span\", _hoisted_27, _toDisplayString($props.pathInfo.threatZonesAvoided.length) + \" 个区域\", 1 /* TEXT */)])) : _createCommentVNode(\"v-if\", true), $props.pathInfo.targetOrder && $props.pathInfo.targetOrder.length > 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, _cache[32] || (_cache[32] = [_createElementVNode(\"span\", {\n class: \"label\"\n }, \"访问顺序:\", -1 /* HOISTED */), _createElementVNode(\"span\", {\n class: \"value\"\n }, \"已优化\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true)]), _createVNode(_component_el_button, {\n type: \"success\",\n onClick: _cache[7] || (_cache[7] = $event => _ctx.$emit('execute-path')),\n style: {\n \"width\": \"100%\",\n \"margin-top\": \"12px\"\n }\n }, {\n default: _withCtx(() => _cache[33] || (_cache[33] = [_createTextVNode(\" 执行路径规划 \")])),\n _: 1 /* STABLE */,\n __: [33]\n }), _createVNode(_component_el_button, {\n type: \"warning\",\n onClick: _cache[8] || (_cache[8] = $event => _ctx.$emit('pause-path')),\n style: {\n \"width\": \"100%\",\n \"margin-top\": \"8px\"\n }\n }, {\n default: _withCtx(() => _cache[34] || (_cache[34] = [_createTextVNode(\" 暂停飞行 \")])),\n _: 1 /* STABLE */,\n __: [34]\n })])) : _createCommentVNode(\"v-if\", true), _createElementVNode(\"div\", _hoisted_29, [_cache[39] || (_cache[39] = _createElementVNode(\"h4\", null, \"地图显示\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_30, [_createVNode(_component_el_button_group, {\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n type: \"default\",\n size: \"small\",\n disabled: $props.pathPoints.length === 0,\n onClick: _cache[9] || (_cache[9] = $event => _ctx.$emit('center-to-start')),\n style: {\n \"width\": \"33%\"\n }\n }, {\n default: _withCtx(() => _cache[36] || (_cache[36] = [_createTextVNode(\" 起点 \")])),\n _: 1 /* STABLE */,\n __: [36]\n }, 8 /* PROPS */, [\"disabled\"]), _createVNode(_component_el_button, {\n type: \"default\",\n size: \"small\",\n disabled: $props.pathPoints.length < 2,\n onClick: _cache[10] || (_cache[10] = $event => _ctx.$emit('center-to-end')),\n style: {\n \"width\": \"33%\"\n }\n }, {\n default: _withCtx(() => _cache[37] || (_cache[37] = [_createTextVNode(\" 终点 \")])),\n _: 1 /* STABLE */,\n __: [37]\n }, 8 /* PROPS */, [\"disabled\"]), _createVNode(_component_el_button, {\n type: \"default\",\n size: \"small\",\n disabled: $props.pathPoints.length === 0,\n onClick: _cache[11] || (_cache[11] = $event => _ctx.$emit('fit-to-path')),\n style: {\n \"width\": \"34%\"\n }\n }, {\n default: _withCtx(() => _cache[38] || (_cache[38] = [_createTextVNode(\" 全路径 \")])),\n _: 1 /* STABLE */,\n __: [38]\n }, 8 /* PROPS */, [\"disabled\"])]),\n _: 1 /* STABLE */\n })])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 历史路径选择对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.historyDialogVisible,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => $setup.historyDialogVisible = $event),\n title: \"选择历史路径\",\n width: \"800px\",\n onClose: $setup.resetHistoryDialog\n }, {\n footer: _withCtx(() => [_createElementVNode(\"div\", _hoisted_48, [_createElementVNode(\"span\", _hoisted_49, \"共 \" + _toDisplayString($setup.filteredHistoryPaths.length) + \" 条路径\", 1 /* TEXT */), _createElementVNode(\"div\", null, [_createVNode(_component_el_button, {\n onClick: _cache[14] || (_cache[14] = $event => $setup.historyDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[43] || (_cache[43] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [43]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.confirmLoadPath,\n disabled: !$setup.selectedHistoryPath\n }, {\n default: _withCtx(() => _cache[44] || (_cache[44] = [_createTextVNode(\" 确定加载 \")])),\n _: 1 /* STABLE */,\n __: [44]\n }, 8 /* PROPS */, [\"onClick\", \"disabled\"])])])]),\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_31, [_createCommentVNode(\" 筛选区域 \"), _createElementVNode(\"div\", _hoisted_32, [_createVNode(_component_el_row, {\n gutter: 10\n }, {\n default: _withCtx(() => [_createVNode(_component_el_col, {\n span: 8\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.filterStatus,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => $setup.filterStatus = $event),\n placeholder: \"筛选状态\",\n size: \"small\",\n onChange: $setup.loadHistoryPaths\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"全部状态\",\n value: \"\"\n }), _createVNode(_component_el_option, {\n label: \"已规划\",\n value: \"planned\"\n }), _createVNode(_component_el_option, {\n label: \"执行中\",\n value: \"executing\"\n }), _createVNode(_component_el_option, {\n label: \"已完成\",\n value: \"completed\"\n }), _createVNode(_component_el_option, {\n label: \"已失败\",\n value: \"failed\"\n }), _createVNode(_component_el_option, {\n label: \"已取消\",\n value: \"cancelled\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_col, {\n span: 8\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.filterAlgorithm,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => $setup.filterAlgorithm = $event),\n placeholder: \"筛选算法\",\n size: \"small\",\n onChange: $setup.loadHistoryPaths\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"全部算法\",\n value: \"\"\n }), _createVNode(_component_el_option, {\n label: \"A*算法\",\n value: \"astar\"\n }), _createVNode(_component_el_option, {\n label: \"直线规划\",\n value: \"straight\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_col, {\n span: 8\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $setup.loadHistoryPaths,\n icon: \"Refresh\"\n }, {\n default: _withCtx(() => _cache[40] || (_cache[40] = [_createTextVNode(\" 刷新 \")])),\n _: 1 /* STABLE */,\n __: [40]\n }, 8 /* PROPS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), _createCommentVNode(\" 历史路径列表 \"), _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_33, [_createVNode(_component_el_scrollbar, {\n height: \"400px\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.filteredHistoryPaths, path => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: path.id,\n class: _normalizeClass([\"history-path-item\", {\n 'selected': $setup.selectedHistoryPath?.id === path.id\n }]),\n onClick: $event => $setup.selectHistoryPath(path)\n }, [_createElementVNode(\"div\", _hoisted_35, [_createElementVNode(\"div\", _hoisted_36, [_createElementVNode(\"div\", _hoisted_37, [_createElementVNode(\"span\", {\n class: \"color-indicator\",\n style: _normalizeStyle({\n backgroundColor: path.color\n })\n }, null, 4 /* STYLE */), _createElementVNode(\"span\", _hoisted_38, _toDisplayString(path.name), 1 /* TEXT */), _createVNode(_component_el_tag, {\n type: $setup.getStatusType(path.status),\n size: \"small\",\n class: \"status-tag\"\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.getStatusText(path.status)), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"type\"])]), _createElementVNode(\"div\", _hoisted_39, [_createElementVNode(\"span\", _hoisted_40, _toDisplayString($setup.formatDistance(path.distance)), 1 /* TEXT */), _createElementVNode(\"span\", _hoisted_41, _toDisplayString(path.waypoint_count) + \"个点\", 1 /* TEXT */), _createElementVNode(\"span\", _hoisted_42, _toDisplayString(path.algorithm.toUpperCase()), 1 /* TEXT */)])]), _createElementVNode(\"div\", _hoisted_43, [_createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: _withModifiers($event => $setup.loadHistoryPath(path), [\"stop\"])\n }, {\n default: _withCtx(() => [...(_cache[41] || (_cache[41] = [_createTextVNode(\" 加载路径 \")]))]),\n _: 2 /* DYNAMIC */,\n __: [41]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])])]), path.description ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_createElementVNode(\"p\", null, _toDisplayString(path.description), 1 /* TEXT */)])) : _createCommentVNode(\"v-if\", true), _createElementVNode(\"div\", _hoisted_45, [_createElementVNode(\"span\", _hoisted_46, _toDisplayString($setup.formatTime(path.created_at)), 1 /* TEXT */)])], 10 /* CLASS, PROPS */, _hoisted_34);\n }), 128 /* KEYED_FRAGMENT */)), $setup.filteredHistoryPaths.length === 0 && !$setup.historyLoading ? (_openBlock(), _createElementBlock(\"div\", _hoisted_47, _cache[42] || (_cache[42] = [_createElementVNode(\"p\", null, \"暂无历史路径\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true)]),\n _: 1 /* STABLE */\n })])), [[_directive_loading, $setup.historyLoading]])])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onClose\"])]);\n}","map":{"version":3,"names":["class","style","_createElementBlock","_hoisted_1","_createVNode","_component_el_card","header","_withCtx","_createElementVNode","_hoisted_2","_component_el_button","type","size","onClick","_cache","$event","_ctx","$emit","_hoisted_3","_component_el_form","inline","_component_el_form_item","label","_component_el_select","$setup","localSelectedDroneId","placeholder","onChange","onDroneChange","_Fragment","_renderList","$props","drones","drone","_createBlock","_component_el_option","key","id","name","value","_hoisted_4","_hoisted_5","_component_el_alert","closable","default","_hoisted_6","addMode","disabled","pathPoints","length","_hoisted_7","showHistoryDialog","icon","clearCurrentPath","_hoisted_8","point","index","_normalizeClass","_hoisted_9","_hoisted_10","_toDisplayString","lng","toFixed","lat","_hoisted_11","circle","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","algorithm","onAlgorithmChange","_component_el_input_number","altitude","min","max","step","onAltitudeChange","speed","onSpeedChange","pathInfo","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","getAlgorithmName","_hoisted_20","_hoisted_21","distance","_hoisted_22","_hoisted_23","duration","_hoisted_24","_hoisted_25","pointCount","threatZonesAvoided","_hoisted_26","_hoisted_27","targetOrder","_hoisted_28","_hoisted_29","_hoisted_30","_component_el_button_group","_createCommentVNode","_component_el_dialog","historyDialogVisible","title","width","onClose","resetHistoryDialog","footer","_hoisted_48","_hoisted_49","filteredHistoryPaths","confirmLoadPath","selectedHistoryPath","_hoisted_31","_hoisted_32","_component_el_row","gutter","_component_el_col","span","filterStatus","loadHistoryPaths","filterAlgorithm","_hoisted_33","_component_el_scrollbar","height","path","selectHistoryPath","_hoisted_35","_hoisted_36","_hoisted_37","_normalizeStyle","backgroundColor","color","_hoisted_38","_component_el_tag","getStatusType","status","getStatusText","_hoisted_39","_hoisted_40","formatDistance","_hoisted_41","waypoint_count","_hoisted_42","toUpperCase","_hoisted_43","_withModifiers","loadHistoryPath","description","_hoisted_44","_hoisted_45","_hoisted_46","formatTime","created_at","historyLoading","_hoisted_47"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\map-panels\\PathPlanningPanel.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/12194abd28a953cd178c39e9e908854e55dc9ec097559a4c70abee9a181b09f2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/12194abd28a953cd178c39e9e908854e55dc9ec097559a4c70abee9a181b09f2.json new file mode 100644 index 00000000..ac266e2b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/12194abd28a953cd178c39e9e908854e55dc9ec097559a4c70abee9a181b09f2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createMathOperation from './_createMathOperation.js';\n\n/**\n * Adds two numbers.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {number} augend The first number in an addition.\n * @param {number} addend The second number in an addition.\n * @returns {number} Returns the total.\n * @example\n *\n * _.add(6, 4);\n * // => 10\n */\nvar add = createMathOperation(function (augend, addend) {\n return augend + addend;\n}, 0);\nexport default add;","map":{"version":3,"names":["createMathOperation","add","augend","addend"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/add.js"],"sourcesContent":["import createMathOperation from './_createMathOperation.js';\n\n/**\n * Adds two numbers.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {number} augend The first number in an addition.\n * @param {number} addend The second number in an addition.\n * @returns {number} Returns the total.\n * @example\n *\n * _.add(6, 4);\n * // => 10\n */\nvar add = createMathOperation(function(augend, addend) {\n return augend + addend;\n}, 0);\n\nexport default add;\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,2BAA2B;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,GAAG,GAAGD,mBAAmB,CAAC,UAASE,MAAM,EAAEC,MAAM,EAAE;EACrD,OAAOD,MAAM,GAAGC,MAAM;AACxB,CAAC,EAAE,CAAC,CAAC;AAEL,eAAeF,GAAG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/125a2ff383a3536ca6a153b4ecdca950c33ae23d8b65d0d6b16cf89f6d8084d1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/125a2ff383a3536ca6a153b4ecdca950c33ae23d8b65d0d6b16cf89f6d8084d1.json new file mode 100644 index 00000000..2a1ed7ba --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/125a2ff383a3536ca6a153b4ecdca950c33ae23d8b65d0d6b16cf89f6d8084d1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, reactive, onMounted, onUnmounted } from 'vue';\nimport axios from 'axios';\nexport default {\n name: 'OperationLogsPanel',\n setup() {\n const logs = ref([]);\n const loading = ref(false);\n const error = ref('');\n const showDetailModal = ref(false);\n const selectedLog = ref(null);\n const filters = reactive({\n operationType: '',\n operationResult: '',\n userName: '',\n dateFrom: '',\n dateTo: ''\n });\n const pagination = reactive({\n page: 1,\n limit: 20,\n total: 0,\n totalPages: 0\n });\n let searchTimeout = null;\n\n // 加载日志\n const loadLogs = async () => {\n if (loading.value) return;\n loading.value = true;\n error.value = '';\n try {\n const params = {\n page: pagination.page,\n limit: pagination.limit,\n ...filters\n };\n\n // 清除空值\n Object.keys(params).forEach(key => {\n if (params[key] === '' || params[key] === null || params[key] === undefined) {\n delete params[key];\n }\n });\n const response = await axios.get('/api/operation-logs', {\n params\n });\n if (response.data.success) {\n logs.value = response.data.data.logs;\n Object.assign(pagination, response.data.data.pagination);\n } else {\n error.value = response.data.message || '加载日志失败';\n }\n } catch (err) {\n console.error('加载操作日志失败:', err);\n error.value = '加载日志失败: ' + (err.response?.data?.message || err.message);\n } finally {\n loading.value = false;\n }\n };\n\n // 刷新日志\n const refreshLogs = () => {\n pagination.page = 1;\n loadLogs();\n };\n\n // 清空筛选条件\n const clearFilters = () => {\n Object.keys(filters).forEach(key => {\n filters[key] = '';\n });\n pagination.page = 1;\n loadLogs();\n };\n\n // 防抖搜索\n const debounceSearch = () => {\n if (searchTimeout) {\n clearTimeout(searchTimeout);\n }\n searchTimeout = setTimeout(() => {\n pagination.page = 1;\n loadLogs();\n }, 500);\n };\n\n // 切换页面\n const changePage = page => {\n if (page >= 1 && page <= pagination.totalPages) {\n pagination.page = page;\n loadLogs();\n }\n };\n\n // 显示日志详情\n const showLogDetail = async log => {\n try {\n const response = await axios.get(`/api/operation-logs/${log.id}`);\n if (response.data.success) {\n selectedLog.value = response.data.data;\n showDetailModal.value = true;\n }\n } catch (err) {\n console.error('获取日志详情失败:', err);\n alert('获取日志详情失败');\n }\n };\n\n // 关闭详情弹窗\n const closeDetailModal = () => {\n showDetailModal.value = false;\n selectedLog.value = null;\n };\n\n // 获取操作图标\n const getOperationIcon = type => {\n const icons = {\n 'create_threat_zone': 'fas fa-shield-alt',\n 'delete_threat_zone': 'fas fa-trash-alt',\n 'plan_path': 'fas fa-route',\n 'plan_multi_to_multi': 'fas fa-project-diagram',\n 'save_scheme': 'fas fa-save',\n 'delete_scheme': 'fas fa-times'\n };\n return icons[type] || 'fas fa-cog';\n };\n\n // 获取状态样式类\n const getStatusClass = status => {\n return {\n 'status-success': status === 'success',\n 'status-failed': status === 'failed',\n 'status-partial': status === 'partial'\n };\n };\n\n // 获取状态文本\n const getStatusText = status => {\n const texts = {\n 'success': '成功',\n 'failed': '失败',\n 'partial': '部分成功'\n };\n return texts[status] || status;\n };\n\n // 获取日志项样式类\n const getLogItemClass = log => {\n return {\n 'log-success': log.operation_result === 'success',\n 'log-failed': log.operation_result === 'failed',\n 'log-partial': log.operation_result === 'partial'\n };\n };\n\n // 格式化日期时间\n const formatDateTime = dateStr => {\n if (!dateStr) return '';\n const date = new Date(dateStr);\n return date.toLocaleString('zh-CN');\n };\n\n // 格式化JSON\n const formatJson = data => {\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n return data;\n }\n }\n return JSON.stringify(data, null, 2);\n };\n onMounted(() => {\n loadLogs();\n });\n onUnmounted(() => {\n if (searchTimeout) {\n clearTimeout(searchTimeout);\n }\n });\n return {\n logs,\n loading,\n error,\n filters,\n pagination,\n showDetailModal,\n selectedLog,\n loadLogs,\n refreshLogs,\n clearFilters,\n debounceSearch,\n changePage,\n showLogDetail,\n closeDetailModal,\n getOperationIcon,\n getStatusClass,\n getStatusText,\n getLogItemClass,\n formatDateTime,\n formatJson\n };\n }\n};","map":{"version":3,"names":["ref","reactive","onMounted","onUnmounted","axios","name","setup","logs","loading","error","showDetailModal","selectedLog","filters","operationType","operationResult","userName","dateFrom","dateTo","pagination","page","limit","total","totalPages","searchTimeout","loadLogs","value","params","Object","keys","forEach","key","undefined","response","get","data","success","assign","message","err","console","refreshLogs","clearFilters","debounceSearch","clearTimeout","setTimeout","changePage","showLogDetail","log","id","alert","closeDetailModal","getOperationIcon","type","icons","getStatusClass","status","getStatusText","texts","getLogItemClass","operation_result","formatDateTime","dateStr","date","Date","toLocaleString","formatJson","JSON","parse","e","stringify"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\map-panels\\OperationLogsPanel.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/127fa3649b0817768569d80a0d5f6abc97c4b71d7f48f21d2a574aab7b0d323b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/127fa3649b0817768569d80a0d5f6abc97c4b71d7f48f21d2a574aab7b0d323b.json new file mode 100644 index 00000000..f8d99de9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/127fa3649b0817768569d80a0d5f6abc97c4b71d7f48f21d2a574aab7b0d323b.json @@ -0,0 +1 @@ +{"ast":null,"code":"function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}\nexport { easeInOutCubic };","map":{"version":3,"names":["easeInOutCubic","t","b","c","d","cc"],"sources":["../../../../packages/utils/easings.ts"],"sourcesContent":["export function easeInOutCubic(t: number, b: number, c: number, d: number) {\n const cc = c - b\n t /= d / 2\n if (t < 1) {\n return (cc / 2) * t * t * t + b\n }\n return (cc / 2) * ((t -= 2) * t * t + 2) + b\n}\n"],"mappings":"AAAO,SAASA,cAAcA,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;EACzC,MAAMC,EAAE,GAAGF,CAAC,GAAGD,CAAC;EAChBD,CAAC,IAAIG,CAAC,GAAG,CAAC;EACV,IAAIH,CAAC,GAAG,CAAC,EAAE;IACT,OAAOI,EAAE,GAAG,CAAC,GAAGJ,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGC,CAAC;EACjC;EACE,OAAOG,EAAE,GAAG,CAAC,IAAI,CAACJ,CAAC,IAAI,CAAC,IAAIA,CAAC,GAAGA,CAAC,GAAG,CAAC,CAAC,GAAGC,CAAC;AAC5C","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/128188f3530c37d4a06c16ec4dfc2c9f5ec11919e8a680b07d08cd4001f87595.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/128188f3530c37d4a06c16ec4dfc2c9f5ec11919e8a680b07d08cd4001f87595.json new file mode 100644 index 00000000..7e0127f0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/128188f3530c37d4a06c16ec4dfc2c9f5ec11919e8a680b07d08cd4001f87595.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, computed, onMounted, watch } from 'vue';\nimport { ElMessage } from 'element-plus';\nimport axios from 'axios';\nexport default {\n name: 'PathPlanningPanel',\n components: {},\n props: {\n drones: {\n type: Array,\n default: () => []\n },\n selectedDroneId: {\n type: [Number, String],\n default: null\n },\n pathPoints: {\n type: Array,\n default: () => []\n },\n addMode: {\n type: Boolean,\n default: false\n },\n planningAlgorithm: {\n type: String,\n default: 'astar'\n },\n flightAltitude: {\n type: Number,\n default: 100\n },\n flightSpeed: {\n type: Number,\n default: 10\n },\n pathInfo: {\n type: Object,\n default: null\n },\n pathControlButtonText: {\n type: String,\n default: '暂停'\n }\n },\n emits: ['toggle-add-mode', 'clear-all', 'plan-path', 'execute-path', 'remove-point', 'center-to-start', 'center-to-end', 'fit-to-path', 'select-drone', 'update-planning-algorithm', 'update-flight-altitude', 'update-flight-speed', 'load-history-path', 'update-selected-drone-id', 'path-control'],\n setup(props, {\n emit\n }) {\n // 创建响应式引用,与props保持同步\n const droneId = computed({\n get: () => props.selectedDroneId,\n set: value => emit('select-drone', value)\n });\n const algorithm = computed({\n get: () => props.planningAlgorithm,\n set: value => emit('update-planning-algorithm', value)\n });\n const altitude = computed({\n get: () => props.flightAltitude,\n set: value => emit('update-flight-altitude', value)\n });\n const speed = computed({\n get: () => props.flightSpeed,\n set: value => emit('update-flight-speed', value)\n });\n\n // 处理函数\n const onSelectDrone = value => {\n emit('select-drone', value);\n };\n const onAlgorithmChange = value => {\n emit('update-planning-algorithm', value);\n };\n const onAltitudeChange = value => {\n emit('update-flight-altitude', value);\n };\n const onSpeedChange = value => {\n emit('update-flight-speed', value);\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 历史路径相关状态\n const historyDialogVisible = ref(false);\n const historyLoading = ref(false);\n const historyPaths = ref([]);\n const selectedHistoryPath = ref(null);\n const filterStatus = ref('');\n const filterAlgorithm = ref('');\n const API_URL = process.env.VUE_APP_API_URL || 'http://localhost:3000';\n\n // 筛选后的历史路径\n const filteredHistoryPaths = computed(() => {\n let result = [...historyPaths.value];\n if (filterStatus.value) {\n result = result.filter(path => path.status === filterStatus.value);\n }\n if (filterAlgorithm.value) {\n result = result.filter(path => path.algorithm === filterAlgorithm.value);\n }\n return result;\n });\n\n // 测试API连接\n const testApiConnection = async () => {\n try {\n console.log('测试API连接:', `${API_URL}/api/path-planning/history/all`);\n const response = await fetch(`${API_URL}/api/path-planning/history/all`);\n console.log('API响应状态:', response.status);\n const data = await response.json();\n console.log('API响应数据:', data);\n return data;\n } catch (error) {\n console.error('API连接测试失败:', error);\n return null;\n }\n };\n\n // 显示历史路径对话框\n const showHistoryDialog = async () => {\n historyDialogVisible.value = true;\n\n // 先测试API连接\n console.log('当前API_URL:', API_URL);\n const testResult = await testApiConnection();\n if (!testResult) {\n ElMessage.error('无法连接到后端服务,请确保后端服务已启动');\n return;\n }\n loadHistoryPaths();\n };\n\n // 加载历史路径列表\n const loadHistoryPaths = async () => {\n historyLoading.value = true;\n try {\n console.log('正在获取历史路径列表...');\n\n // 添加认证头(如果需要)\n const token = localStorage.getItem('token');\n const config = {};\n if (token) {\n config.headers = {\n 'Authorization': `Bearer ${token}`\n };\n }\n const response = await axios.get(`${API_URL}/api/path-planning/history/all`, config);\n console.log('历史路径API响应:', response.data);\n if (response.data.success) {\n historyPaths.value = response.data.data || [];\n console.log(`成功加载${historyPaths.value.length}条历史路径`);\n } else {\n ElMessage.error(response.data.message || '获取历史路径失败');\n }\n } catch (error) {\n console.error('获取历史路径失败:', error);\n if (error.response) {\n console.error('响应状态:', error.response.status);\n console.error('响应数据:', error.response.data);\n ElMessage.error(`获取历史路径失败: ${error.response.data?.message || error.response.statusText}`);\n } else if (error.request) {\n console.error('请求失败,无响应');\n ElMessage.error('网络请求失败,请检查网络连接');\n } else {\n ElMessage.error('获取历史路径失败: ' + error.message);\n }\n } finally {\n historyLoading.value = false;\n }\n };\n\n // 选择历史路径\n const selectHistoryPath = path => {\n selectedHistoryPath.value = path;\n };\n\n // 加载历史路径到当前规划\n const loadHistoryPath = async path => {\n try {\n console.log('正在加载历史路径:', path);\n\n // 添加认证头(如果需要)\n const token = localStorage.getItem('token');\n const config = {};\n if (token) {\n config.headers = {\n 'Authorization': `Bearer ${token}`\n };\n }\n\n // 获取完整的路径详情(包含路径点)\n const response = await axios.get(`${API_URL}/api/path-planning/${path.id}`, config);\n console.log('API响应:', response.data);\n if (response.data.success) {\n const pathData = response.data.data;\n\n // 解析路径点数据\n let pathPoints = [];\n if (pathData.path_points) {\n // 如果path_points是字符串,需要解析\n if (typeof pathData.path_points === 'string') {\n try {\n pathPoints = JSON.parse(pathData.path_points);\n } catch (e) {\n console.error('解析路径点失败:', e);\n pathPoints = [];\n }\n } else {\n pathPoints = pathData.path_points;\n }\n }\n\n // 确保路径点格式正确\n if (Array.isArray(pathPoints) && pathPoints.length > 0) {\n // 检查路径点格式并转换\n pathPoints = pathPoints.map((point, index) => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat) && lng >= -180 && lng <= 180 && lat >= -90 && lat <= 90) {\n return {\n lng: lng,\n lat: lat,\n altitude: parseFloat(point.altitude) || parseFloat(pathData.flight_altitude) || 100\n };\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat) && lng >= -180 && lng <= 180 && lat >= -90 && lat <= 90) {\n return {\n lng: lng,\n lat: lat,\n altitude: parseFloat(point[2]) || parseFloat(pathData.flight_altitude) || 100\n };\n }\n }\n console.warn(`跳过无效路径点 (索引${index}):`, point);\n return null;\n }).filter(point => point !== null);\n }\n if (!pathPoints || pathPoints.length === 0) {\n ElMessage.error('历史路径不包含有效的路径点数据');\n return;\n }\n console.log(`成功验证${pathPoints.length}个有效路径点`);\n\n // 最终验证所有路径点\n const invalidPoints = pathPoints.filter(point => !point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat) || !isFinite(point.lng) || !isFinite(point.lat));\n if (invalidPoints.length > 0) {\n console.error('发现无效路径点:', invalidPoints);\n ElMessage.error(`路径数据包含${invalidPoints.length}个无效点,无法加载`);\n return;\n }\n console.log('处理后的路径点:', pathPoints);\n\n // 创建路径信息\n const pathInfo = {\n algorithm: pathData.algorithm || 'astar',\n distance: pathData.distance || 0,\n duration: pathData.estimated_time || 0,\n pointCount: pathPoints.length,\n threatZonesAvoided: pathData.threat_zones_avoided || [],\n path: pathData.smoothed_path_points || pathData.path_points || pathPoints\n };\n\n // 通过事件通知父组件加载路径\n emit('load-history-path', {\n pathPoints: pathPoints,\n algorithm: pathData.algorithm || 'astar',\n flightAltitude: parseFloat(pathData.flight_altitude) || 100,\n flightSpeed: parseFloat(pathData.flight_speed) || 10,\n pathInfo: pathInfo\n });\n historyDialogVisible.value = false;\n ElMessage.success(`已加载历史路径: ${pathData.name}`);\n } else {\n ElMessage.error(response.data.message || '获取路径详情失败');\n }\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败: ' + (error.response?.data?.message || error.message));\n }\n };\n\n // 确认加载选中的路径\n const confirmLoadPath = () => {\n if (selectedHistoryPath.value) {\n loadHistoryPath(selectedHistoryPath.value);\n }\n };\n\n // 重置历史对话框\n const resetHistoryDialog = () => {\n selectedHistoryPath.value = null;\n filterStatus.value = '';\n filterAlgorithm.value = '';\n };\n\n // 清空当前路径\n const clearCurrentPath = () => {\n emit('clear-all');\n };\n\n // 格式化距离\n const formatDistance = distance => {\n if (distance >= 1000) {\n return `${(distance / 1000).toFixed(2)}km`;\n }\n return `${Math.round(distance)}m`;\n };\n\n // 格式化时间\n const formatTime = time => {\n return new Date(time).toLocaleString('zh-CN');\n };\n\n // 获取状态类型\n const getStatusType = status => {\n const statusMap = {\n planned: 'info',\n executing: 'warning',\n completed: 'success',\n failed: 'danger',\n cancelled: 'info'\n };\n return statusMap[status] || 'info';\n };\n\n // 获取状态文本\n const getStatusText = status => {\n const statusMap = {\n planned: '已规划',\n executing: '执行中',\n completed: '已完成',\n failed: '已失败',\n cancelled: '已取消'\n };\n return statusMap[status] || status;\n };\n\n // 新增无人机选择\n const localSelectedDroneId = ref(props.selectedDroneId);\n\n // 监听selectedDroneId的变化\n watch(() => props.selectedDroneId, val => {\n localSelectedDroneId.value = val;\n });\n\n // 无人机选择变化时的处理函数\n const onDroneChange = val => {\n emit('update-selected-drone-id', val);\n };\n return {\n droneId,\n algorithm,\n altitude,\n speed,\n onSelectDrone,\n onAlgorithmChange,\n onAltitudeChange,\n onSpeedChange,\n getAlgorithmName,\n // 历史路径相关\n historyDialogVisible,\n historyLoading,\n historyPaths,\n selectedHistoryPath,\n filterStatus,\n filterAlgorithm,\n filteredHistoryPaths,\n showHistoryDialog,\n loadHistoryPaths,\n testApiConnection,\n selectHistoryPath,\n loadHistoryPath,\n confirmLoadPath,\n resetHistoryDialog,\n clearCurrentPath,\n formatDistance,\n formatTime,\n getStatusType,\n getStatusText,\n // 新增无人机选择\n localSelectedDroneId,\n onDroneChange\n };\n }\n};","map":{"version":3,"names":["ref","computed","onMounted","watch","ElMessage","axios","name","components","props","drones","type","Array","default","selectedDroneId","Number","String","pathPoints","addMode","Boolean","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","Object","pathControlButtonText","emits","setup","emit","droneId","get","set","value","algorithm","altitude","speed","onSelectDrone","onAlgorithmChange","onAltitudeChange","onSpeedChange","getAlgorithmName","algorithmNames","astar","rrt","genetic","straight","historyDialogVisible","historyLoading","historyPaths","selectedHistoryPath","filterStatus","filterAlgorithm","API_URL","process","env","VUE_APP_API_URL","filteredHistoryPaths","result","filter","path","status","testApiConnection","console","log","response","fetch","data","json","error","showHistoryDialog","testResult","loadHistoryPaths","token","localStorage","getItem","config","headers","success","length","message","statusText","request","selectHistoryPath","loadHistoryPath","id","pathData","path_points","JSON","parse","e","isArray","map","point","index","lng","undefined","lat","parseFloat","isNaN","isFinite","flight_altitude","warn","invalidPoints","distance","duration","estimated_time","pointCount","threatZonesAvoided","threat_zones_avoided","smoothed_path_points","flight_speed","confirmLoadPath","resetHistoryDialog","clearCurrentPath","formatDistance","toFixed","Math","round","formatTime","time","Date","toLocaleString","getStatusType","statusMap","planned","executing","completed","failed","cancelled","getStatusText","localSelectedDroneId","val","onDroneChange"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\components\\map-panels\\PathPlanningPanel.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/12938af073231528cdc2ff4326d9ba6b7aa246cad709db2bfcedfabdebcbb6b5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/12938af073231528cdc2ff4326d9ba6b7aa246cad709db2bfcedfabdebcbb6b5.json new file mode 100644 index 00000000..2a0dfa37 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/12938af073231528cdc2ff4326d9ba6b7aa246cad709db2bfcedfabdebcbb6b5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function (value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\nexport default baseAggregator;","map":{"version":3,"names":["baseEach","baseAggregator","collection","setter","iteratee","accumulator","value","key"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseAggregator.js"],"sourcesContent":["import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nexport default baseAggregator;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACC,UAAU,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,EAAE;EACjEL,QAAQ,CAACE,UAAU,EAAE,UAASI,KAAK,EAAEC,GAAG,EAAEL,UAAU,EAAE;IACpDC,MAAM,CAACE,WAAW,EAAEC,KAAK,EAAEF,QAAQ,CAACE,KAAK,CAAC,EAAEJ,UAAU,CAAC;EACzD,CAAC,CAAC;EACF,OAAOG,WAAW;AACpB;AAEA,eAAeJ,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/130d02b6a717ce82909345ee00f1404430a862a19126688c0c2a58f4af04824f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/130d02b6a717ce82909345ee00f1404430a862a19126688c0c2a58f4af04824f.json new file mode 100644 index 00000000..bf945744 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/130d02b6a717ce82909345ee00f1404430a862a19126688c0c2a58f4af04824f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseRest from './_baseRest.js';\nimport unzip from './unzip.js';\n\n/**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\nvar zip = baseRest(unzip);\nexport default zip;","map":{"version":3,"names":["baseRest","unzip","zip"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/zip.js"],"sourcesContent":["import baseRest from './_baseRest.js';\nimport unzip from './unzip.js';\n\n/**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\nvar zip = baseRest(unzip);\n\nexport default zip;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,KAAK,MAAM,YAAY;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,GAAG,GAAGF,QAAQ,CAACC,KAAK,CAAC;AAEzB,eAAeC,GAAG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13254328e74fcaa246180946de34ac59d238c8e9defb8c78506f560c38dc8de7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13254328e74fcaa246180946de34ac59d238c8e9defb8c78506f560c38dc8de7.json new file mode 100644 index 00000000..3c6083a4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13254328e74fcaa246180946de34ac59d238c8e9defb8c78506f560c38dc8de7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\nexport default uniqueId;","map":{"version":3,"names":["toString","idCounter","uniqueId","prefix","id"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/uniqueId.js"],"sourcesContent":["import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nexport default uniqueId;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,eAAe;;AAEpC;AACA,IAAIC,SAAS,GAAG,CAAC;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,MAAM,EAAE;EACxB,IAAIC,EAAE,GAAG,EAAEH,SAAS;EACpB,OAAOD,QAAQ,CAACG,MAAM,CAAC,GAAGC,EAAE;AAC9B;AAEA,eAAeF,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/138a74fe3df4be1c459bb6ac3d30817a5fe6159601505e8c9dcbe27d566e6ef6.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/138a74fe3df4be1c459bb6ac3d30817a5fe6159601505e8c9dcbe27d566e6ef6.json new file mode 100644 index 00000000..af4322d1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/138a74fe3df4be1c459bb6ac3d30817a5fe6159601505e8c9dcbe27d566e6ef6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isClient } from '@vueuse/core';\nimport { easeInOutCubic } from '../easings.mjs';\nimport { isWindow } from '../types.mjs';\nimport { rAF, cAF } from '../raf.mjs';\nimport { getStyle } from './style.mjs';\nimport { isFunction } from '@vue/shared';\nconst isScroll = (el, isVertical) => {\n if (!isClient) return false;\n const key = {\n undefined: \"overflow\",\n true: \"overflow-y\",\n false: \"overflow-x\"\n }[String(isVertical)];\n const overflow = getStyle(el, key);\n return [\"scroll\", \"auto\", \"overlay\"].some(s => overflow.includes(s));\n};\nconst getScrollContainer = (el, isVertical) => {\n if (!isClient) return;\n let parent = el;\n while (parent) {\n if ([window, document, document.documentElement].includes(parent)) return window;\n if (isScroll(parent, isVertical)) return parent;\n parent = parent.parentNode;\n }\n return parent;\n};\nlet scrollBarWidth;\nconst getScrollBarWidth = namespace => {\n var _a;\n if (!isClient) return 0;\n if (scrollBarWidth !== void 0) return scrollBarWidth;\n const outer = document.createElement(\"div\");\n outer.className = `${namespace}-scrollbar__wrap`;\n outer.style.visibility = \"hidden\";\n outer.style.width = \"100px\";\n outer.style.position = \"absolute\";\n outer.style.top = \"-9999px\";\n document.body.appendChild(outer);\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = \"scroll\";\n const inner = document.createElement(\"div\");\n inner.style.width = \"100%\";\n outer.appendChild(inner);\n const widthWithScroll = inner.offsetWidth;\n (_a = outer.parentNode) == null ? void 0 : _a.removeChild(outer);\n scrollBarWidth = widthNoScroll - widthWithScroll;\n return scrollBarWidth;\n};\nfunction scrollIntoView(container, selected) {\n if (!isClient) return;\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n const offsetParents = [];\n let pointer = selected.offsetParent;\n while (pointer !== null && container !== pointer && container.contains(pointer)) {\n offsetParents.push(pointer);\n pointer = pointer.offsetParent;\n }\n const top = selected.offsetTop + offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0);\n const bottom = top + selected.offsetHeight;\n const viewRectTop = container.scrollTop;\n const viewRectBottom = viewRectTop + container.clientHeight;\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}\nfunction animateScrollTo(container, from, to, duration, callback) {\n const startTime = Date.now();\n let handle;\n const scroll = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, from, to, duration);\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n handle = rAF(scroll);\n } else if (isFunction(callback)) {\n callback();\n }\n };\n scroll();\n return () => {\n handle && cAF(handle);\n };\n}\nconst getScrollElement = (target, container) => {\n if (isWindow(container)) {\n return target.ownerDocument.documentElement;\n }\n return container;\n};\nconst getScrollTop = container => {\n if (isWindow(container)) {\n return window.scrollY;\n }\n return container.scrollTop;\n};\nexport { animateScrollTo, getScrollBarWidth, getScrollContainer, getScrollElement, getScrollTop, isScroll, scrollIntoView };","map":{"version":3,"names":["isScroll","el","isVertical","isClient","key","undefined","true","false","String","overflow","getStyle","some","s","includes","getScrollContainer","parent","window","document","documentElement","parentNode","scrollBarWidth","getScrollBarWidth","namespace","_a","outer","createElement","className","style","visibility","width","position","top","body","appendChild","widthNoScroll","offsetWidth","inner","widthWithScroll","removeChild","scrollIntoView","container","selected","scrollTop","offsetParents","pointer","offsetParent","contains","push","offsetTop","reduce","prev","curr","bottom","offsetHeight","viewRectTop","viewRectBottom","clientHeight","animateScrollTo","from","to","duration","callback","startTime","Date","now","handle","scroll","timestamp","time","nextScrollTop","easeInOutCubic","isWindow","scrollTo","pageXOffset","rAF","isFunction","cAF","getScrollElement","target","ownerDocument","getScrollTop","scrollY"],"sources":["../../../../../packages/utils/dom/scroll.ts"],"sourcesContent":["import { isClient } from '../browser'\nimport { easeInOutCubic } from '../easings'\nimport { isFunction, isWindow } from '../types'\nimport { cAF, rAF } from '../raf'\nimport { getStyle } from './style'\n\nexport const isScroll = (el: HTMLElement, isVertical?: boolean): boolean => {\n if (!isClient) return false\n\n const key = (\n {\n undefined: 'overflow',\n true: 'overflow-y',\n false: 'overflow-x',\n } as const\n )[String(isVertical)]!\n const overflow = getStyle(el, key)\n return ['scroll', 'auto', 'overlay'].some((s) => overflow.includes(s))\n}\n\nexport const getScrollContainer = (\n el: HTMLElement,\n isVertical?: boolean\n): Window | HTMLElement | undefined => {\n if (!isClient) return\n\n let parent: HTMLElement = el\n while (parent) {\n if ([window, document, document.documentElement].includes(parent))\n return window\n\n if (isScroll(parent, isVertical)) return parent\n\n parent = parent.parentNode as HTMLElement\n }\n\n return parent\n}\n\nlet scrollBarWidth: number\nexport const getScrollBarWidth = (namespace: string): number => {\n if (!isClient) return 0\n if (scrollBarWidth !== undefined) return scrollBarWidth\n\n const outer = document.createElement('div')\n outer.className = `${namespace}-scrollbar__wrap`\n outer.style.visibility = 'hidden'\n outer.style.width = '100px'\n outer.style.position = 'absolute'\n outer.style.top = '-9999px'\n document.body.appendChild(outer)\n\n const widthNoScroll = outer.offsetWidth\n outer.style.overflow = 'scroll'\n\n const inner = document.createElement('div')\n inner.style.width = '100%'\n outer.appendChild(inner)\n\n const widthWithScroll = inner.offsetWidth\n outer.parentNode?.removeChild(outer)\n scrollBarWidth = widthNoScroll - widthWithScroll\n\n return scrollBarWidth\n}\n\n/**\n * Scroll with in the container element, positioning the **selected** element at the top\n * of the container\n */\nexport function scrollIntoView(\n container: HTMLElement,\n selected: HTMLElement\n): void {\n if (!isClient) return\n\n if (!selected) {\n container.scrollTop = 0\n return\n }\n\n const offsetParents: HTMLElement[] = []\n let pointer = selected.offsetParent\n while (\n pointer !== null &&\n container !== pointer &&\n container.contains(pointer)\n ) {\n offsetParents.push(pointer as HTMLElement)\n pointer = (pointer as HTMLElement).offsetParent\n }\n const top =\n selected.offsetTop +\n offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0)\n const bottom = top + selected.offsetHeight\n const viewRectTop = container.scrollTop\n const viewRectBottom = viewRectTop + container.clientHeight\n\n if (top < viewRectTop) {\n container.scrollTop = top\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight\n }\n}\n\nexport function animateScrollTo(\n container: HTMLElement | Window,\n from: number,\n to: number,\n duration: number,\n callback?: unknown\n) {\n const startTime = Date.now()\n\n let handle: number | undefined\n const scroll = () => {\n const timestamp = Date.now()\n const time = timestamp - startTime\n const nextScrollTop = easeInOutCubic(\n time > duration ? duration : time,\n from,\n to,\n duration\n )\n\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop)\n } else {\n container.scrollTop = nextScrollTop\n }\n if (time < duration) {\n handle = rAF(scroll)\n } else if (isFunction(callback)) {\n callback()\n }\n }\n\n scroll()\n\n return () => {\n handle && cAF(handle)\n }\n}\n\nexport const getScrollElement = (\n target: HTMLElement,\n container: HTMLElement | Window\n) => {\n if (isWindow(container)) {\n return target.ownerDocument.documentElement\n }\n return container\n}\n\nexport const getScrollTop = (container: HTMLElement | Window) => {\n if (isWindow(container)) {\n return window.scrollY\n }\n return container.scrollTop\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13bc5c66fb447d1cd0c25856709c8dc1017d5941c574ed2acf05c37073c0eb4c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13bc5c66fb447d1cd0c25856709c8dc1017d5941c574ed2acf05c37073c0eb4c.json new file mode 100644 index 00000000..289843fb --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13bc5c66fb447d1cd0c25856709c8dc1017d5941c574ed2acf05c37073c0eb4c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Anchor from './src/anchor2.mjs';\nimport AnchorLink from './src/anchor-link2.mjs';\nexport { anchorEmits, anchorProps } from './src/anchor.mjs';\nimport { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';\nconst ElAnchor = withInstall(Anchor, {\n AnchorLink\n});\nconst ElAnchorLink = withNoopInstall(AnchorLink);\nexport { ElAnchor, ElAnchorLink, ElAnchor as default };","map":{"version":3,"names":["ElAnchor","withInstall","Anchor","AnchorLink","ElAnchorLink","withNoopInstall"],"sources":["../../../../../packages/components/anchor/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Anchor from './src/anchor.vue'\nimport AnchorLink from './src/anchor-link.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElAnchor: SFCWithInstall & {\n AnchorLink: typeof AnchorLink\n} = withInstall(Anchor, {\n AnchorLink,\n})\nexport const ElAnchorLink: SFCWithInstall =\n withNoopInstall(AnchorLink)\nexport default ElAnchor\n\nexport * from './src/anchor'\n"],"mappings":";;;;AAGY,MAACA,QAAQ,GAAGC,WAAW,CAACC,MAAM,EAAE;EAC1CC;AACF,CAAC;AACW,MAACC,YAAY,GAAGC,eAAe,CAACF,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/141210b308fe2ae4812db16f24130659b83c6e8bebcf7e36e9a58ec3350533e2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/141210b308fe2ae4812db16f24130659b83c6e8bebcf7e36e9a58ec3350533e2.json new file mode 100644 index 00000000..f4f375e1 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/141210b308fe2ae4812db16f24130659b83c6e8bebcf7e36e9a58ec3350533e2.json @@ -0,0 +1 @@ +{"ast":null,"code":"const TOOLTIP_INJECTION_KEY = Symbol(\"elTooltip\");\nexport { TOOLTIP_INJECTION_KEY };","map":{"version":3,"names":["TOOLTIP_INJECTION_KEY","Symbol"],"sources":["../../../../../../packages/components/tooltip/src/constants.ts"],"sourcesContent":["import type { Arrayable } from '@element-plus/utils'\nimport type { InjectionKey, Ref } from 'vue'\nimport type { TooltipTriggerType } from './trigger'\n\nexport type ElTooltipInjectionContext = {\n controlled: Ref\n id: Ref\n open: Ref\n trigger: Ref>\n onOpen: (e?: Event) => void\n onClose: (e?: Event) => void\n onToggle: (e: Event) => void\n onShow: () => void\n onHide: () => void\n onBeforeShow: () => void\n onBeforeHide: () => void\n updatePopper: () => void\n}\n\nexport const TOOLTIP_INJECTION_KEY: InjectionKey =\n Symbol('elTooltip')\n"],"mappings":"AAAY,MAACA,qBAAqB,GAAGC,MAAM,CAAC,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1478b3a016d2ddec63d86292b129062c2f68c8781de8e49d8f7bca5e83c704b8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1478b3a016d2ddec63d86292b129062c2f68c8781de8e49d8f7bca5e83c704b8.json new file mode 100644 index 00000000..d28e7127 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1478b3a016d2ddec63d86292b129062c2f68c8781de8e49d8f7bca5e83c704b8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { EVENT_CODE } from '../../../constants/aria.mjs';\nconst MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nconst getDirectionAwareKey = (key, dir) => {\n if (dir !== \"rtl\") return key;\n switch (key) {\n case EVENT_CODE.right:\n return EVENT_CODE.left;\n case EVENT_CODE.left:\n return EVENT_CODE.right;\n default:\n return key;\n }\n};\nconst getFocusIntent = (event, orientation, dir) => {\n const key = getDirectionAwareKey(event.code, dir);\n if (orientation === \"vertical\" && [EVENT_CODE.left, EVENT_CODE.right].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [EVENT_CODE.up, EVENT_CODE.down].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n};\nconst reorderArray = (array, atIdx) => {\n return array.map((_, idx) => array[(idx + atIdx) % array.length]);\n};\nconst focusFirst = elements => {\n const {\n activeElement: prevActive\n } = document;\n for (const element of elements) {\n if (element === prevActive) return;\n element.focus();\n if (prevActive !== document.activeElement) return;\n }\n};\nexport { focusFirst, getFocusIntent, reorderArray };","map":{"version":3,"names":["MAP_KEY_TO_FOCUS_INTENT","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","getDirectionAwareKey","key","dir","EVENT_CODE","right","left","getFocusIntent","event","orientation","code","includes","up","down","reorderArray","array","atIdx","map","_","idx","length","focusFirst","elements","activeElement","prevActive","document","element","focus"],"sources":["../../../../../../packages/components/roving-focus-group/src/utils.ts"],"sourcesContent":["import { EVENT_CODE } from '@element-plus/constants'\nimport type { HTMLAttributes } from 'vue'\n\ntype Orientation = HTMLAttributes['aria-orientation']\ntype Direction = 'ltr' | 'rtl'\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next'\n\nconst MAP_KEY_TO_FOCUS_INTENT: Record = {\n ArrowLeft: 'prev',\n ArrowUp: 'prev',\n ArrowRight: 'next',\n ArrowDown: 'next',\n PageUp: 'first',\n Home: 'first',\n PageDown: 'last',\n End: 'last',\n}\n\nconst getDirectionAwareKey = (key: string, dir?: Direction) => {\n if (dir !== 'rtl') return key\n\n switch (key) {\n case EVENT_CODE.right:\n return EVENT_CODE.left\n case EVENT_CODE.left:\n return EVENT_CODE.right\n default:\n return key\n }\n}\n\nexport const getFocusIntent = (\n event: KeyboardEvent,\n orientation?: Orientation,\n dir?: Direction\n) => {\n const key = getDirectionAwareKey(event.code, dir)\n if (\n orientation === 'vertical' &&\n [EVENT_CODE.left, EVENT_CODE.right].includes(key)\n )\n return undefined\n if (\n orientation === 'horizontal' &&\n [EVENT_CODE.up, EVENT_CODE.down].includes(key)\n )\n return undefined\n return MAP_KEY_TO_FOCUS_INTENT[key]\n}\n\nexport const reorderArray = (array: T[], atIdx: number) => {\n return array.map((_, idx) => array[(idx + atIdx) % array.length])\n}\n\nexport const focusFirst = (elements: HTMLElement[]) => {\n const { activeElement: prevActive } = document\n\n for (const element of elements) {\n if (element === prevActive) return\n element.focus()\n if (prevActive !== document.activeElement) return\n }\n}\n"],"mappings":";AACA,MAAMA,uBAAuB,GAAG;EAC9BC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,OAAO;EACfC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE,MAAM;EAChBC,GAAG,EAAE;AACP,CAAC;AACD,MAAMC,oBAAoB,GAAGA,CAACC,GAAG,EAAEC,GAAG,KAAK;EACzC,IAAIA,GAAG,KAAK,KAAK,EACf,OAAOD,GAAG;EACZ,QAAQA,GAAG;IACT,KAAKE,UAAU,CAACC,KAAK;MACnB,OAAOD,UAAU,CAACE,IAAI;IACxB,KAAKF,UAAU,CAACE,IAAI;MAClB,OAAOF,UAAU,CAACC,KAAK;IACzB;MACE,OAAOH,GAAG;EAChB;AACA,CAAC;AACW,MAACK,cAAc,GAAGA,CAACC,KAAK,EAAEC,WAAW,EAAEN,GAAG,KAAK;EACzD,MAAMD,GAAG,GAAGD,oBAAoB,CAACO,KAAK,CAACE,IAAI,EAAEP,GAAG,CAAC;EACjD,IAAIM,WAAW,KAAK,UAAU,IAAI,CAACL,UAAU,CAACE,IAAI,EAAEF,UAAU,CAACC,KAAK,CAAC,CAACM,QAAQ,CAACT,GAAG,CAAC,EACjF,OAAO,KAAK,CAAC;EACf,IAAIO,WAAW,KAAK,YAAY,IAAI,CAACL,UAAU,CAACQ,EAAE,EAAER,UAAU,CAACS,IAAI,CAAC,CAACF,QAAQ,CAACT,GAAG,CAAC,EAChF,OAAO,KAAK,CAAC;EACf,OAAOV,uBAAuB,CAACU,GAAG,CAAC;AACrC;AACY,MAACY,YAAY,GAAGA,CAACC,KAAK,EAAEC,KAAK,KAAK;EAC5C,OAAOD,KAAK,CAACE,GAAG,CAAC,CAACC,CAAC,EAAEC,GAAG,KAAKJ,KAAK,CAAC,CAACI,GAAG,GAAGH,KAAK,IAAID,KAAK,CAACK,MAAM,CAAC,CAAC;AACnE;AACY,MAACC,UAAU,GAAIC,QAAQ,IAAK;EACtC,MAAM;IAAEC,aAAa,EAAEC;EAAU,CAAE,GAAGC,QAAQ;EAC9C,KAAK,MAAMC,OAAO,IAAIJ,QAAQ,EAAE;IAC9B,IAAII,OAAO,KAAKF,UAAU,EACxB;IACFE,OAAO,CAACC,KAAK,EAAE;IACf,IAAIH,UAAU,KAAKC,QAAQ,CAACF,aAAa,EACvC;EACN;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/148789014793f2f995ad06d2c37e852c0db7a309d58b2608f7e97b6896d725e8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/148789014793f2f995ad06d2c37e852c0db7a309d58b2608f7e97b6896d725e8.json new file mode 100644 index 00000000..863ce98f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/148789014793f2f995ad06d2c37e852c0db7a309d58b2608f7e97b6896d725e8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Space from './src/space.mjs';\nexport { spaceProps } from './src/space.mjs';\nexport { spaceItemProps } from './src/item.mjs';\nexport { useSpace } from './src/use-space.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\nconst ElSpace = withInstall(Space);\nexport { ElSpace, ElSpace as default };","map":{"version":3,"names":["ElSpace","withInstall","Space"],"sources":["../../../../../packages/components/space/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\n\nimport Space from './src/space'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElSpace: SFCWithInstall = withInstall(Space)\nexport default ElSpace\n\nexport * from './src/space'\nexport * from './src/item'\nexport * from './src/use-space'\n"],"mappings":";;;;;AAEY,MAACA,OAAO,GAAGC,WAAW,CAACC,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14cbd9a8d85d49f2d8814ae8216d46aba81017cc4b7fa7b327144d3cd183e902.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14cbd9a8d85d49f2d8814ae8216d46aba81017cc4b7fa7b327144d3cd183e902.json new file mode 100644 index 00000000..175c2253 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14cbd9a8d85d49f2d8814ae8216d46aba81017cc4b7fa7b327144d3cd183e902.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Upload from './src/upload2.mjs';\nexport { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './src/upload.mjs';\nexport { uploadContentProps } from './src/upload-content.mjs';\nexport { uploadListEmits, uploadListProps } from './src/upload-list.mjs';\nexport { uploadDraggerEmits, uploadDraggerProps } from './src/upload-dragger.mjs';\nexport { uploadContextKey } from './src/constants.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\nconst ElUpload = withInstall(Upload);\nexport { ElUpload, ElUpload as default };","map":{"version":3,"names":["ElUpload","withInstall","Upload"],"sources":["../../../../../packages/components/upload/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Upload from './src/upload.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElUpload: SFCWithInstall = withInstall(Upload)\nexport default ElUpload\n\nexport * from './src/upload'\nexport * from './src/upload-content'\nexport * from './src/upload-list'\nexport * from './src/upload-dragger'\nexport * from './src/constants'\n"],"mappings":";;;;;;;AAEY,MAACA,QAAQ,GAAGC,WAAW,CAACC,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14d59ee2489a5011c61f2e856f8893f4b2c915624fa3415cb6ea1ac4aacafb15.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14d59ee2489a5011c61f2e856f8893f4b2c915624fa3415cb6ea1ac4aacafb15.json new file mode 100644 index 00000000..3597a64b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14d59ee2489a5011c61f2e856f8893f4b2c915624fa3415cb6ea1ac4aacafb15.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Empty from './src/empty.mjs';\nexport { emptyProps } from './src/empty2.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\nconst ElEmpty = withInstall(Empty);\nexport { ElEmpty, ElEmpty as default };","map":{"version":3,"names":["ElEmpty","withInstall","Empty"],"sources":["../../../../../packages/components/empty/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\n\nimport Empty from './src/empty.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElEmpty: SFCWithInstall = withInstall(Empty)\nexport default ElEmpty\n\nexport * from './src/empty'\nexport type { EmptyInstance } from './src/instance'\n"],"mappings":";;;AAEY,MAACA,OAAO,GAAGC,WAAW,CAACC,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14fc748bac296c66cbd4ba27aa9d1f7256fa3ffbe73c628258248f41464b2004.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14fc748bac296c66cbd4ba27aa9d1f7256fa3ffbe73c628258248f41464b2004.json new file mode 100644 index 00000000..d13bbd97 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/14fc748bac296c66cbd4ba27aa9d1f7256fa3ffbe73c628258248f41464b2004.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_table = _resolveComponent(\"el-table\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createBlock(_component_el_card, null, {\n default: _withCtx(() => [_cache[12] || (_cache[12] = _createElementVNode(\"h2\", null, \"无人机管理\", -1 /* HOISTED */)), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: _cache[0] || (_cache[0] = $event => $data.dialogVisible = true),\n style: {\n \"margin-bottom\": \"20px\"\n }\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"添加无人机\")])),\n _: 1 /* STABLE */,\n __: [9]\n }), _createVNode(_component_el_table, {\n data: $data.drones,\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"id\",\n label: \"ID\",\n width: \"80\"\n }), _createVNode(_component_el_table_column, {\n prop: \"name\",\n label: \"名称\",\n width: \"120\"\n }), _createVNode(_component_el_table_column, {\n prop: \"type\",\n label: \"类型/型号\",\n width: \"120\"\n }), _createVNode(_component_el_table_column, {\n prop: \"serial_number\",\n label: \"序列号\",\n width: \"160\"\n }), _createVNode(_component_el_table_column, {\n prop: \"description\",\n label: \"备注\",\n width: \"200\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"data\"]), _createVNode(_component_el_dialog, {\n title: \"添加无人机\",\n modelValue: $data.dialogVisible,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $data.dialogVisible = $event),\n width: \"500px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[7] || (_cache[7] = $event => $data.dialogVisible = false)\n }, {\n default: _withCtx(() => _cache[10] || (_cache[10] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [10]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $options.addDrone\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"确定\")])),\n _: 1 /* STABLE */,\n __: [11]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $data.form,\n \"label-width\": \"100px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"名称\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.name,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.form.name = $event),\n placeholder: \"请输入名称\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"类型/型号\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.form.type = $event),\n placeholder: \"如Mavic 3/Matrice 300\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"序列号\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.serial_number,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.form.serial_number = $event),\n placeholder: \"请输入无人机序列号\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"App Key\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.app_key,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.form.app_key = $event),\n placeholder: \"请输入App Key\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"App Secret\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.app_secret,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.form.app_secret = $event),\n placeholder: \"请输入App Secret\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"备注\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.description,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $data.form.description = $event),\n placeholder: \"可填写用途、特殊配置等\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */,\n __: [12]\n });\n}","map":{"version":3,"names":["_createBlock","_component_el_card","_createElementVNode","_createVNode","_component_el_button","type","onClick","_cache","$event","$data","dialogVisible","style","_component_el_table","data","drones","_component_el_table_column","prop","label","width","_component_el_dialog","title","footer","_withCtx","$options","addDrone","_component_el_form","model","form","_component_el_form_item","required","_component_el_input","name","placeholder","serial_number","app_key","app_secret","description"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\DroneListView.vue"],"sourcesContent":["\r\n\r\n "],"mappings":";;;;;;;;;;uBACEA,YAAA,CAoCUC,kBAAA;sBAnCR,MAAc,C,4BAAdC,mBAAA,CAAc,YAAV,OAAK,sBACTC,YAAA,CAAsGC,oBAAA;MAA3FC,IAAI,EAAC,SAAS;MAAEC,OAAK,EAAAC,MAAA,QAAAA,MAAA,MAAAC,MAAA,IAAEC,KAAA,CAAAC,aAAa;MAASC,KAA4B,EAA5B;QAAA;MAAA;;wBAA6B,MAAKJ,MAAA,QAAAA,MAAA,O,iBAAL,OAAK,E;;;QAC1FJ,YAAA,CAMWS,mBAAA;MANAC,IAAI,EAAEJ,KAAA,CAAAK,MAAM;MAAEH,KAAoB,EAApB;QAAA;MAAA;;wBACvB,MAAmD,CAAnDR,YAAA,CAAmDY,0BAAA;QAAlCC,IAAI,EAAC,IAAI;QAACC,KAAK,EAAC,IAAI;QAACC,KAAK,EAAC;UAC5Cf,YAAA,CAAsDY,0BAAA;QAArCC,IAAI,EAAC,MAAM;QAACC,KAAK,EAAC,IAAI;QAACC,KAAK,EAAC;UAC9Cf,YAAA,CAAyDY,0BAAA;QAAxCC,IAAI,EAAC,MAAM;QAACC,KAAK,EAAC,OAAO;QAACC,KAAK,EAAC;UACjDf,YAAA,CAAgEY,0BAAA;QAA/CC,IAAI,EAAC,eAAe;QAACC,KAAK,EAAC,KAAK;QAACC,KAAK,EAAC;UACxDf,YAAA,CAA6DY,0BAAA;QAA5CC,IAAI,EAAC,aAAa;QAACC,KAAK,EAAC,IAAI;QAACC,KAAK,EAAC;;;iCAEvDf,YAAA,CAyBYgB,oBAAA;MAzBDC,KAAK,EAAC,OAAO;kBAAUX,KAAA,CAAAC,aAAa;iEAAbD,KAAA,CAAAC,aAAa,GAAAF,MAAA;MAAEU,KAAK,EAAC;;MAqB1CG,MAAM,EAAAC,QAAA,CACf,MAAwD,CAAxDnB,YAAA,CAAwDC,oBAAA;QAA5CE,OAAK,EAAAC,MAAA,QAAAA,MAAA,MAAAC,MAAA,IAAEC,KAAA,CAAAC,aAAa;;0BAAU,MAAEH,MAAA,SAAAA,MAAA,Q,iBAAF,IAAE,E;;;UAC5CJ,YAAA,CAA0DC,oBAAA;QAA/CC,IAAI,EAAC,SAAS;QAAEC,OAAK,EAAEiB,QAAA,CAAAC;;0BAAU,MAAEjB,MAAA,SAAAA,MAAA,Q,iBAAF,IAAE,E;;;;wBAtBhD,MAmBU,CAnBVJ,YAAA,CAmBUsB,kBAAA;QAnBAC,KAAK,EAAEjB,KAAA,CAAAkB,IAAI;QAAE,aAAW,EAAC;;0BACjC,MAEe,CAFfxB,YAAA,CAEeyB,uBAAA;UAFDX,KAAK,EAAC,IAAI;UAACY,QAAQ,EAAR;;4BACvB,MAAoD,CAApD1B,YAAA,CAAoD2B,mBAAA;wBAAjCrB,KAAA,CAAAkB,IAAI,CAACI,IAAI;uEAATtB,KAAA,CAAAkB,IAAI,CAACI,IAAI,GAAAvB,MAAA;YAAEwB,WAAW,EAAC;;;YAE5C7B,YAAA,CAEeyB,uBAAA;UAFDX,KAAK,EAAC,OAAO;UAACY,QAAQ,EAAR;;4BAC1B,MAAmE,CAAnE1B,YAAA,CAAmE2B,mBAAA;wBAAhDrB,KAAA,CAAAkB,IAAI,CAACtB,IAAI;uEAATI,KAAA,CAAAkB,IAAI,CAACtB,IAAI,GAAAG,MAAA;YAAEwB,WAAW,EAAC;;;YAE5C7B,YAAA,CAEeyB,uBAAA;UAFDX,KAAK,EAAC,KAAK;UAACY,QAAQ,EAAR;;4BACxB,MAAiE,CAAjE1B,YAAA,CAAiE2B,mBAAA;wBAA9CrB,KAAA,CAAAkB,IAAI,CAACM,aAAa;uEAAlBxB,KAAA,CAAAkB,IAAI,CAACM,aAAa,GAAAzB,MAAA;YAAEwB,WAAW,EAAC;;;YAErD7B,YAAA,CAEeyB,uBAAA;UAFDX,KAAK,EAAC,SAAS;UAACY,QAAQ,EAAR;;4BAC5B,MAA4D,CAA5D1B,YAAA,CAA4D2B,mBAAA;wBAAzCrB,KAAA,CAAAkB,IAAI,CAACO,OAAO;uEAAZzB,KAAA,CAAAkB,IAAI,CAACO,OAAO,GAAA1B,MAAA;YAAEwB,WAAW,EAAC;;;YAE/C7B,YAAA,CAEeyB,uBAAA;UAFDX,KAAK,EAAC,YAAY;UAACY,QAAQ,EAAR;;4BAC/B,MAAkE,CAAlE1B,YAAA,CAAkE2B,mBAAA;wBAA/CrB,KAAA,CAAAkB,IAAI,CAACQ,UAAU;uEAAf1B,KAAA,CAAAkB,IAAI,CAACQ,UAAU,GAAA3B,MAAA;YAAEwB,WAAW,EAAC;;;YAElD7B,YAAA,CAEeyB,uBAAA;UAFDX,KAAK,EAAC;QAAI;4BACtB,MAAiE,CAAjEd,YAAA,CAAiE2B,mBAAA;wBAA9CrB,KAAA,CAAAkB,IAAI,CAACS,WAAW;uEAAhB3B,KAAA,CAAAkB,IAAI,CAACS,WAAW,GAAA5B,MAAA;YAAEwB,WAAW,EAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/151158ea0067fca027fd08d738a22e1af6f9bc95920397b22a4cf2488dd68576.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/151158ea0067fca027fd08d738a22e1af6f9bc95920397b22a4cf2488dd68576.json new file mode 100644 index 00000000..3c3207f8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/151158ea0067fca027fd08d738a22e1af6f9bc95920397b22a4cf2488dd68576.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isRef, ref } from 'vue';\nimport Loading from './service.mjs';\nimport { isObject, hyphenate, isString } from '@vue/shared';\nconst INSTANCE_KEY = Symbol(\"ElLoading\");\nconst createInstance = (el, binding) => {\n var _a, _b, _c, _d;\n const vm = binding.instance;\n const getBindingProp = key => isObject(binding.value) ? binding.value[key] : void 0;\n const resolveExpression = key => {\n const data = isString(key) && (vm == null ? void 0 : vm[key]) || key;\n if (data) return ref(data);else return data;\n };\n const getProp = name => resolveExpression(getBindingProp(name) || el.getAttribute(`element-loading-${hyphenate(name)}`));\n const fullscreen = (_a = getBindingProp(\"fullscreen\")) != null ? _a : binding.modifiers.fullscreen;\n const options = {\n text: getProp(\"text\"),\n svg: getProp(\"svg\"),\n svgViewBox: getProp(\"svgViewBox\"),\n spinner: getProp(\"spinner\"),\n background: getProp(\"background\"),\n customClass: getProp(\"customClass\"),\n fullscreen,\n target: (_b = getBindingProp(\"target\")) != null ? _b : fullscreen ? void 0 : el,\n body: (_c = getBindingProp(\"body\")) != null ? _c : binding.modifiers.body,\n lock: (_d = getBindingProp(\"lock\")) != null ? _d : binding.modifiers.lock\n };\n const instance = Loading(options);\n instance._context = vLoading._context;\n el[INSTANCE_KEY] = {\n options,\n instance\n };\n};\nconst updateOptions = (newOptions, originalOptions) => {\n for (const key of Object.keys(originalOptions)) {\n if (isRef(originalOptions[key])) originalOptions[key].value = newOptions[key];\n }\n};\nconst vLoading = {\n mounted(el, binding) {\n if (binding.value) {\n createInstance(el, binding);\n }\n },\n updated(el, binding) {\n const instance = el[INSTANCE_KEY];\n if (binding.oldValue !== binding.value) {\n if (binding.value && !binding.oldValue) {\n createInstance(el, binding);\n } else if (binding.value && binding.oldValue) {\n if (isObject(binding.value)) updateOptions(binding.value, instance.options);\n } else {\n instance == null ? void 0 : instance.instance.close();\n }\n }\n },\n unmounted(el) {\n var _a;\n (_a = el[INSTANCE_KEY]) == null ? void 0 : _a.instance.close();\n el[INSTANCE_KEY] = null;\n }\n};\nvLoading._context = null;\nexport { vLoading as default };","map":{"version":3,"names":["INSTANCE_KEY","Symbol","createInstance","el","binding","_a","_b","_c","_d","vm","instance","getBindingProp","key","isObject","value","resolveExpression","data","isString","ref","getProp","name","getAttribute","hyphenate","fullscreen","modifiers","options","text","svg","svgViewBox","spinner","background","customClass","target","body","lock","Loading","_context","vLoading","updateOptions","newOptions","originalOptions","Object","keys","isRef","mounted","updated","oldValue","close","unmounted"],"sources":["../../../../../../packages/components/loading/src/directive.ts"],"sourcesContent":["// @ts-nocheck\nimport { isRef, ref } from 'vue'\nimport { hyphenate, isObject, isString } from '@element-plus/utils'\nimport Loading from './service'\nimport type { Directive, DirectiveBinding, UnwrapRef } from 'vue'\nimport type { LoadingOptions } from './types'\nimport type { LoadingInstance } from './loading'\n\nconst INSTANCE_KEY = Symbol('ElLoading')\n\nexport type LoadingBinding = boolean | UnwrapRef\nexport interface ElementLoading extends HTMLElement {\n [INSTANCE_KEY]?: {\n instance: LoadingInstance\n options: LoadingOptions\n }\n}\n\nconst createInstance = (\n el: ElementLoading,\n binding: DirectiveBinding\n) => {\n const vm = binding.instance\n\n const getBindingProp = (\n key: K\n ): LoadingOptions[K] =>\n isObject(binding.value) ? binding.value[key] : undefined\n\n const resolveExpression = (key: any) => {\n const data = (isString(key) && vm?.[key]) || key\n if (data) return ref(data)\n else return data\n }\n\n const getProp = (name: K) =>\n resolveExpression(\n getBindingProp(name) ||\n el.getAttribute(`element-loading-${hyphenate(name)}`)\n )\n\n const fullscreen =\n getBindingProp('fullscreen') ?? binding.modifiers.fullscreen\n\n const options: LoadingOptions = {\n text: getProp('text'),\n svg: getProp('svg'),\n svgViewBox: getProp('svgViewBox'),\n spinner: getProp('spinner'),\n background: getProp('background'),\n customClass: getProp('customClass'),\n fullscreen,\n target: getBindingProp('target') ?? (fullscreen ? undefined : el),\n body: getBindingProp('body') ?? binding.modifiers.body,\n lock: getBindingProp('lock') ?? binding.modifiers.lock,\n }\n const instance = Loading(options)\n instance._context = vLoading._context\n el[INSTANCE_KEY] = {\n options,\n instance,\n }\n}\n\nconst updateOptions = (\n newOptions: UnwrapRef,\n originalOptions: LoadingOptions\n) => {\n for (const key of Object.keys(originalOptions)) {\n if (isRef(originalOptions[key]))\n originalOptions[key].value = newOptions[key]\n }\n}\n\nconst vLoading: Directive = {\n mounted(el, binding) {\n if (binding.value) {\n createInstance(el, binding)\n }\n },\n updated(el, binding) {\n const instance = el[INSTANCE_KEY]\n if (binding.oldValue !== binding.value) {\n if (binding.value && !binding.oldValue) {\n createInstance(el, binding)\n } else if (binding.value && binding.oldValue) {\n if (isObject(binding.value))\n updateOptions(binding.value, instance!.options)\n } else {\n instance?.instance.close()\n }\n }\n },\n unmounted(el) {\n el[INSTANCE_KEY]?.instance.close()\n el[INSTANCE_KEY] = null\n },\n}\n\nvLoading._context = null\nexport default vLoading\n"],"mappings":";;;AAGA,MAAMA,YAAY,GAAGC,MAAM,CAAC,WAAW,CAAC;AACxC,MAAMC,cAAc,GAAGA,CAACC,EAAE,EAAEC,OAAO,KAAK;EACtC,IAAIC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;EAClB,MAAMC,EAAE,GAAGL,OAAO,CAACM,QAAQ;EAC3B,MAAMC,cAAc,GAAIC,GAAG,IAAKC,QAAQ,CAACT,OAAO,CAACU,KAAK,CAAC,GAAGV,OAAO,CAACU,KAAK,CAACF,GAAG,CAAC,GAAG,KAAK,CAAC;EACrF,MAAMG,iBAAiB,GAAIH,GAAG,IAAK;IACjC,MAAMI,IAAI,GAAGC,QAAQ,CAACL,GAAG,CAAC,KAAKH,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACG,GAAG,CAAC,CAAC,IAAIA,GAAG;IACpE,IAAII,IAAI,EACN,OAAOE,GAAG,CAACF,IAAI,CAAC,CAAC,KAEjB,OAAOA,IAAI;EACjB,CAAG;EACD,MAAMG,OAAO,GAAIC,IAAI,IAAKL,iBAAiB,CAACJ,cAAc,CAACS,IAAI,CAAC,IAAIjB,EAAE,CAACkB,YAAY,CAAC,mBAAmBC,SAAS,CAACF,IAAI,CAAC,EAAE,CAAC,CAAC;EAC1H,MAAMG,UAAU,GAAG,CAAClB,EAAE,GAAGM,cAAc,CAAC,YAAY,CAAC,KAAK,IAAI,GAAGN,EAAE,GAAGD,OAAO,CAACoB,SAAS,CAACD,UAAU;EAClG,MAAME,OAAO,GAAG;IACdC,IAAI,EAAEP,OAAO,CAAC,MAAM,CAAC;IACrBQ,GAAG,EAAER,OAAO,CAAC,KAAK,CAAC;IACnBS,UAAU,EAAET,OAAO,CAAC,YAAY,CAAC;IACjCU,OAAO,EAAEV,OAAO,CAAC,SAAS,CAAC;IAC3BW,UAAU,EAAEX,OAAO,CAAC,YAAY,CAAC;IACjCY,WAAW,EAAEZ,OAAO,CAAC,aAAa,CAAC;IACnCI,UAAU;IACVS,MAAM,EAAE,CAAC1B,EAAE,GAAGK,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAGL,EAAE,GAAGiB,UAAU,GAAG,KAAK,CAAC,GAAGpB,EAAE;IAC/E8B,IAAI,EAAE,CAAC1B,EAAE,GAAGI,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,GAAGJ,EAAE,GAAGH,OAAO,CAACoB,SAAS,CAACS,IAAI;IACzEC,IAAI,EAAE,CAAC1B,EAAE,GAAGG,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,GAAGH,EAAE,GAAGJ,OAAO,CAACoB,SAAS,CAACU;EACzE,CAAG;EACD,MAAMxB,QAAQ,GAAGyB,OAAO,CAACV,OAAO,CAAC;EACjCf,QAAQ,CAAC0B,QAAQ,GAAGC,QAAQ,CAACD,QAAQ;EACrCjC,EAAE,CAACH,YAAY,CAAC,GAAG;IACjByB,OAAO;IACPf;EACJ,CAAG;AACH,CAAC;AACD,MAAM4B,aAAa,GAAGA,CAACC,UAAU,EAAEC,eAAe,KAAK;EACrD,KAAK,MAAM5B,GAAG,IAAI6B,MAAM,CAACC,IAAI,CAACF,eAAe,CAAC,EAAE;IAC9C,IAAIG,KAAK,CAACH,eAAe,CAAC5B,GAAG,CAAC,CAAC,EAC7B4B,eAAe,CAAC5B,GAAG,CAAC,CAACE,KAAK,GAAGyB,UAAU,CAAC3B,GAAG,CAAC;EAClD;AACA,CAAC;AACI,MAACyB,QAAQ,GAAG;EACfO,OAAOA,CAACzC,EAAE,EAAEC,OAAO,EAAE;IACnB,IAAIA,OAAO,CAACU,KAAK,EAAE;MACjBZ,cAAc,CAACC,EAAE,EAAEC,OAAO,CAAC;IACjC;EACA,CAAG;EACDyC,OAAOA,CAAC1C,EAAE,EAAEC,OAAO,EAAE;IACnB,MAAMM,QAAQ,GAAGP,EAAE,CAACH,YAAY,CAAC;IACjC,IAAII,OAAO,CAAC0C,QAAQ,KAAK1C,OAAO,CAACU,KAAK,EAAE;MACtC,IAAIV,OAAO,CAACU,KAAK,IAAI,CAACV,OAAO,CAAC0C,QAAQ,EAAE;QACtC5C,cAAc,CAACC,EAAE,EAAEC,OAAO,CAAC;MACnC,CAAO,MAAM,IAAIA,OAAO,CAACU,KAAK,IAAIV,OAAO,CAAC0C,QAAQ,EAAE;QAC5C,IAAIjC,QAAQ,CAACT,OAAO,CAACU,KAAK,CAAC,EACzBwB,aAAa,CAAClC,OAAO,CAACU,KAAK,EAAEJ,QAAQ,CAACe,OAAO,CAAC;MACxD,CAAO,MAAM;QACLf,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACA,QAAQ,CAACqC,KAAK,EAAE;MAC7D;IACA;EACA,CAAG;EACDC,SAASA,CAAC7C,EAAE,EAAE;IACZ,IAAIE,EAAE;IACN,CAACA,EAAE,GAAGF,EAAE,CAACH,YAAY,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGK,EAAE,CAACK,QAAQ,CAACqC,KAAK,EAAE;IAC9D5C,EAAE,CAACH,YAAY,CAAC,GAAG,IAAI;EAC3B;AACA;AACAqC,QAAQ,CAACD,QAAQ,GAAG,IAAI","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/151dc196c228d52549731ad3a7a58141f2496c529560c25698cee29e6d5377e3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/151dc196c228d52549731ad3a7a58141f2496c529560c25698cee29e6d5377e3.json new file mode 100644 index 00000000..5e9a2917 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/151dc196c228d52549731ad3a7a58141f2496c529560c25698cee29e6d5377e3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createAggregator from './_createAggregator.js';\n\n/**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\nvar partition = createAggregator(function (result, value, key) {\n result[key ? 0 : 1].push(value);\n}, function () {\n return [[], []];\n});\nexport default partition;","map":{"version":3,"names":["createAggregator","partition","result","value","key","push"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/partition.js"],"sourcesContent":["import createAggregator from './_createAggregator.js';\n\n/**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\nvar partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n}, function() { return [[], []]; });\n\nexport default partition;\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,wBAAwB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,SAAS,GAAGD,gBAAgB,CAAC,UAASE,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE;EAC5DF,MAAM,CAACE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACC,IAAI,CAACF,KAAK,CAAC;AACjC,CAAC,EAAE,YAAW;EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;AAAE,CAAC,CAAC;AAEnC,eAAeF,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1545d1f06868ad55369d9b474aa04bb5a3ea2313b54f2d448b873e53c8f9760e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1545d1f06868ad55369d9b474aa04bb5a3ea2313b54f2d448b873e53c8f9760e.json new file mode 100644 index 00000000..be8fd2ec --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1545d1f06868ad55369d9b474aa04bb5a3ea2313b54f2d448b873e53c8f9760e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import assignValue from './_assignValue.js';\nimport copyObject from './_copyObject.js';\nimport createAssigner from './_createAssigner.js';\nimport isArrayLike from './isArrayLike.js';\nimport isPrototype from './_isPrototype.js';\nimport keys from './keys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function (object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\nexport default assign;","map":{"version":3,"names":["assignValue","copyObject","createAssigner","isArrayLike","isPrototype","keys","objectProto","Object","prototype","hasOwnProperty","assign","object","source","key","call"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/assign.js"],"sourcesContent":["import assignValue from './_assignValue.js';\nimport copyObject from './_copyObject.js';\nimport createAssigner from './_createAssigner.js';\nimport isArrayLike from './isArrayLike.js';\nimport isPrototype from './_isPrototype.js';\nimport keys from './keys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nexport default assign;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,cAAc,MAAM,sBAAsB;AACjD,OAAOC,WAAW,MAAM,kBAAkB;AAC1C,OAAOC,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,IAAI,MAAM,WAAW;;AAE5B;AACA,IAAIC,WAAW,GAAGC,MAAM,CAACC,SAAS;;AAElC;AACA,IAAIC,cAAc,GAAGH,WAAW,CAACG,cAAc;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,MAAM,GAAGR,cAAc,CAAC,UAASS,MAAM,EAAEC,MAAM,EAAE;EACnD,IAAIR,WAAW,CAACQ,MAAM,CAAC,IAAIT,WAAW,CAACS,MAAM,CAAC,EAAE;IAC9CX,UAAU,CAACW,MAAM,EAAEP,IAAI,CAACO,MAAM,CAAC,EAAED,MAAM,CAAC;IACxC;EACF;EACA,KAAK,IAAIE,GAAG,IAAID,MAAM,EAAE;IACtB,IAAIH,cAAc,CAACK,IAAI,CAACF,MAAM,EAAEC,GAAG,CAAC,EAAE;MACpCb,WAAW,CAACW,MAAM,EAAEE,GAAG,EAAED,MAAM,CAACC,GAAG,CAAC,CAAC;IACvC;EACF;AACF,CAAC,CAAC;AAEF,eAAeH,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/158feb0553e0ba2b740988e9ad7189273a4338ff07d10242323048b8d89b83f8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/158feb0553e0ba2b740988e9ad7189273a4338ff07d10242323048b8d89b83f8.json new file mode 100644 index 00000000..2b670bea --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/158feb0553e0ba2b740988e9ad7189273a4338ff07d10242323048b8d89b83f8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { computed, unref, ref } from 'vue';\nimport { useZIndex } from '../../../../hooks/use-z-index/index.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nimport { isNumber } from '../../../../utils/types.mjs';\nconst usePopperContentDOM = (props, {\n attributes,\n styles,\n role\n}) => {\n const {\n nextZIndex\n } = useZIndex();\n const ns = useNamespace(\"popper\");\n const contentAttrs = computed(() => unref(attributes).popper);\n const contentZIndex = ref(isNumber(props.zIndex) ? props.zIndex : nextZIndex());\n const contentClass = computed(() => [ns.b(), ns.is(\"pure\", props.pure), ns.is(props.effect), props.popperClass]);\n const contentStyle = computed(() => {\n return [{\n zIndex: unref(contentZIndex)\n }, unref(styles).popper, props.popperStyle || {}];\n });\n const ariaModal = computed(() => role.value === \"dialog\" ? \"false\" : void 0);\n const arrowStyle = computed(() => unref(styles).arrow || {});\n const updateZIndex = () => {\n contentZIndex.value = isNumber(props.zIndex) ? props.zIndex : nextZIndex();\n };\n return {\n ariaModal,\n arrowStyle,\n contentAttrs,\n contentClass,\n contentStyle,\n contentZIndex,\n updateZIndex\n };\n};\nexport { usePopperContentDOM };","map":{"version":3,"names":["usePopperContentDOM","props","attributes","styles","role","nextZIndex","useZIndex","ns","useNamespace","contentAttrs","computed","unref","popper","contentZIndex","ref","isNumber","zIndex","contentClass","b","is","pure","effect","popperClass","contentStyle","popperStyle","ariaModal","value","arrowStyle","arrow","updateZIndex"],"sources":["../../../../../../../packages/components/popper/src/composables/use-content-dom.ts"],"sourcesContent":["import { computed, ref, unref } from 'vue'\nimport { useNamespace, useZIndex } from '@element-plus/hooks'\n\nimport { isNumber } from '@element-plus/utils'\nimport type { CSSProperties, StyleValue } from 'vue'\nimport type { UsePopperReturn } from '@element-plus/hooks'\nimport type { UsePopperContentReturn } from './use-content'\nimport type { PopperContentProps } from '../content'\n\nexport const usePopperContentDOM = (\n props: PopperContentProps,\n {\n attributes,\n styles,\n role,\n }: Pick &\n Pick\n) => {\n const { nextZIndex } = useZIndex()\n const ns = useNamespace('popper')\n\n const contentAttrs = computed(() => unref(attributes).popper)\n const contentZIndex = ref(\n isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n )\n const contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n ])\n const contentStyle = computed(() => {\n return [\n { zIndex: unref(contentZIndex) } as CSSProperties,\n unref(styles).popper as CSSProperties,\n props.popperStyle || {},\n ]\n })\n const ariaModal = computed(() =>\n role.value === 'dialog' ? 'false' : undefined\n )\n const arrowStyle = computed(\n () => (unref(styles).arrow || {}) as CSSProperties\n )\n\n const updateZIndex = () => {\n contentZIndex.value = isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n }\n\n return {\n ariaModal,\n arrowStyle,\n contentAttrs,\n contentClass,\n contentStyle,\n contentZIndex,\n\n updateZIndex,\n }\n}\n\nexport type UsePopperContentDOMReturn = ReturnType\n"],"mappings":";;;;AAGY,MAACA,mBAAmB,GAAGA,CAACC,KAAK,EAAE;EACzCC,UAAU;EACVC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAE,GAAGC,SAAS,EAAE;EAClC,MAAMC,EAAE,GAAGC,YAAY,CAAC,QAAQ,CAAC;EACjC,MAAMC,YAAY,GAAGC,QAAQ,CAAC,MAAMC,KAAK,CAACT,UAAU,CAAC,CAACU,MAAM,CAAC;EAC7D,MAAMC,aAAa,GAAGC,GAAG,CAACC,QAAQ,CAACd,KAAK,CAACe,MAAM,CAAC,GAAGf,KAAK,CAACe,MAAM,GAAGX,UAAU,EAAE,CAAC;EAC/E,MAAMY,YAAY,GAAGP,QAAQ,CAAC,MAAM,CAClCH,EAAE,CAACW,CAAC,EAAE,EACNX,EAAE,CAACY,EAAE,CAAC,MAAM,EAAElB,KAAK,CAACmB,IAAI,CAAC,EACzBb,EAAE,CAACY,EAAE,CAAClB,KAAK,CAACoB,MAAM,CAAC,EACnBpB,KAAK,CAACqB,WAAW,CAClB,CAAC;EACF,MAAMC,YAAY,GAAGb,QAAQ,CAAC,MAAM;IAClC,OAAO,CACL;MAAEM,MAAM,EAAEL,KAAK,CAACE,aAAa;IAAC,CAAE,EAChCF,KAAK,CAACR,MAAM,CAAC,CAACS,MAAM,EACpBX,KAAK,CAACuB,WAAW,IAAI,EAAE,CACxB;EACL,CAAG,CAAC;EACF,MAAMC,SAAS,GAAGf,QAAQ,CAAC,MAAMN,IAAI,CAACsB,KAAK,KAAK,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;EAC5E,MAAMC,UAAU,GAAGjB,QAAQ,CAAC,MAAMC,KAAK,CAACR,MAAM,CAAC,CAACyB,KAAK,IAAI,EAAE,CAAC;EAC5D,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzBhB,aAAa,CAACa,KAAK,GAAGX,QAAQ,CAACd,KAAK,CAACe,MAAM,CAAC,GAAGf,KAAK,CAACe,MAAM,GAAGX,UAAU,EAAE;EAC9E,CAAG;EACD,OAAO;IACLoB,SAAS;IACTE,UAAU;IACVlB,YAAY;IACZQ,YAAY;IACZM,YAAY;IACZV,aAAa;IACbgB;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/15f51f7fa4e708db305d6d308a705e099da5992daa7b8cbad32d32eda763ab15.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/15f51f7fa4e708db305d6d308a705e099da5992daa7b8cbad32d32eda763ab15.json new file mode 100644 index 00000000..7f8a7487 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/15f51f7fa4e708db305d6d308a705e099da5992daa7b8cbad32d32eda763ab15.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { computed, watch } from 'vue';\nimport { CHECKED_CHANGE_EVENT } from '../transfer-panel2.mjs';\nimport { usePropsAlias } from './use-props-alias.mjs';\nimport { isFunction } from '@vue/shared';\nconst useCheck = (props, panelState, emit) => {\n const propsAlias = usePropsAlias(props);\n const filteredData = computed(() => {\n return props.data.filter(item => {\n if (isFunction(props.filterMethod)) {\n return props.filterMethod(panelState.query, item);\n } else {\n const label = String(item[propsAlias.value.label] || item[propsAlias.value.key]);\n return label.toLowerCase().includes(panelState.query.toLowerCase());\n }\n });\n });\n const checkableData = computed(() => filteredData.value.filter(item => !item[propsAlias.value.disabled]));\n const checkedSummary = computed(() => {\n const checkedLength = panelState.checked.length;\n const dataLength = props.data.length;\n const {\n noChecked,\n hasChecked\n } = props.format;\n if (noChecked && hasChecked) {\n return checkedLength > 0 ? hasChecked.replace(/\\${checked}/g, checkedLength.toString()).replace(/\\${total}/g, dataLength.toString()) : noChecked.replace(/\\${total}/g, dataLength.toString());\n } else {\n return `${checkedLength}/${dataLength}`;\n }\n });\n const isIndeterminate = computed(() => {\n const checkedLength = panelState.checked.length;\n return checkedLength > 0 && checkedLength < checkableData.value.length;\n });\n const updateAllChecked = () => {\n const checkableDataKeys = checkableData.value.map(item => item[propsAlias.value.key]);\n panelState.allChecked = checkableDataKeys.length > 0 && checkableDataKeys.every(item => panelState.checked.includes(item));\n };\n const handleAllCheckedChange = value => {\n panelState.checked = value ? checkableData.value.map(item => item[propsAlias.value.key]) : [];\n };\n watch(() => panelState.checked, (val, oldVal) => {\n updateAllChecked();\n if (panelState.checkChangeByUser) {\n const movedKeys = val.concat(oldVal).filter(v => !val.includes(v) || !oldVal.includes(v));\n emit(CHECKED_CHANGE_EVENT, val, movedKeys);\n } else {\n emit(CHECKED_CHANGE_EVENT, val);\n panelState.checkChangeByUser = true;\n }\n });\n watch(checkableData, () => {\n updateAllChecked();\n });\n watch(() => props.data, () => {\n const checked = [];\n const filteredDataKeys = filteredData.value.map(item => item[propsAlias.value.key]);\n panelState.checked.forEach(item => {\n if (filteredDataKeys.includes(item)) {\n checked.push(item);\n }\n });\n panelState.checkChangeByUser = false;\n panelState.checked = checked;\n });\n watch(() => props.defaultChecked, (val, oldVal) => {\n if (oldVal && val.length === oldVal.length && val.every(item => oldVal.includes(item))) return;\n const checked = [];\n const checkableDataKeys = checkableData.value.map(item => item[propsAlias.value.key]);\n val.forEach(item => {\n if (checkableDataKeys.includes(item)) {\n checked.push(item);\n }\n });\n panelState.checkChangeByUser = false;\n panelState.checked = checked;\n }, {\n immediate: true\n });\n return {\n filteredData,\n checkableData,\n checkedSummary,\n isIndeterminate,\n updateAllChecked,\n handleAllCheckedChange\n };\n};\nexport { useCheck };","map":{"version":3,"names":["useCheck","props","panelState","emit","propsAlias","usePropsAlias","filteredData","computed","data","filter","item","isFunction","filterMethod","query","label","String","value","key","toLowerCase","includes","checkableData","disabled","checkedSummary","checkedLength","checked","length","dataLength","noChecked","hasChecked","format","replace","toString","isIndeterminate","updateAllChecked","checkableDataKeys","map","allChecked","every","handleAllCheckedChange","watch","val","oldVal","checkChangeByUser","movedKeys","concat","v","CHECKED_CHANGE_EVENT","filteredDataKeys","forEach","push","defaultChecked","immediate"],"sources":["../../../../../../../packages/components/transfer/src/composables/use-check.ts"],"sourcesContent":["import { computed, watch } from 'vue'\nimport { isFunction } from '@element-plus/utils'\nimport { CHECKED_CHANGE_EVENT } from '../transfer-panel'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { SetupContext } from 'vue'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\nimport type { TransferKey } from '../transfer'\nimport type {\n TransferPanelEmits,\n TransferPanelProps,\n TransferPanelState,\n} from '../transfer-panel'\n\nexport const useCheck = (\n props: TransferPanelProps,\n panelState: TransferPanelState,\n emit: SetupContext['emit']\n) => {\n const propsAlias = usePropsAlias(props)\n\n const filteredData = computed(() => {\n return props.data.filter((item) => {\n if (isFunction(props.filterMethod)) {\n return props.filterMethod(panelState.query, item)\n } else {\n const label = String(\n item[propsAlias.value.label] || item[propsAlias.value.key]\n )\n return label.toLowerCase().includes(panelState.query.toLowerCase())\n }\n })\n })\n\n const checkableData = computed(() =>\n filteredData.value.filter((item) => !item[propsAlias.value.disabled])\n )\n\n const checkedSummary = computed(() => {\n const checkedLength = panelState.checked.length\n const dataLength = props.data.length\n const { noChecked, hasChecked } = props.format\n\n if (noChecked && hasChecked) {\n return checkedLength > 0\n ? hasChecked\n .replace(/\\${checked}/g, checkedLength.toString())\n .replace(/\\${total}/g, dataLength.toString())\n : noChecked.replace(/\\${total}/g, dataLength.toString())\n } else {\n return `${checkedLength}/${dataLength}`\n }\n })\n\n const isIndeterminate = computed(() => {\n const checkedLength = panelState.checked.length\n return checkedLength > 0 && checkedLength < checkableData.value.length\n })\n\n const updateAllChecked = () => {\n const checkableDataKeys = checkableData.value.map(\n (item) => item[propsAlias.value.key]\n )\n panelState.allChecked =\n checkableDataKeys.length > 0 &&\n checkableDataKeys.every((item) => panelState.checked.includes(item))\n }\n\n const handleAllCheckedChange = (value: CheckboxValueType) => {\n panelState.checked = value\n ? checkableData.value.map((item) => item[propsAlias.value.key])\n : []\n }\n\n watch(\n () => panelState.checked,\n (val, oldVal) => {\n updateAllChecked()\n\n if (panelState.checkChangeByUser) {\n const movedKeys = val\n .concat(oldVal)\n .filter((v) => !val.includes(v) || !oldVal.includes(v))\n emit(CHECKED_CHANGE_EVENT, val, movedKeys)\n } else {\n emit(CHECKED_CHANGE_EVENT, val)\n panelState.checkChangeByUser = true\n }\n }\n )\n\n watch(checkableData, () => {\n updateAllChecked()\n })\n\n watch(\n () => props.data,\n () => {\n const checked: TransferKey[] = []\n const filteredDataKeys = filteredData.value.map(\n (item) => item[propsAlias.value.key]\n )\n panelState.checked.forEach((item) => {\n if (filteredDataKeys.includes(item)) {\n checked.push(item)\n }\n })\n panelState.checkChangeByUser = false\n panelState.checked = checked\n }\n )\n\n watch(\n () => props.defaultChecked,\n (val, oldVal) => {\n if (\n oldVal &&\n val.length === oldVal.length &&\n val.every((item) => oldVal.includes(item))\n )\n return\n\n const checked: TransferKey[] = []\n const checkableDataKeys = checkableData.value.map(\n (item) => item[propsAlias.value.key]\n )\n\n val.forEach((item) => {\n if (checkableDataKeys.includes(item)) {\n checked.push(item)\n }\n })\n panelState.checkChangeByUser = false\n panelState.checked = checked\n },\n {\n immediate: true,\n }\n )\n\n return {\n filteredData,\n checkableData,\n checkedSummary,\n isIndeterminate,\n updateAllChecked,\n handleAllCheckedChange,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1605659276fafbf8822b8f934e62bc7c9250bc03f053f756efcc8165382888c8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1605659276fafbf8822b8f934e62bc7c9250bc03f053f756efcc8165382888c8.json new file mode 100644 index 00000000..a0e645a3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1605659276fafbf8822b8f934e62bc7c9250bc03f053f756efcc8165382888c8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import asciiSize from './_asciiSize.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeSize from './_unicodeSize.js';\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);\n}\nexport default stringSize;","map":{"version":3,"names":["asciiSize","hasUnicode","unicodeSize","stringSize","string"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_stringSize.js"],"sourcesContent":["import asciiSize from './_asciiSize.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeSize from './_unicodeSize.js';\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\nexport default stringSize;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,WAAW,MAAM,mBAAmB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,OAAOH,UAAU,CAACG,MAAM,CAAC,GACrBF,WAAW,CAACE,MAAM,CAAC,GACnBJ,SAAS,CAACI,MAAM,CAAC;AACvB;AAEA,eAAeD,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1618b7b86946405c3922a4cd203ac8bdbeca9528b45d978f60245db9c7919b6f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1618b7b86946405c3922a4cd203ac8bdbeca9528b45d978f60245db9c7919b6f.json new file mode 100644 index 00000000..1553afd2 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1618b7b86946405c3922a4cd203ac8bdbeca9528b45d978f60245db9c7919b6f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, inject, computed, nextTick } from 'vue';\nimport { getValidDateOfYear, getValidDateOfMonth } from '../utils.mjs';\nimport { PICKER_BASE_INJECTION_KEY } from '../../../time-picker/src/constants.mjs';\nimport { useLocale } from '../../../../hooks/use-locale/index.mjs';\nconst usePanelDateRange = (props, emit, leftDate, rightDate) => {\n const leftCurrentView = ref(\"date\");\n const leftCurrentViewRef = ref();\n const rightCurrentView = ref(\"date\");\n const rightCurrentViewRef = ref();\n const pickerBase = inject(PICKER_BASE_INJECTION_KEY);\n const {\n disabledDate\n } = pickerBase.props;\n const {\n t,\n lang\n } = useLocale();\n const leftYear = computed(() => {\n return leftDate.value.year();\n });\n const leftMonth = computed(() => {\n return leftDate.value.month();\n });\n const rightYear = computed(() => {\n return rightDate.value.year();\n });\n const rightMonth = computed(() => {\n return rightDate.value.month();\n });\n function computedYearLabel(currentView, yearValue) {\n const yearTranslation = t(\"el.datepicker.year\");\n if (currentView.value === \"year\") {\n const startYear = Math.floor(yearValue.value / 10) * 10;\n return yearTranslation ? `${startYear} ${yearTranslation} - ${startYear + 9} ${yearTranslation}` : `${startYear} - ${startYear + 9}`;\n }\n return `${yearValue.value} ${yearTranslation}`;\n }\n function focusPicker(currentViewRef) {\n currentViewRef == null ? void 0 : currentViewRef.focus();\n }\n async function showPicker(pickerType, view) {\n const currentView = pickerType === \"left\" ? leftCurrentView : rightCurrentView;\n const currentViewRef = pickerType === \"left\" ? leftCurrentViewRef : rightCurrentViewRef;\n currentView.value = view;\n await nextTick();\n focusPicker(currentViewRef.value);\n }\n async function handlePick(mode, pickerType, value) {\n const isLeftPicker = pickerType === \"left\";\n const startDate = isLeftPicker ? leftDate : rightDate;\n const endDate = isLeftPicker ? rightDate : leftDate;\n const currentView = isLeftPicker ? leftCurrentView : rightCurrentView;\n const currentViewRef = isLeftPicker ? leftCurrentViewRef : rightCurrentViewRef;\n if (mode === \"year\") {\n const data = startDate.value.year(value);\n startDate.value = getValidDateOfYear(data, lang.value, disabledDate);\n }\n if (mode === \"month\") {\n startDate.value = getValidDateOfMonth(startDate.value, startDate.value.year(), value, lang.value, disabledDate);\n }\n if (!props.unlinkPanels) {\n endDate.value = pickerType === \"left\" ? startDate.value.add(1, \"month\") : startDate.value.subtract(1, \"month\");\n }\n currentView.value = mode === \"year\" ? \"month\" : \"date\";\n await nextTick();\n focusPicker(currentViewRef.value);\n handlePanelChange(mode);\n }\n function handlePanelChange(mode) {\n emit(\"panel-change\", [leftDate.value.toDate(), rightDate.value.toDate()], mode);\n }\n function adjustDateByView(currentView, date, forward) {\n const action = forward ? \"add\" : \"subtract\";\n return currentView === \"year\" ? date[action](10, \"year\") : date[action](1, \"year\");\n }\n return {\n leftCurrentView,\n rightCurrentView,\n leftCurrentViewRef,\n rightCurrentViewRef,\n leftYear,\n rightYear,\n leftMonth,\n rightMonth,\n leftYearLabel: computed(() => computedYearLabel(leftCurrentView, leftYear)),\n rightYearLabel: computed(() => computedYearLabel(rightCurrentView, rightYear)),\n showLeftPicker: view => showPicker(\"left\", view),\n showRightPicker: view => showPicker(\"right\", view),\n handleLeftYearPick: year => handlePick(\"year\", \"left\", year),\n handleRightYearPick: year => handlePick(\"year\", \"right\", year),\n handleLeftMonthPick: month => handlePick(\"month\", \"left\", month),\n handleRightMonthPick: month => handlePick(\"month\", \"right\", month),\n handlePanelChange,\n adjustDateByView\n };\n};\nexport { usePanelDateRange };","map":{"version":3,"names":["usePanelDateRange","props","emit","leftDate","rightDate","leftCurrentView","ref","leftCurrentViewRef","rightCurrentView","rightCurrentViewRef","pickerBase","inject","PICKER_BASE_INJECTION_KEY","disabledDate","t","lang","useLocale","leftYear","computed","value","year","leftMonth","month","rightYear","rightMonth","computedYearLabel","currentView","yearValue","yearTranslation","startYear","Math","floor","focusPicker","currentViewRef","focus","showPicker","pickerType","view","nextTick","handlePick","mode","isLeftPicker","startDate","endDate","data","getValidDateOfYear","getValidDateOfMonth","unlinkPanels","add","subtract","handlePanelChange","toDate","adjustDateByView","date","forward","action","leftYearLabel","rightYearLabel","showLeftPicker","showRightPicker","handleLeftYearPick","handleRightYearPick","handleLeftMonthPick","handleRightMonthPick"],"sources":["../../../../../../../packages/components/date-picker/src/composables/use-panel-date-range.ts"],"sourcesContent":["import { computed, inject, nextTick, ref } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport { PICKER_BASE_INJECTION_KEY } from '@element-plus/components/time-picker'\nimport { getValidDateOfMonth, getValidDateOfYear } from '../utils'\n\nimport type { PanelDateRangeProps } from '../props/panel-date-range'\nimport type { Dayjs } from 'dayjs'\nimport type { ComputedRef, Ref } from 'vue'\n\ntype CurrentView = 'date' | 'year' | 'month'\ntype CurrentViewRef = { focus: () => void }\n\nexport type Emits = (\n event: 'pick' | 'set-picker-option' | 'calendar-change' | 'panel-change',\n ...args: any[]\n) => void\n\nexport const usePanelDateRange = (\n props: PanelDateRangeProps,\n emit: Emits,\n leftDate: Ref,\n rightDate: Ref\n) => {\n const leftCurrentView = ref('date')\n const leftCurrentViewRef = ref()\n const rightCurrentView = ref('date')\n const rightCurrentViewRef = ref()\n const pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\n const { disabledDate } = pickerBase.props\n const { t, lang } = useLocale()\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n const leftMonth = computed(() => {\n return leftDate.value.month()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year()\n })\n const rightMonth = computed(() => {\n return rightDate.value.month()\n })\n\n function computedYearLabel(\n currentView: Ref,\n yearValue: ComputedRef\n ) {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(yearValue.value! / 10) * 10\n return yearTranslation\n ? `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n : `${startYear} - ${startYear + 9}`\n }\n return `${yearValue.value} ${yearTranslation}`\n }\n\n function focusPicker(currentViewRef?: CurrentViewRef) {\n currentViewRef?.focus()\n }\n\n async function showPicker(\n pickerType: 'left' | 'right',\n view: 'month' | 'year'\n ) {\n const currentView =\n pickerType === 'left' ? leftCurrentView : rightCurrentView\n const currentViewRef =\n pickerType === 'left' ? leftCurrentViewRef : rightCurrentViewRef\n currentView.value = view\n await nextTick()\n focusPicker(currentViewRef.value)\n }\n\n async function handlePick(\n mode: 'month' | 'year',\n pickerType: 'left' | 'right',\n value: number\n ) {\n const isLeftPicker = pickerType === 'left'\n const startDate = isLeftPicker ? leftDate : rightDate\n const endDate = isLeftPicker ? rightDate : leftDate\n const currentView = isLeftPicker ? leftCurrentView : rightCurrentView\n const currentViewRef = isLeftPicker\n ? leftCurrentViewRef\n : rightCurrentViewRef\n\n if (mode === 'year') {\n const data = startDate.value.year(value)\n startDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n }\n\n if (mode === 'month') {\n startDate.value = getValidDateOfMonth(\n startDate.value,\n startDate.value.year(),\n value,\n lang.value,\n disabledDate\n )\n }\n\n if (!props.unlinkPanels) {\n endDate.value =\n pickerType === 'left'\n ? startDate.value.add(1, 'month')\n : startDate.value.subtract(1, 'month')\n }\n\n currentView.value = mode === 'year' ? 'month' : 'date'\n await nextTick()\n focusPicker(currentViewRef.value)\n handlePanelChange(mode)\n }\n\n function handlePanelChange(mode: 'month' | 'year') {\n emit(\n 'panel-change',\n [leftDate.value.toDate(), rightDate.value.toDate()],\n mode\n )\n }\n\n function adjustDateByView(\n currentView: CurrentView,\n date: Dayjs,\n forward: boolean\n ) {\n const action = forward ? 'add' : 'subtract'\n return currentView === 'year'\n ? date[action](10, 'year')\n : date[action](1, 'year')\n }\n\n return {\n leftCurrentView,\n rightCurrentView,\n leftCurrentViewRef,\n rightCurrentViewRef,\n leftYear,\n rightYear,\n leftMonth,\n rightMonth,\n leftYearLabel: computed(() => computedYearLabel(leftCurrentView, leftYear)),\n rightYearLabel: computed(() =>\n computedYearLabel(rightCurrentView, rightYear)\n ),\n showLeftPicker: (view: 'month' | 'year') => showPicker('left', view),\n showRightPicker: (view: 'month' | 'year') => showPicker('right', view),\n handleLeftYearPick: (year: number) => handlePick('year', 'left', year),\n handleRightYearPick: (year: number) => handlePick('year', 'right', year),\n handleLeftMonthPick: (month: number) => handlePick('month', 'left', month),\n handleRightMonthPick: (month: number) =>\n handlePick('month', 'right', month),\n handlePanelChange,\n adjustDateByView,\n }\n}\n"],"mappings":";;;;AAIY,MAACA,iBAAiB,GAAGA,CAACC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,KAAK;EACrE,MAAMC,eAAe,GAAGC,GAAG,CAAC,MAAM,CAAC;EACnC,MAAMC,kBAAkB,GAAGD,GAAG,EAAE;EAChC,MAAME,gBAAgB,GAAGF,GAAG,CAAC,MAAM,CAAC;EACpC,MAAMG,mBAAmB,GAAGH,GAAG,EAAE;EACjC,MAAMI,UAAU,GAAGC,MAAM,CAACC,yBAAyB,CAAC;EACpD,MAAM;IAAEC;EAAY,CAAE,GAAGH,UAAU,CAACT,KAAK;EACzC,MAAM;IAAEa,CAAC;IAAEC;EAAI,CAAE,GAAGC,SAAS,EAAE;EAC/B,MAAMC,QAAQ,GAAGC,QAAQ,CAAC,MAAM;IAC9B,OAAOf,QAAQ,CAACgB,KAAK,CAACC,IAAI,EAAE;EAChC,CAAG,CAAC;EACF,MAAMC,SAAS,GAAGH,QAAQ,CAAC,MAAM;IAC/B,OAAOf,QAAQ,CAACgB,KAAK,CAACG,KAAK,EAAE;EACjC,CAAG,CAAC;EACF,MAAMC,SAAS,GAAGL,QAAQ,CAAC,MAAM;IAC/B,OAAOd,SAAS,CAACe,KAAK,CAACC,IAAI,EAAE;EACjC,CAAG,CAAC;EACF,MAAMI,UAAU,GAAGN,QAAQ,CAAC,MAAM;IAChC,OAAOd,SAAS,CAACe,KAAK,CAACG,KAAK,EAAE;EAClC,CAAG,CAAC;EACF,SAASG,iBAAiBA,CAACC,WAAW,EAAEC,SAAS,EAAE;IACjD,MAAMC,eAAe,GAAGd,CAAC,CAAC,oBAAoB,CAAC;IAC/C,IAAIY,WAAW,CAACP,KAAK,KAAK,MAAM,EAAE;MAChC,MAAMU,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,SAAS,CAACR,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE;MACvD,OAAOS,eAAe,GAAG,GAAGC,SAAS,IAAID,eAAe,MAAMC,SAAS,GAAG,CAAC,IAAID,eAAe,EAAE,GAAG,GAAGC,SAAS,MAAMA,SAAS,GAAG,CAAC,EAAE;IAC1I;IACI,OAAO,GAAGF,SAAS,CAACR,KAAK,IAAIS,eAAe,EAAE;EAClD;EACE,SAASI,WAAWA,CAACC,cAAc,EAAE;IACnCA,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACC,KAAK,EAAE;EAC5D;EACE,eAAeC,UAAUA,CAACC,UAAU,EAAEC,IAAI,EAAE;IAC1C,MAAMX,WAAW,GAAGU,UAAU,KAAK,MAAM,GAAG/B,eAAe,GAAGG,gBAAgB;IAC9E,MAAMyB,cAAc,GAAGG,UAAU,KAAK,MAAM,GAAG7B,kBAAkB,GAAGE,mBAAmB;IACvFiB,WAAW,CAACP,KAAK,GAAGkB,IAAI;IACxB,MAAMC,QAAQ,EAAE;IAChBN,WAAW,CAACC,cAAc,CAACd,KAAK,CAAC;EACrC;EACE,eAAeoB,UAAUA,CAACC,IAAI,EAAEJ,UAAU,EAAEjB,KAAK,EAAE;IACjD,MAAMsB,YAAY,GAAGL,UAAU,KAAK,MAAM;IAC1C,MAAMM,SAAS,GAAGD,YAAY,GAAGtC,QAAQ,GAAGC,SAAS;IACrD,MAAMuC,OAAO,GAAGF,YAAY,GAAGrC,SAAS,GAAGD,QAAQ;IACnD,MAAMuB,WAAW,GAAGe,YAAY,GAAGpC,eAAe,GAAGG,gBAAgB;IACrE,MAAMyB,cAAc,GAAGQ,YAAY,GAAGlC,kBAAkB,GAAGE,mBAAmB;IAC9E,IAAI+B,IAAI,KAAK,MAAM,EAAE;MACnB,MAAMI,IAAI,GAAGF,SAAS,CAACvB,KAAK,CAACC,IAAI,CAACD,KAAK,CAAC;MACxCuB,SAAS,CAACvB,KAAK,GAAG0B,kBAAkB,CAACD,IAAI,EAAE7B,IAAI,CAACI,KAAK,EAAEN,YAAY,CAAC;IAC1E;IACI,IAAI2B,IAAI,KAAK,OAAO,EAAE;MACpBE,SAAS,CAACvB,KAAK,GAAG2B,mBAAmB,CAACJ,SAAS,CAACvB,KAAK,EAAEuB,SAAS,CAACvB,KAAK,CAACC,IAAI,EAAE,EAAED,KAAK,EAAEJ,IAAI,CAACI,KAAK,EAAEN,YAAY,CAAC;IACrH;IACI,IAAI,CAACZ,KAAK,CAAC8C,YAAY,EAAE;MACvBJ,OAAO,CAACxB,KAAK,GAAGiB,UAAU,KAAK,MAAM,GAAGM,SAAS,CAACvB,KAAK,CAAC6B,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAGN,SAAS,CAACvB,KAAK,CAAC8B,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpH;IACIvB,WAAW,CAACP,KAAK,GAAGqB,IAAI,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM;IACtD,MAAMF,QAAQ,EAAE;IAChBN,WAAW,CAACC,cAAc,CAACd,KAAK,CAAC;IACjC+B,iBAAiB,CAACV,IAAI,CAAC;EAC3B;EACE,SAASU,iBAAiBA,CAACV,IAAI,EAAE;IAC/BtC,IAAI,CAAC,cAAc,EAAE,CAACC,QAAQ,CAACgB,KAAK,CAACgC,MAAM,EAAE,EAAE/C,SAAS,CAACe,KAAK,CAACgC,MAAM,EAAE,CAAC,EAAEX,IAAI,CAAC;EACnF;EACE,SAASY,gBAAgBA,CAAC1B,WAAW,EAAE2B,IAAI,EAAEC,OAAO,EAAE;IACpD,MAAMC,MAAM,GAAGD,OAAO,GAAG,KAAK,GAAG,UAAU;IAC3C,OAAO5B,WAAW,KAAK,MAAM,GAAG2B,IAAI,CAACE,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,GAAGF,IAAI,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;EACtF;EACE,OAAO;IACLlD,eAAe;IACfG,gBAAgB;IAChBD,kBAAkB;IAClBE,mBAAmB;IACnBQ,QAAQ;IACRM,SAAS;IACTF,SAAS;IACTG,UAAU;IACVgC,aAAa,EAAEtC,QAAQ,CAAC,MAAMO,iBAAiB,CAACpB,eAAe,EAAEY,QAAQ,CAAC,CAAC;IAC3EwC,cAAc,EAAEvC,QAAQ,CAAC,MAAMO,iBAAiB,CAACjB,gBAAgB,EAAEe,SAAS,CAAC,CAAC;IAC9EmC,cAAc,EAAGrB,IAAI,IAAKF,UAAU,CAAC,MAAM,EAAEE,IAAI,CAAC;IAClDsB,eAAe,EAAGtB,IAAI,IAAKF,UAAU,CAAC,OAAO,EAAEE,IAAI,CAAC;IACpDuB,kBAAkB,EAAGxC,IAAI,IAAKmB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAEnB,IAAI,CAAC;IAC9DyC,mBAAmB,EAAGzC,IAAI,IAAKmB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAEnB,IAAI,CAAC;IAChE0C,mBAAmB,EAAGxC,KAAK,IAAKiB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAEjB,KAAK,CAAC;IAClEyC,oBAAoB,EAAGzC,KAAK,IAAKiB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAEjB,KAAK,CAAC;IACpE4B,iBAAiB;IACjBE;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16259173795f61c07102271f712c26b387ff15a1ecc8cac332401d2b799ceac2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16259173795f61c07102271f712c26b387ff15a1ecc8cac332401d2b799ceac2.json new file mode 100644 index 00000000..cc306914 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16259173795f61c07102271f712c26b387ff15a1ecc8cac332401d2b799ceac2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\nexport default capitalize;","map":{"version":3,"names":["toString","upperFirst","capitalize","string","toLowerCase"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/capitalize.js"],"sourcesContent":["import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,eAAe;AACpC,OAAOC,UAAU,MAAM,iBAAiB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,OAAOF,UAAU,CAACD,QAAQ,CAACG,MAAM,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;AACnD;AAEA,eAAeF,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/164367c5de7d665b5919ec2fff02fc6fa12ffe6d6fc202812d16e4209690ec70.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/164367c5de7d665b5919ec2fff02fc6fa12ffe6d6fc202812d16e4209690ec70.json new file mode 100644 index 00000000..2147eb5d --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/164367c5de7d665b5919ec2fff02fc6fa12ffe6d6fc202812d16e4209690ec70.json @@ -0,0 +1 @@ +{"ast":null,"code":"!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (t = \"undefined\" != typeof globalThis ? globalThis : t || self).dayjs = e();\n}(this, function () {\n \"use strict\";\n\n var t = 1e3,\n e = 6e4,\n n = 36e5,\n r = \"millisecond\",\n i = \"second\",\n s = \"minute\",\n u = \"hour\",\n a = \"day\",\n o = \"week\",\n c = \"month\",\n f = \"quarter\",\n h = \"year\",\n d = \"date\",\n l = \"Invalid Date\",\n $ = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,\n y = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,\n M = {\n name: \"en\",\n weekdays: \"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),\n months: \"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),\n ordinal: function (t) {\n var e = [\"th\", \"st\", \"nd\", \"rd\"],\n n = t % 100;\n return \"[\" + t + (e[(n - 20) % 10] || e[n] || e[0]) + \"]\";\n }\n },\n m = function (t, e, n) {\n var r = String(t);\n return !r || r.length >= e ? t : \"\" + Array(e + 1 - r.length).join(n) + t;\n },\n v = {\n s: m,\n z: function (t) {\n var e = -t.utcOffset(),\n n = Math.abs(e),\n r = Math.floor(n / 60),\n i = n % 60;\n return (e <= 0 ? \"+\" : \"-\") + m(r, 2, \"0\") + \":\" + m(i, 2, \"0\");\n },\n m: function t(e, n) {\n if (e.date() < n.date()) return -t(n, e);\n var r = 12 * (n.year() - e.year()) + (n.month() - e.month()),\n i = e.clone().add(r, c),\n s = n - i < 0,\n u = e.clone().add(r + (s ? -1 : 1), c);\n return +(-(r + (n - i) / (s ? i - u : u - i)) || 0);\n },\n a: function (t) {\n return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);\n },\n p: function (t) {\n return {\n M: c,\n y: h,\n w: o,\n d: a,\n D: d,\n h: u,\n m: s,\n s: i,\n ms: r,\n Q: f\n }[t] || String(t || \"\").toLowerCase().replace(/s$/, \"\");\n },\n u: function (t) {\n return void 0 === t;\n }\n },\n g = \"en\",\n D = {};\n D[g] = M;\n var p = \"$isDayjsObject\",\n S = function (t) {\n return t instanceof _ || !(!t || !t[p]);\n },\n w = function t(e, n, r) {\n var i;\n if (!e) return g;\n if (\"string\" == typeof e) {\n var s = e.toLowerCase();\n D[s] && (i = s), n && (D[s] = n, i = s);\n var u = e.split(\"-\");\n if (!i && u.length > 1) return t(u[0]);\n } else {\n var a = e.name;\n D[a] = e, i = a;\n }\n return !r && i && (g = i), i || !r && g;\n },\n O = function (t, e) {\n if (S(t)) return t.clone();\n var n = \"object\" == typeof e ? e : {};\n return n.date = t, n.args = arguments, new _(n);\n },\n b = v;\n b.l = w, b.i = S, b.w = function (t, e) {\n return O(t, {\n locale: e.$L,\n utc: e.$u,\n x: e.$x,\n $offset: e.$offset\n });\n };\n var _ = function () {\n function M(t) {\n this.$L = w(t.locale, null, !0), this.parse(t), this.$x = this.$x || t.x || {}, this[p] = !0;\n }\n var m = M.prototype;\n return m.parse = function (t) {\n this.$d = function (t) {\n var e = t.date,\n n = t.utc;\n if (null === e) return new Date(NaN);\n if (b.u(e)) return new Date();\n if (e instanceof Date) return new Date(e);\n if (\"string\" == typeof e && !/Z$/i.test(e)) {\n var r = e.match($);\n if (r) {\n var i = r[2] - 1 || 0,\n s = (r[7] || \"0\").substring(0, 3);\n return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s);\n }\n }\n return new Date(e);\n }(t), this.init();\n }, m.init = function () {\n var t = this.$d;\n this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();\n }, m.$utils = function () {\n return b;\n }, m.isValid = function () {\n return !(this.$d.toString() === l);\n }, m.isSame = function (t, e) {\n var n = O(t);\n return this.startOf(e) <= n && n <= this.endOf(e);\n }, m.isAfter = function (t, e) {\n return O(t) < this.startOf(e);\n }, m.isBefore = function (t, e) {\n return this.endOf(e) < O(t);\n }, m.$g = function (t, e, n) {\n return b.u(t) ? this[e] : this.set(n, t);\n }, m.unix = function () {\n return Math.floor(this.valueOf() / 1e3);\n }, m.valueOf = function () {\n return this.$d.getTime();\n }, m.startOf = function (t, e) {\n var n = this,\n r = !!b.u(e) || e,\n f = b.p(t),\n l = function (t, e) {\n var i = b.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t), n);\n return r ? i : i.endOf(a);\n },\n $ = function (t, e) {\n return b.w(n.toDate()[t].apply(n.toDate(\"s\"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), n);\n },\n y = this.$W,\n M = this.$M,\n m = this.$D,\n v = \"set\" + (this.$u ? \"UTC\" : \"\");\n switch (f) {\n case h:\n return r ? l(1, 0) : l(31, 11);\n case c:\n return r ? l(1, M) : l(0, M + 1);\n case o:\n var g = this.$locale().weekStart || 0,\n D = (y < g ? y + 7 : y) - g;\n return l(r ? m - D : m + (6 - D), M);\n case a:\n case d:\n return $(v + \"Hours\", 0);\n case u:\n return $(v + \"Minutes\", 1);\n case s:\n return $(v + \"Seconds\", 2);\n case i:\n return $(v + \"Milliseconds\", 3);\n default:\n return this.clone();\n }\n }, m.endOf = function (t) {\n return this.startOf(t, !1);\n }, m.$set = function (t, e) {\n var n,\n o = b.p(t),\n f = \"set\" + (this.$u ? \"UTC\" : \"\"),\n l = (n = {}, n[a] = f + \"Date\", n[d] = f + \"Date\", n[c] = f + \"Month\", n[h] = f + \"FullYear\", n[u] = f + \"Hours\", n[s] = f + \"Minutes\", n[i] = f + \"Seconds\", n[r] = f + \"Milliseconds\", n)[o],\n $ = o === a ? this.$D + (e - this.$W) : e;\n if (o === c || o === h) {\n var y = this.clone().set(d, 1);\n y.$d[l]($), y.init(), this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d;\n } else l && this.$d[l]($);\n return this.init(), this;\n }, m.set = function (t, e) {\n return this.clone().$set(t, e);\n }, m.get = function (t) {\n return this[b.p(t)]();\n }, m.add = function (r, f) {\n var d,\n l = this;\n r = Number(r);\n var $ = b.p(f),\n y = function (t) {\n var e = O(l);\n return b.w(e.date(e.date() + Math.round(t * r)), l);\n };\n if ($ === c) return this.set(c, this.$M + r);\n if ($ === h) return this.set(h, this.$y + r);\n if ($ === a) return y(1);\n if ($ === o) return y(7);\n var M = (d = {}, d[s] = e, d[u] = n, d[i] = t, d)[$] || 1,\n m = this.$d.getTime() + r * M;\n return b.w(m, this);\n }, m.subtract = function (t, e) {\n return this.add(-1 * t, e);\n }, m.format = function (t) {\n var e = this,\n n = this.$locale();\n if (!this.isValid()) return n.invalidDate || l;\n var r = t || \"YYYY-MM-DDTHH:mm:ssZ\",\n i = b.z(this),\n s = this.$H,\n u = this.$m,\n a = this.$M,\n o = n.weekdays,\n c = n.months,\n f = n.meridiem,\n h = function (t, n, i, s) {\n return t && (t[n] || t(e, r)) || i[n].slice(0, s);\n },\n d = function (t) {\n return b.s(s % 12 || 12, t, \"0\");\n },\n $ = f || function (t, e, n) {\n var r = t < 12 ? \"AM\" : \"PM\";\n return n ? r.toLowerCase() : r;\n };\n return r.replace(y, function (t, r) {\n return r || function (t) {\n switch (t) {\n case \"YY\":\n return String(e.$y).slice(-2);\n case \"YYYY\":\n return b.s(e.$y, 4, \"0\");\n case \"M\":\n return a + 1;\n case \"MM\":\n return b.s(a + 1, 2, \"0\");\n case \"MMM\":\n return h(n.monthsShort, a, c, 3);\n case \"MMMM\":\n return h(c, a);\n case \"D\":\n return e.$D;\n case \"DD\":\n return b.s(e.$D, 2, \"0\");\n case \"d\":\n return String(e.$W);\n case \"dd\":\n return h(n.weekdaysMin, e.$W, o, 2);\n case \"ddd\":\n return h(n.weekdaysShort, e.$W, o, 3);\n case \"dddd\":\n return o[e.$W];\n case \"H\":\n return String(s);\n case \"HH\":\n return b.s(s, 2, \"0\");\n case \"h\":\n return d(1);\n case \"hh\":\n return d(2);\n case \"a\":\n return $(s, u, !0);\n case \"A\":\n return $(s, u, !1);\n case \"m\":\n return String(u);\n case \"mm\":\n return b.s(u, 2, \"0\");\n case \"s\":\n return String(e.$s);\n case \"ss\":\n return b.s(e.$s, 2, \"0\");\n case \"SSS\":\n return b.s(e.$ms, 3, \"0\");\n case \"Z\":\n return i;\n }\n return null;\n }(t) || i.replace(\":\", \"\");\n });\n }, m.utcOffset = function () {\n return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);\n }, m.diff = function (r, d, l) {\n var $,\n y = this,\n M = b.p(d),\n m = O(r),\n v = (m.utcOffset() - this.utcOffset()) * e,\n g = this - m,\n D = function () {\n return b.m(y, m);\n };\n switch (M) {\n case h:\n $ = D() / 12;\n break;\n case c:\n $ = D();\n break;\n case f:\n $ = D() / 3;\n break;\n case o:\n $ = (g - v) / 6048e5;\n break;\n case a:\n $ = (g - v) / 864e5;\n break;\n case u:\n $ = g / n;\n break;\n case s:\n $ = g / e;\n break;\n case i:\n $ = g / t;\n break;\n default:\n $ = g;\n }\n return l ? $ : b.a($);\n }, m.daysInMonth = function () {\n return this.endOf(c).$D;\n }, m.$locale = function () {\n return D[this.$L];\n }, m.locale = function (t, e) {\n if (!t) return this.$L;\n var n = this.clone(),\n r = w(t, e, !0);\n return r && (n.$L = r), n;\n }, m.clone = function () {\n return b.w(this.$d, this);\n }, m.toDate = function () {\n return new Date(this.valueOf());\n }, m.toJSON = function () {\n return this.isValid() ? this.toISOString() : null;\n }, m.toISOString = function () {\n return this.$d.toISOString();\n }, m.toString = function () {\n return this.$d.toUTCString();\n }, M;\n }(),\n k = _.prototype;\n return O.prototype = k, [[\"$ms\", r], [\"$s\", i], [\"$m\", s], [\"$H\", u], [\"$W\", a], [\"$M\", c], [\"$y\", h], [\"$D\", d]].forEach(function (t) {\n k[t[1]] = function (e) {\n return this.$g(e, t[0], t[1]);\n };\n }), O.extend = function (t, e) {\n return t.$i || (t(e, _, O), t.$i = !0), O;\n }, O.locale = w, O.isDayjs = S, O.unix = function (t) {\n return O(1e3 * t);\n }, O.en = D[g], O.Ls = D, O.p = {}, O;\n});","map":{"version":3,"names":["t","e","exports","module","define","amd","globalThis","self","dayjs","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/dayjs/dayjs.min.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t) false;\n document.ondragstart = () => false;\n document.addEventListener(\"mousemove\", moveFn);\n document.addEventListener(\"mouseup\", upFn);\n document.addEventListener(\"touchmove\", moveFn);\n document.addEventListener(\"touchend\", upFn);\n isDragging = true;\n (_a = options.start) == null ? void 0 : _a.call(options, event);\n };\n element.addEventListener(\"mousedown\", downFn);\n element.addEventListener(\"touchstart\", downFn, {\n passive: false\n });\n}\nexport { draggable };","map":{"version":3,"names":["isDragging","draggable","element","options","isClient","moveFn","event","_a","drag","call","upFn","document","removeEventListener","onselectstart","ondragstart","end","downFn","preventDefault","addEventListener","start","passive"],"sources":["../../../../../../../packages/components/color-picker/src/utils/draggable.ts"],"sourcesContent":["import { isClient } from '@element-plus/utils'\n\nlet isDragging = false\n\nexport interface DraggableOptions {\n drag?: (event: MouseEvent | TouchEvent) => void\n start?: (event: MouseEvent | TouchEvent) => void\n end?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport function draggable(element: HTMLElement, options: DraggableOptions) {\n if (!isClient) return\n\n const moveFn = function (event: MouseEvent | TouchEvent) {\n options.drag?.(event)\n }\n\n const upFn = function (event: MouseEvent | TouchEvent) {\n document.removeEventListener('mousemove', moveFn)\n document.removeEventListener('mouseup', upFn)\n document.removeEventListener('touchmove', moveFn)\n document.removeEventListener('touchend', upFn)\n document.onselectstart = null\n document.ondragstart = null\n\n isDragging = false\n\n options.end?.(event)\n }\n\n const downFn = function (event: MouseEvent | TouchEvent) {\n if (isDragging) return\n event.preventDefault()\n document.onselectstart = () => false\n document.ondragstart = () => false\n document.addEventListener('mousemove', moveFn)\n document.addEventListener('mouseup', upFn)\n document.addEventListener('touchmove', moveFn)\n document.addEventListener('touchend', upFn)\n\n isDragging = true\n\n options.start?.(event)\n }\n\n element.addEventListener('mousedown', downFn)\n element.addEventListener('touchstart', downFn, { passive: false })\n}\n"],"mappings":";AACA,IAAIA,UAAU,GAAG,KAAK;AACf,SAASC,SAASA,CAACC,OAAO,EAAEC,OAAO,EAAE;EAC1C,IAAI,CAACC,QAAQ,EACX;EACF,MAAMC,MAAM,GAAG,SAAAA,CAASC,KAAK,EAAE;IAC7B,IAAIC,EAAE;IACN,CAACA,EAAE,GAAGJ,OAAO,CAACK,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGD,EAAE,CAACE,IAAI,CAACN,OAAO,EAAEG,KAAK,CAAC;EAClE,CAAG;EACD,MAAMI,IAAI,GAAG,SAAAA,CAASJ,KAAK,EAAE;IAC3B,IAAIC,EAAE;IACNI,QAAQ,CAACC,mBAAmB,CAAC,WAAW,EAAEP,MAAM,CAAC;IACjDM,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEF,IAAI,CAAC;IAC7CC,QAAQ,CAACC,mBAAmB,CAAC,WAAW,EAAEP,MAAM,CAAC;IACjDM,QAAQ,CAACC,mBAAmB,CAAC,UAAU,EAAEF,IAAI,CAAC;IAC9CC,QAAQ,CAACE,aAAa,GAAG,IAAI;IAC7BF,QAAQ,CAACG,WAAW,GAAG,IAAI;IAC3Bd,UAAU,GAAG,KAAK;IAClB,CAACO,EAAE,GAAGJ,OAAO,CAACY,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGR,EAAE,CAACE,IAAI,CAACN,OAAO,EAAEG,KAAK,CAAC;EACjE,CAAG;EACD,MAAMU,MAAM,GAAG,SAAAA,CAASV,KAAK,EAAE;IAC7B,IAAIC,EAAE;IACN,IAAIP,UAAU,EACZ;IACFM,KAAK,CAACW,cAAc,EAAE;IACtBN,QAAQ,CAACE,aAAa,GAAG,MAAM,KAAK;IACpCF,QAAQ,CAACG,WAAW,GAAG,MAAM,KAAK;IAClCH,QAAQ,CAACO,gBAAgB,CAAC,WAAW,EAAEb,MAAM,CAAC;IAC9CM,QAAQ,CAACO,gBAAgB,CAAC,SAAS,EAAER,IAAI,CAAC;IAC1CC,QAAQ,CAACO,gBAAgB,CAAC,WAAW,EAAEb,MAAM,CAAC;IAC9CM,QAAQ,CAACO,gBAAgB,CAAC,UAAU,EAAER,IAAI,CAAC;IAC3CV,UAAU,GAAG,IAAI;IACjB,CAACO,EAAE,GAAGJ,OAAO,CAACgB,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGZ,EAAE,CAACE,IAAI,CAACN,OAAO,EAAEG,KAAK,CAAC;EACnE,CAAG;EACDJ,OAAO,CAACgB,gBAAgB,CAAC,WAAW,EAAEF,MAAM,CAAC;EAC7Cd,OAAO,CAACgB,gBAAgB,CAAC,YAAY,EAAEF,MAAM,EAAE;IAAEI,OAAO,EAAE;EAAK,CAAE,CAAC;AACpE","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16c50f4b88f1710f155a5bbc7942af3438503ee3cb8899fbfd0d9630bf384ab8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16c50f4b88f1710f155a5bbc7942af3438503ee3cb8899fbfd0d9630bf384ab8.json new file mode 100644 index 00000000..9ad901ea --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16c50f4b88f1710f155a5bbc7942af3438503ee3cb8899fbfd0d9630bf384ab8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16d75fca789613c1ec8b28d4696132d480fa81015a8d043cffbaa0fd8f319827.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16d75fca789613c1ec8b28d4696132d480fa81015a8d043cffbaa0fd8f319827.json new file mode 100644 index 00000000..74bcfa51 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16d75fca789613c1ec8b28d4696132d480fa81015a8d043cffbaa0fd8f319827.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { iconPropType } from '../../../utils/vue/icon.mjs';\nconst dialogContentProps = buildProps({\n center: Boolean,\n alignCenter: Boolean,\n closeIcon: {\n type: iconPropType\n },\n draggable: Boolean,\n overflow: Boolean,\n fullscreen: Boolean,\n headerClass: String,\n bodyClass: String,\n footerClass: String,\n showClose: {\n type: Boolean,\n default: true\n },\n title: {\n type: String,\n default: \"\"\n },\n ariaLevel: {\n type: String,\n default: \"2\"\n }\n});\nconst dialogContentEmits = {\n close: () => true\n};\nexport { dialogContentEmits, dialogContentProps };","map":{"version":3,"names":["dialogContentProps","buildProps","center","Boolean","alignCenter","closeIcon","type","iconPropType","draggable","overflow","fullscreen","headerClass","String","bodyClass","footerClass","showClose","default","title","ariaLevel","dialogContentEmits","close"],"sources":["../../../../../../packages/components/dialog/src/dialog-content.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\n\nexport const dialogContentProps = buildProps({\n /**\n * @description whether to align the header and footer in center\n */\n center: Boolean,\n /**\n * @description whether to align the dialog both horizontally and vertically\n */\n alignCenter: Boolean,\n /**\n * @description custom close icon, default is Close\n */\n closeIcon: {\n type: iconPropType,\n },\n /**\n * @description enable dragging feature for Dialog\n */\n draggable: Boolean,\n /**\n * @description draggable Dialog can overflow the viewport\n */\n overflow: Boolean,\n /**\n * @description whether the Dialog takes up full screen\n */\n fullscreen: Boolean,\n /**\n * @description custom class names for header wrapper\n */\n headerClass: String,\n /**\n * @description custom class names for body wrapper\n */\n bodyClass: String,\n /**\n * @description custom class names for footer wrapper\n */\n footerClass: String,\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n /**\n * @description title of Dialog. Can also be passed with a named slot (see the following table)\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description header's aria-level attribute\n */\n ariaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport const dialogContentEmits = {\n close: () => true,\n}\n"],"mappings":";;AACY,MAACA,kBAAkB,GAAGC,UAAU,CAAC;EAC3CC,MAAM,EAAEC,OAAO;EACfC,WAAW,EAAED,OAAO;EACpBE,SAAS,EAAE;IACTC,IAAI,EAAEC;EACV,CAAG;EACDC,SAAS,EAAEL,OAAO;EAClBM,QAAQ,EAAEN,OAAO;EACjBO,UAAU,EAAEP,OAAO;EACnBQ,WAAW,EAAEC,MAAM;EACnBC,SAAS,EAAED,MAAM;EACjBE,WAAW,EAAEF,MAAM;EACnBG,SAAS,EAAE;IACTT,IAAI,EAAEH,OAAO;IACba,OAAO,EAAE;EACb,CAAG;EACDC,KAAK,EAAE;IACLX,IAAI,EAAEM,MAAM;IACZI,OAAO,EAAE;EACb,CAAG;EACDE,SAAS,EAAE;IACTZ,IAAI,EAAEM,MAAM;IACZI,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACG,kBAAkB,GAAG;EAChCC,KAAK,EAAEA,CAAA,KAAM;AACf","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16f909e0b079ae076705c54b8c0247633a731dbba1db32417de562710fcf97b2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16f909e0b079ae076705c54b8c0247633a731dbba1db32417de562710fcf97b2.json new file mode 100644 index 00000000..0714b871 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/16f909e0b079ae076705c54b8c0247633a731dbba1db32417de562710fcf97b2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { capitalize as capitalize$1, hyphenate } from '@vue/shared';\nexport { camelize, hyphenate } from '@vue/shared';\nconst kebabCase = hyphenate;\nconst escapeStringRegexp = (string = \"\") => string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\nconst capitalize = str => capitalize$1(str);\nexport { capitalize, escapeStringRegexp, kebabCase };","map":{"version":3,"names":["kebabCase","hyphenate","escapeStringRegexp","string","replace","capitalize","str","capitalize$1"],"sources":["../../../../packages/utils/strings.ts"],"sourcesContent":["import { camelize, hyphenate, capitalize as toCapitalize } from '@vue/shared'\n\nexport { camelize, hyphenate }\nexport const kebabCase = hyphenate\n\n/**\n * fork from {@link https://github.com/sindresorhus/escape-string-regexp}\n */\nexport const escapeStringRegexp = (string = '') =>\n string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\n\n// NOTE: improve capitalize types. Restore previous code after the [PR](https://github.com/vuejs/core/pull/6212) merge\nexport const capitalize = (str: T) =>\n toCapitalize(str) as Capitalize\n"],"mappings":";;AAEY,MAACA,SAAS,GAAGC,SAAA;AACb,MAACC,kBAAkB,GAAGA,CAACC,MAAM,GAAG,EAAE,KAAKA,MAAM,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,OAAO;AAC1G,MAACC,UAAU,GAAIC,GAAG,IAAKC,YAAY,CAACD,GAAG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1716eb26ca223d7e2b3d1fa68a17771cc7f8845f8b2364545248b3444e8af96e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1716eb26ca223d7e2b3d1fa68a17771cc7f8845f8b2364545248b3444e8af96e.json new file mode 100644 index 00000000..a877a1e8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1716eb26ca223d7e2b3d1fa68a17771cc7f8845f8b2364545248b3444e8af96e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onPausePath\", \"onResumePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onPausePath","pausePath","onResumePath","resumePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17977e5498728858c4b62e353849240d718cf0c34473fff174bd4276404e6d21.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17977e5498728858c4b62e353849240d718cf0c34473fff174bd4276404e6d21.json new file mode 100644 index 00000000..fe52b565 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17977e5498728858c4b62e353849240d718cf0c34473fff174bd4276404e6d21.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getFixedColumnsClass, getFixedColumnOffset, ensurePosition } from '../util.mjs';\nimport useMapState from './mapState-helper.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nfunction useStyle(props) {\n const {\n columns\n } = useMapState();\n const ns = useNamespace(\"table\");\n const getCellClasses = (columns2, cellIndex) => {\n const column = columns2[cellIndex];\n const classes = [ns.e(\"cell\"), column.id, column.align, column.labelClassName, ...getFixedColumnsClass(ns.b(), cellIndex, column.fixed, props.store)];\n if (column.className) {\n classes.push(column.className);\n }\n if (!column.children) {\n classes.push(ns.is(\"leaf\"));\n }\n return classes;\n };\n const getCellStyles = (column, cellIndex) => {\n const fixedStyle = getFixedColumnOffset(cellIndex, column.fixed, props.store);\n ensurePosition(fixedStyle, \"left\");\n ensurePosition(fixedStyle, \"right\");\n return fixedStyle;\n };\n return {\n getCellClasses,\n getCellStyles,\n columns\n };\n}\nexport { useStyle as default };","map":{"version":3,"names":["useStyle","props","columns","useMapState","ns","useNamespace","getCellClasses","columns2","cellIndex","column","classes","e","id","align","labelClassName","getFixedColumnsClass","b","fixed","store","className","push","children","is","getCellStyles","fixedStyle","getFixedColumnOffset","ensurePosition"],"sources":["../../../../../../../packages/components/table/src/table-footer/style-helper.ts"],"sourcesContent":["import { useNamespace } from '@element-plus/hooks'\nimport {\n ensurePosition,\n getFixedColumnOffset,\n getFixedColumnsClass,\n} from '../util'\nimport useMapState from './mapState-helper'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableFooter } from '.'\n\nfunction useStyle(props: TableFooter) {\n const { columns } = useMapState()\n const ns = useNamespace('table')\n\n const getCellClasses = (columns: TableColumnCtx[], cellIndex: number) => {\n const column = columns[cellIndex]\n const classes = [\n ns.e('cell'),\n column.id,\n column.align,\n column.labelClassName,\n ...getFixedColumnsClass(ns.b(), cellIndex, column.fixed, props.store),\n ]\n if (column.className) {\n classes.push(column.className)\n }\n if (!column.children) {\n classes.push(ns.is('leaf'))\n }\n return classes\n }\n\n const getCellStyles = (column: TableColumnCtx, cellIndex: number) => {\n const fixedStyle = getFixedColumnOffset(\n cellIndex,\n column.fixed,\n props.store\n )\n ensurePosition(fixedStyle, 'left')\n ensurePosition(fixedStyle, 'right')\n return fixedStyle\n }\n\n return {\n getCellClasses,\n getCellStyles,\n columns,\n }\n}\n\nexport default useStyle\n"],"mappings":";;;AAOA,SAASA,QAAQA,CAACC,KAAK,EAAE;EACvB,MAAM;IAAEC;EAAO,CAAE,GAAGC,WAAW,EAAE;EACjC,MAAMC,EAAE,GAAGC,YAAY,CAAC,OAAO,CAAC;EAChC,MAAMC,cAAc,GAAGA,CAACC,QAAQ,EAAEC,SAAS,KAAK;IAC9C,MAAMC,MAAM,GAAGF,QAAQ,CAACC,SAAS,CAAC;IAClC,MAAME,OAAO,GAAG,CACdN,EAAE,CAACO,CAAC,CAAC,MAAM,CAAC,EACZF,MAAM,CAACG,EAAE,EACTH,MAAM,CAACI,KAAK,EACZJ,MAAM,CAACK,cAAc,EACrB,GAAGC,oBAAoB,CAACX,EAAE,CAACY,CAAC,EAAE,EAAER,SAAS,EAAEC,MAAM,CAACQ,KAAK,EAAEhB,KAAK,CAACiB,KAAK,CAAC,CACtE;IACD,IAAIT,MAAM,CAACU,SAAS,EAAE;MACpBT,OAAO,CAACU,IAAI,CAACX,MAAM,CAACU,SAAS,CAAC;IACpC;IACI,IAAI,CAACV,MAAM,CAACY,QAAQ,EAAE;MACpBX,OAAO,CAACU,IAAI,CAAChB,EAAE,CAACkB,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC;IACI,OAAOZ,OAAO;EAClB,CAAG;EACD,MAAMa,aAAa,GAAGA,CAACd,MAAM,EAAED,SAAS,KAAK;IAC3C,MAAMgB,UAAU,GAAGC,oBAAoB,CAACjB,SAAS,EAAEC,MAAM,CAACQ,KAAK,EAAEhB,KAAK,CAACiB,KAAK,CAAC;IAC7EQ,cAAc,CAACF,UAAU,EAAE,MAAM,CAAC;IAClCE,cAAc,CAACF,UAAU,EAAE,OAAO,CAAC;IACnC,OAAOA,UAAU;EACrB,CAAG;EACD,OAAO;IACLlB,cAAc;IACdiB,aAAa;IACbrB;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17d4d3ea08a20064999aba0894ea1baa21585f0ad4eda0a5ac2e88b24c1608ad.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17d4d3ea08a20064999aba0894ea1baa21585f0ad4eda0a5ac2e88b24c1608ad.json new file mode 100644 index 00000000..350ec015 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17d4d3ea08a20064999aba0894ea1baa21585f0ad4eda0a5ac2e88b24c1608ad.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 获取无人机当前位置\n const getCurrentDronePosition = async () => {\n if (!selectedDroneId.value) return null;\n try {\n const res = await axios.get(`/api/drones/${selectedDroneId.value}`, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success && res.data.data.latitude && res.data.data.longitude) {\n return {\n lat: res.data.data.latitude,\n lng: res.data.data.longitude\n };\n }\n } catch {}\n return null;\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n // 1. 获取无人机当前位置\n const dronePos = await getCurrentDronePosition();\n let filteredPoints = [...pathPoints.value];\n if (dronePos) {\n // 2. 只保留当前位置之后的点(距离当前位置最近的点及其后续点)\n // 找到距离当前位置最近的点索引\n let minIdx = 0;\n let minDist = Number.MAX_VALUE;\n for (let i = 0; i < filteredPoints.length; i++) {\n const d = getDistance(dronePos.lat, dronePos.lng, filteredPoints[i].lat, filteredPoints[i].lng);\n if (d < minDist) {\n minDist = d;\n minIdx = i;\n }\n }\n // 只保留当前位置最近点及其后续点\n filteredPoints = filteredPoints.slice(minIdx);\n // 如果当前位置和第一个点距离很近,直接用当前位置替换第一个点\n if (minDist < 1) {\n filteredPoints[0] = {\n ...filteredPoints[0],\n lat: dronePos.lat,\n lng: dronePos.lng\n };\n } else {\n // 否则在最前面加上当前位置\n filteredPoints.unshift({\n lat: dronePos.lat,\n lng: dronePos.lng\n });\n }\n }\n // 后续规划逻辑用filteredPoints而不是pathPoints.value\n await fetchDrones(); // 路径规划前强制刷新无人机数据\n const drone = drones.value.find(d => d.id === selectedDroneId.value);\n if (filteredPoints.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n let planningData = {};\n if (drone && drone.latitude != null && drone.longitude != null) {\n planningData = {\n droneId: drone.id,\n startPoint: null,\n targetPoints: filteredPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n } else {\n const startPoint = filteredPoints[0];\n const targetPoints = filteredPoints.slice(1);\n planningData = {\n droneId: drone ? drone.id : null,\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n }\n try {\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n if (result.success) {\n const {\n data,\n details\n } = result;\n if (data.path_points && Array.isArray(data.path_points) && data.path_points.length > 0) {\n pathPoints.value = data.path_points;\n }\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n clearPathDisplay();\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, planningData.targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n\n // 只渲染路径曲线,不为每个平滑点加Marker\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n\n // 只为起点和目标点/终点加Marker\n const markers = [];\n // 起点\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n // 终点\n const endIdx = plannedPath.length - 1;\n const endMarker = new AMap.Marker({\n position: [plannedPath[endIdx].lng, plannedPath[endIdx].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: '终点',\n zIndex: 150\n });\n mapInstance.value.add(endMarker);\n markers.push(endMarker);\n pathMarkers.value = markers;\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]);\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n\n // 暂停模拟飞行\n const pausePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/pause`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已暂停');\n } else {\n ElMessage.info(res.data.message || '无人机未在飞行,无需暂停');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('暂停失败: ' + (error.response?.data?.message || error.message));\n }\n };\n\n // 继续模拟飞行\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/resume`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已继续飞行');\n } else {\n ElMessage.info(res.data.message || '无人机未暂停或无法继续');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('继续飞行失败: ' + (error.response?.data?.message || error.message));\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n pausePath,\n resumePath\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","getCurrentDronePosition","latitude","longitude","planPath","dronePos","filteredPoints","minIdx","minDist","MAX_VALUE","d","getDistance","slice","unshift","drone","warning","planningData","droneId","startPoint","algorithm","geometry_type","geometry_data","details","path_points","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathCoords","markers","startMarker","endIdx","endMarker","calculateDistance","p1","p2","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","pausePath","resumePath","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17ef0608ea8a82503b0329595adfb55cffa7ce562477f01cda507f374d92f8ee.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17ef0608ea8a82503b0329595adfb55cffa7ce562477f01cda507f374d92f8ee.json new file mode 100644 index 00000000..c552890e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17ef0608ea8a82503b0329595adfb55cffa7ce562477f01cda507f374d92f8ee.json @@ -0,0 +1 @@ +{"ast":null,"code":"export * from 'lodash-es';","map":{"version":3,"names":[],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-unified/import.js"],"sourcesContent":["export * from 'lodash-es'\n"],"mappings":"AAAA,cAAc,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17f588b2f8fdc2cde1000f35f074bdafdd970339338b693568f982a592a131ec.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17f588b2f8fdc2cde1000f35f074bdafdd970339338b693568f982a592a131ec.json new file mode 100644 index 00000000..87b24dd3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/17f588b2f8fdc2cde1000f35f074bdafdd970339338b693568f982a592a131ec.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, watch, onBeforeUnmount, computed, unref, watchEffect } from 'vue';\nimport { offset, flip, shift, detectOverflow, arrow, computePosition, autoUpdate } from '@floating-ui/dom';\nimport { isArray, isString, isFunction } from '@vue/shared';\nimport { isClient } from '@vueuse/core';\nimport { keysOf } from '../../../utils/objects.mjs';\nconst useTarget = (target, open, gap, mergedMask, scrollIntoViewOptions) => {\n const posInfo = ref(null);\n const getTargetEl = () => {\n let targetEl;\n if (isString(target.value)) {\n targetEl = document.querySelector(target.value);\n } else if (isFunction(target.value)) {\n targetEl = target.value();\n } else {\n targetEl = target.value;\n }\n return targetEl;\n };\n const updatePosInfo = () => {\n const targetEl = getTargetEl();\n if (!targetEl || !open.value) {\n posInfo.value = null;\n return;\n }\n if (!isInViewPort(targetEl)) {\n targetEl.scrollIntoView(scrollIntoViewOptions.value);\n }\n const {\n left,\n top,\n width,\n height\n } = targetEl.getBoundingClientRect();\n posInfo.value = {\n left,\n top,\n width,\n height,\n radius: 0\n };\n };\n onMounted(() => {\n watch([open, target], () => {\n updatePosInfo();\n }, {\n immediate: true\n });\n window.addEventListener(\"resize\", updatePosInfo);\n });\n onBeforeUnmount(() => {\n window.removeEventListener(\"resize\", updatePosInfo);\n });\n const getGapOffset = index => {\n var _a;\n return (_a = isArray(gap.value.offset) ? gap.value.offset[index] : gap.value.offset) != null ? _a : 6;\n };\n const mergedPosInfo = computed(() => {\n var _a;\n if (!posInfo.value) return posInfo.value;\n const gapOffsetX = getGapOffset(0);\n const gapOffsetY = getGapOffset(1);\n const gapRadius = ((_a = gap.value) == null ? void 0 : _a.radius) || 2;\n return {\n left: posInfo.value.left - gapOffsetX,\n top: posInfo.value.top - gapOffsetY,\n width: posInfo.value.width + gapOffsetX * 2,\n height: posInfo.value.height + gapOffsetY * 2,\n radius: gapRadius\n };\n });\n const triggerTarget = computed(() => {\n const targetEl = getTargetEl();\n if (!mergedMask.value || !targetEl || !window.DOMRect) {\n return targetEl || void 0;\n }\n return {\n getBoundingClientRect() {\n var _a, _b, _c, _d;\n return window.DOMRect.fromRect({\n width: ((_a = mergedPosInfo.value) == null ? void 0 : _a.width) || 0,\n height: ((_b = mergedPosInfo.value) == null ? void 0 : _b.height) || 0,\n x: ((_c = mergedPosInfo.value) == null ? void 0 : _c.left) || 0,\n y: ((_d = mergedPosInfo.value) == null ? void 0 : _d.top) || 0\n });\n }\n };\n });\n return {\n mergedPosInfo,\n triggerTarget\n };\n};\nconst tourKey = Symbol(\"ElTour\");\nfunction isInViewPort(element) {\n const viewWidth = window.innerWidth || document.documentElement.clientWidth;\n const viewHeight = window.innerHeight || document.documentElement.clientHeight;\n const {\n top,\n right,\n bottom,\n left\n } = element.getBoundingClientRect();\n return top >= 0 && left >= 0 && right <= viewWidth && bottom <= viewHeight;\n}\nconst useFloating = (referenceRef, contentRef, arrowRef, placement, strategy, offset$1, zIndex, showArrow) => {\n const x = ref();\n const y = ref();\n const middlewareData = ref({});\n const states = {\n x,\n y,\n placement,\n strategy,\n middlewareData\n };\n const middleware = computed(() => {\n const _middleware = [offset(unref(offset$1)), flip(), shift(), overflowMiddleware()];\n if (unref(showArrow) && unref(arrowRef)) {\n _middleware.push(arrow({\n element: unref(arrowRef)\n }));\n }\n return _middleware;\n });\n const update = async () => {\n if (!isClient) return;\n const referenceEl = unref(referenceRef);\n const contentEl = unref(contentRef);\n if (!referenceEl || !contentEl) return;\n const data = await computePosition(referenceEl, contentEl, {\n placement: unref(placement),\n strategy: unref(strategy),\n middleware: unref(middleware)\n });\n keysOf(states).forEach(key => {\n states[key].value = data[key];\n });\n };\n const contentStyle = computed(() => {\n if (!unref(referenceRef)) {\n return {\n position: \"fixed\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate3d(-50%, -50%, 0)\",\n maxWidth: \"100vw\",\n zIndex: unref(zIndex)\n };\n }\n const {\n overflow\n } = unref(middlewareData);\n return {\n position: unref(strategy),\n zIndex: unref(zIndex),\n top: unref(y) != null ? `${unref(y)}px` : \"\",\n left: unref(x) != null ? `${unref(x)}px` : \"\",\n maxWidth: (overflow == null ? void 0 : overflow.maxWidth) ? `${overflow == null ? void 0 : overflow.maxWidth}px` : \"\"\n };\n });\n const arrowStyle = computed(() => {\n if (!unref(showArrow)) return {};\n const {\n arrow: arrow2\n } = unref(middlewareData);\n return {\n left: (arrow2 == null ? void 0 : arrow2.x) != null ? `${arrow2 == null ? void 0 : arrow2.x}px` : \"\",\n top: (arrow2 == null ? void 0 : arrow2.y) != null ? `${arrow2 == null ? void 0 : arrow2.y}px` : \"\"\n };\n });\n let cleanup;\n onMounted(() => {\n const referenceEl = unref(referenceRef);\n const contentEl = unref(contentRef);\n if (referenceEl && contentEl) {\n cleanup = autoUpdate(referenceEl, contentEl, update);\n }\n watchEffect(() => {\n update();\n });\n });\n onBeforeUnmount(() => {\n cleanup && cleanup();\n });\n return {\n update,\n contentStyle,\n arrowStyle\n };\n};\nconst overflowMiddleware = () => {\n return {\n name: \"overflow\",\n async fn(state) {\n const overflow = await detectOverflow(state);\n let overWidth = 0;\n if (overflow.left > 0) overWidth = overflow.left;\n if (overflow.right > 0) overWidth = overflow.right;\n const floatingWidth = state.rects.floating.width;\n return {\n data: {\n maxWidth: floatingWidth - overWidth\n }\n };\n }\n };\n};\nexport { tourKey, useFloating, useTarget };","map":{"version":3,"names":["useTarget","target","open","gap","mergedMask","scrollIntoViewOptions","posInfo","ref","getTargetEl","targetEl","isString","value","document","querySelector","isFunction","updatePosInfo","isInViewPort","scrollIntoView","left","top","width","height","getBoundingClientRect","radius","onMounted","watch","immediate","window","addEventListener","onBeforeUnmount","removeEventListener","getGapOffset","index","_a","isArray","offset","mergedPosInfo","computed","gapOffsetX","gapOffsetY","gapRadius","triggerTarget","DOMRect","_b","_c","_d","fromRect","x","y","tourKey","Symbol","element","viewWidth","innerWidth","documentElement","clientWidth","viewHeight","innerHeight","clientHeight","right","bottom","useFloating","referenceRef","contentRef","arrowRef","placement","strategy","offset$1","zIndex","showArrow","middlewareData","states","middleware","_middleware","unref","flip","shift","overflowMiddleware","push","arrow","update","isClient","referenceEl","contentEl","data","computePosition","keysOf","forEach","key","contentStyle","position","transform","maxWidth","overflow","arrowStyle","arrow2","cleanup","autoUpdate","watchEffect","name","fn","state","detectOverflow","overWidth","floatingWidth","rects","floating"],"sources":["../../../../../../packages/components/tour/src/helper.ts"],"sourcesContent":["import {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n unref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n arrow,\n autoUpdate,\n computePosition,\n detectOverflow,\n flip,\n offset as offsetMiddelware,\n shift,\n} from '@floating-ui/dom'\nimport {\n isArray,\n isClient,\n isFunction,\n isString,\n keysOf,\n} from '@element-plus/utils'\n\nimport type {\n CSSProperties,\n Component,\n InjectionKey,\n Ref,\n SetupContext,\n} from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { PosInfo, TourGap, TourMask } from './types'\nimport type {\n ComputePositionReturn,\n Middleware,\n Placement,\n Strategy,\n VirtualElement,\n} from '@floating-ui/dom'\nimport type { TourStepProps } from './step'\n\nexport const useTarget = (\n target: Ref<\n string | HTMLElement | (() => HTMLElement | null) | null | undefined\n >,\n open: Ref,\n gap: Ref,\n mergedMask: Ref,\n scrollIntoViewOptions: Ref\n) => {\n const posInfo: Ref = ref(null)\n\n const getTargetEl = () => {\n let targetEl: HTMLElement | null | undefined\n if (isString(target.value)) {\n targetEl = document.querySelector(target.value)\n } else if (isFunction(target.value)) {\n targetEl = target.value()\n } else {\n targetEl = target.value\n }\n return targetEl\n }\n\n const updatePosInfo = () => {\n const targetEl = getTargetEl()\n if (!targetEl || !open.value) {\n posInfo.value = null\n return\n }\n if (!isInViewPort(targetEl)) {\n targetEl.scrollIntoView(scrollIntoViewOptions.value)\n }\n const { left, top, width, height } = targetEl.getBoundingClientRect()\n posInfo.value = {\n left,\n top,\n width,\n height,\n radius: 0,\n }\n }\n\n onMounted(() => {\n watch(\n [open, target],\n () => {\n updatePosInfo()\n },\n {\n immediate: true,\n }\n )\n window.addEventListener('resize', updatePosInfo)\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('resize', updatePosInfo)\n })\n\n const getGapOffset = (index: number) =>\n (isArray(gap.value.offset) ? gap.value.offset[index] : gap.value.offset) ??\n 6\n\n const mergedPosInfo = computed(() => {\n if (!posInfo.value) return posInfo.value\n\n const gapOffsetX = getGapOffset(0)\n const gapOffsetY = getGapOffset(1)\n const gapRadius = gap.value?.radius || 2\n\n return {\n left: posInfo.value.left - gapOffsetX,\n top: posInfo.value.top - gapOffsetY,\n width: posInfo.value.width + gapOffsetX * 2,\n height: posInfo.value.height + gapOffsetY * 2,\n radius: gapRadius,\n }\n })\n\n const triggerTarget = computed(() => {\n const targetEl = getTargetEl()\n if (!mergedMask.value || !targetEl || !window.DOMRect) {\n return targetEl || undefined\n }\n\n return {\n getBoundingClientRect() {\n return window.DOMRect.fromRect({\n width: mergedPosInfo.value?.width || 0,\n height: mergedPosInfo.value?.height || 0,\n x: mergedPosInfo.value?.left || 0,\n y: mergedPosInfo.value?.top || 0,\n })\n },\n }\n })\n\n return {\n mergedPosInfo,\n triggerTarget,\n }\n}\n\nexport interface TourContext {\n currentStep: Ref\n current: Ref\n total: Ref\n showClose: Ref\n closeIcon: Ref\n mergedType: Ref<'default' | 'primary' | undefined>\n ns: UseNamespaceReturn\n slots: SetupContext['slots']\n updateModelValue(modelValue: boolean): void\n onClose(): void\n onFinish(): void\n onChange(): void\n}\n\nexport const tourKey: InjectionKey = Symbol('ElTour')\n\nfunction isInViewPort(element: HTMLElement) {\n const viewWidth = window.innerWidth || document.documentElement.clientWidth\n const viewHeight = window.innerHeight || document.documentElement.clientHeight\n const { top, right, bottom, left } = element.getBoundingClientRect()\n\n return top >= 0 && left >= 0 && right <= viewWidth && bottom <= viewHeight\n}\n\nexport const useFloating = (\n referenceRef: Ref,\n contentRef: Ref,\n arrowRef: Ref,\n placement: Ref,\n strategy: Ref,\n offset: Ref,\n zIndex: Ref,\n showArrow: Ref\n) => {\n const x = ref()\n const y = ref()\n const middlewareData = ref({})\n\n const states = {\n x,\n y,\n placement,\n strategy,\n middlewareData,\n } as const\n\n const middleware = computed(() => {\n const _middleware: Middleware[] = [\n offsetMiddelware(unref(offset)),\n flip(),\n shift(),\n overflowMiddleware(),\n ]\n\n if (unref(showArrow) && unref(arrowRef)) {\n _middleware.push(\n arrow({\n element: unref(arrowRef)!,\n })\n )\n }\n return _middleware\n })\n\n const update = async () => {\n if (!isClient) return\n\n const referenceEl = unref(referenceRef)\n const contentEl = unref(contentRef)\n if (!referenceEl || !contentEl) return\n\n const data = await computePosition(referenceEl, contentEl, {\n placement: unref(placement),\n strategy: unref(strategy),\n middleware: unref(middleware),\n })\n\n keysOf(states).forEach((key) => {\n states[key].value = data[key]\n })\n }\n\n const contentStyle = computed(() => {\n if (!unref(referenceRef)) {\n return {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate3d(-50%, -50%, 0)',\n maxWidth: '100vw',\n zIndex: unref(zIndex),\n }\n }\n\n const { overflow } = unref(middlewareData)\n\n return {\n position: unref(strategy),\n zIndex: unref(zIndex),\n top: unref(y) != null ? `${unref(y)}px` : '',\n left: unref(x) != null ? `${unref(x)}px` : '',\n maxWidth: overflow?.maxWidth ? `${overflow?.maxWidth}px` : '',\n }\n })\n\n const arrowStyle = computed(() => {\n if (!unref(showArrow)) return {}\n\n const { arrow } = unref(middlewareData)\n return {\n left: arrow?.x != null ? `${arrow?.x}px` : '',\n top: arrow?.y != null ? `${arrow?.y}px` : '',\n }\n })\n\n let cleanup: any\n onMounted(() => {\n const referenceEl = unref(referenceRef)\n const contentEl = unref(contentRef)\n if (referenceEl && contentEl) {\n cleanup = autoUpdate(referenceEl, contentEl, update)\n }\n\n watchEffect(() => {\n update()\n })\n })\n\n onBeforeUnmount(() => {\n cleanup && cleanup()\n })\n\n return {\n update,\n contentStyle,\n arrowStyle,\n }\n}\n\nconst overflowMiddleware = (): Middleware => {\n return {\n name: 'overflow',\n async fn(state) {\n const overflow = await detectOverflow(state)\n let overWidth = 0\n if (overflow.left > 0) overWidth = overflow.left\n if (overflow.right > 0) overWidth = overflow.right\n const floatingWidth = state.rects.floating.width\n return {\n data: {\n maxWidth: floatingWidth - overWidth,\n },\n }\n },\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1812f234c5a0dba440be204256f3c3d7b687733cc1e3bff4fd20bf44611efcfe.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1812f234c5a0dba440be204256f3c3d7b687733cc1e3bff4fd20bf44611efcfe.json new file mode 100644 index 00000000..1bc14802 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1812f234c5a0dba440be204256f3c3d7b687733cc1e3bff4fd20bf44611efcfe.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, markRaw, ref, effectScope, shallowRef, computed, watch, nextTick, onMounted, openBlock, createBlock, unref, withCtx, createVNode, Transition, createElementVNode, normalizeClass, normalizeStyle, withModifiers, createCommentVNode, createElementBlock, Fragment, renderSlot, createTextVNode, toDisplayString, resolveDynamicComponent, renderList } from 'vue';\nimport { useEventListener } from '@vueuse/core';\nimport { throttle } from 'lodash-unified';\nimport ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';\nimport { ElTeleport } from '../../teleport/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { FullScreen, ScaleToOriginal, Close, ArrowLeft, ArrowRight, ZoomOut, ZoomIn, RefreshLeft, RefreshRight } from '@element-plus/icons-vue';\nimport { imageViewerProps, imageViewerEmits } from './image-viewer.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useZIndex } from '../../../hooks/use-z-index/index.mjs';\nimport { EVENT_CODE } from '../../../constants/aria.mjs';\nimport { keysOf } from '../../../utils/objects.mjs';\nconst __default__ = defineComponent({\n name: \"ElImageViewer\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: imageViewerProps,\n emits: imageViewerEmits,\n setup(__props, {\n expose,\n emit\n }) {\n var _a;\n const props = __props;\n const modes = {\n CONTAIN: {\n name: \"contain\",\n icon: markRaw(FullScreen)\n },\n ORIGINAL: {\n name: \"original\",\n icon: markRaw(ScaleToOriginal)\n }\n };\n let stopWheelListener;\n let prevOverflow = \"\";\n const {\n t\n } = useLocale();\n const ns = useNamespace(\"image-viewer\");\n const {\n nextZIndex\n } = useZIndex();\n const wrapper = ref();\n const imgRefs = ref([]);\n const scopeEventListener = effectScope();\n const loading = ref(true);\n const activeIndex = ref(props.initialIndex);\n const mode = shallowRef(modes.CONTAIN);\n const transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false\n });\n const zIndex = ref((_a = props.zIndex) != null ? _a : nextZIndex());\n const isSingle = computed(() => {\n const {\n urlList\n } = props;\n return urlList.length <= 1;\n });\n const isFirst = computed(() => activeIndex.value === 0);\n const isLast = computed(() => activeIndex.value === props.urlList.length - 1);\n const currentImg = computed(() => props.urlList[activeIndex.value]);\n const arrowPrevKls = computed(() => [ns.e(\"btn\"), ns.e(\"prev\"), ns.is(\"disabled\", !props.infinite && isFirst.value)]);\n const arrowNextKls = computed(() => [ns.e(\"btn\"), ns.e(\"next\"), ns.is(\"disabled\", !props.infinite && isLast.value)]);\n const imgStyle = computed(() => {\n const {\n scale,\n deg,\n offsetX,\n offsetY,\n enableTransition\n } = transform.value;\n let translateX = offsetX / scale;\n let translateY = offsetY / scale;\n const radian = deg * Math.PI / 180;\n const cosRadian = Math.cos(radian);\n const sinRadian = Math.sin(radian);\n translateX = translateX * cosRadian + translateY * sinRadian;\n translateY = translateY * cosRadian - offsetX / scale * sinRadian;\n const style = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? \"transform .3s\" : \"\"\n };\n if (mode.value.name === modes.CONTAIN.name) {\n style.maxWidth = style.maxHeight = \"100%\";\n }\n return style;\n });\n const progress = computed(() => `${activeIndex.value + 1} / ${props.urlList.length}`);\n function hide() {\n unregisterEventListener();\n stopWheelListener == null ? void 0 : stopWheelListener();\n document.body.style.overflow = prevOverflow;\n emit(\"close\");\n }\n function registerEventListener() {\n const keydownHandler = throttle(e => {\n switch (e.code) {\n case EVENT_CODE.esc:\n props.closeOnPressEscape && hide();\n break;\n case EVENT_CODE.space:\n toggleMode();\n break;\n case EVENT_CODE.left:\n prev();\n break;\n case EVENT_CODE.up:\n handleActions(\"zoomIn\");\n break;\n case EVENT_CODE.right:\n next();\n break;\n case EVENT_CODE.down:\n handleActions(\"zoomOut\");\n break;\n }\n });\n const mousewheelHandler = throttle(e => {\n const delta = e.deltaY || e.deltaX;\n handleActions(delta < 0 ? \"zoomIn\" : \"zoomOut\", {\n zoomRate: props.zoomRate,\n enableTransition: false\n });\n });\n scopeEventListener.run(() => {\n useEventListener(document, \"keydown\", keydownHandler);\n useEventListener(document, \"wheel\", mousewheelHandler);\n });\n }\n function unregisterEventListener() {\n scopeEventListener.stop();\n }\n function handleImgLoad() {\n loading.value = false;\n }\n function handleImgError(e) {\n loading.value = false;\n e.target.alt = t(\"el.image.error\");\n }\n function handleMouseDown(e) {\n if (loading.value || e.button !== 0 || !wrapper.value) return;\n transform.value.enableTransition = false;\n const {\n offsetX,\n offsetY\n } = transform.value;\n const startX = e.pageX;\n const startY = e.pageY;\n const dragHandler = throttle(ev => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY\n };\n });\n const removeMousemove = useEventListener(document, \"mousemove\", dragHandler);\n useEventListener(document, \"mouseup\", () => {\n removeMousemove();\n });\n e.preventDefault();\n }\n function reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false\n };\n }\n function toggleMode() {\n if (loading.value) return;\n const modeNames = keysOf(modes);\n const modeValues = Object.values(modes);\n const currentMode = mode.value.name;\n const index = modeValues.findIndex(i => i.name === currentMode);\n const nextIndex = (index + 1) % modeNames.length;\n mode.value = modes[modeNames[nextIndex]];\n reset();\n }\n function setActiveItem(index) {\n const len = props.urlList.length;\n activeIndex.value = (index + len) % len;\n }\n function prev() {\n if (isFirst.value && !props.infinite) return;\n setActiveItem(activeIndex.value - 1);\n }\n function next() {\n if (isLast.value && !props.infinite) return;\n setActiveItem(activeIndex.value + 1);\n }\n function handleActions(action, options = {}) {\n if (loading.value) return;\n const {\n minScale,\n maxScale\n } = props;\n const {\n zoomRate,\n rotateDeg,\n enableTransition\n } = {\n zoomRate: props.zoomRate,\n rotateDeg: 90,\n enableTransition: true,\n ...options\n };\n switch (action) {\n case \"zoomOut\":\n if (transform.value.scale > minScale) {\n transform.value.scale = Number.parseFloat((transform.value.scale / zoomRate).toFixed(3));\n }\n break;\n case \"zoomIn\":\n if (transform.value.scale < maxScale) {\n transform.value.scale = Number.parseFloat((transform.value.scale * zoomRate).toFixed(3));\n }\n break;\n case \"clockwise\":\n transform.value.deg += rotateDeg;\n emit(\"rotate\", transform.value.deg);\n break;\n case \"anticlockwise\":\n transform.value.deg -= rotateDeg;\n emit(\"rotate\", transform.value.deg);\n break;\n }\n transform.value.enableTransition = enableTransition;\n }\n function onFocusoutPrevented(event) {\n var _a2;\n if (((_a2 = event.detail) == null ? void 0 : _a2.focusReason) === \"pointer\") {\n event.preventDefault();\n }\n }\n function onCloseRequested() {\n if (props.closeOnPressEscape) {\n hide();\n }\n }\n function wheelHandler(e) {\n if (!e.ctrlKey) return;\n if (e.deltaY < 0) {\n e.preventDefault();\n return false;\n } else if (e.deltaY > 0) {\n e.preventDefault();\n return false;\n }\n }\n watch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0];\n if (!($img == null ? void 0 : $img.complete)) {\n loading.value = true;\n }\n });\n });\n watch(activeIndex, val => {\n reset();\n emit(\"switch\", val);\n });\n onMounted(() => {\n registerEventListener();\n stopWheelListener = useEventListener(\"wheel\", wheelHandler, {\n passive: false\n });\n prevOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n expose({\n setActiveItem\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(ElTeleport), {\n to: \"body\",\n disabled: !_ctx.teleported\n }, {\n default: withCtx(() => [createVNode(Transition, {\n name: \"viewer-fade\",\n appear: \"\"\n }, {\n default: withCtx(() => [createElementVNode(\"div\", {\n ref_key: \"wrapper\",\n ref: wrapper,\n tabindex: -1,\n class: normalizeClass(unref(ns).e(\"wrapper\")),\n style: normalizeStyle({\n zIndex: zIndex.value\n })\n }, [createVNode(unref(ElFocusTrap), {\n loop: \"\",\n trapped: \"\",\n \"focus-trap-el\": wrapper.value,\n \"focus-start-el\": \"container\",\n onFocusoutPrevented,\n onReleaseRequested: onCloseRequested\n }, {\n default: withCtx(() => [createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"mask\")),\n onClick: withModifiers($event => _ctx.hideOnClickModal && hide(), [\"self\"])\n }, null, 10, [\"onClick\"]), createCommentVNode(\" CLOSE \"), createElementVNode(\"span\", {\n class: normalizeClass([unref(ns).e(\"btn\"), unref(ns).e(\"close\")]),\n onClick: hide\n }, [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(Close))]),\n _: 1\n })], 2), createCommentVNode(\" ARROW \"), !unref(isSingle) ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(arrowPrevKls)),\n onClick: prev\n }, [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(ArrowLeft))]),\n _: 1\n })], 2), createElementVNode(\"span\", {\n class: normalizeClass(unref(arrowNextKls)),\n onClick: next\n }, [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(ArrowRight))]),\n _: 1\n })], 2)], 64)) : createCommentVNode(\"v-if\", true), _ctx.$slots.progress || _ctx.showProgress ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([unref(ns).e(\"btn\"), unref(ns).e(\"progress\")])\n }, [renderSlot(_ctx.$slots, \"progress\", {\n activeIndex: activeIndex.value,\n total: _ctx.urlList.length\n }, () => [createTextVNode(toDisplayString(unref(progress)), 1)])], 2)) : createCommentVNode(\"v-if\", true), createCommentVNode(\" ACTIONS \"), createElementVNode(\"div\", {\n class: normalizeClass([unref(ns).e(\"btn\"), unref(ns).e(\"actions\")])\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"actions__inner\"))\n }, [renderSlot(_ctx.$slots, \"toolbar\", {\n actions: handleActions,\n prev,\n next,\n reset: toggleMode,\n activeIndex: activeIndex.value,\n setActiveItem\n }, () => [createVNode(unref(ElIcon), {\n onClick: $event => handleActions(\"zoomOut\")\n }, {\n default: withCtx(() => [createVNode(unref(ZoomOut))]),\n _: 1\n }, 8, [\"onClick\"]), createVNode(unref(ElIcon), {\n onClick: $event => handleActions(\"zoomIn\")\n }, {\n default: withCtx(() => [createVNode(unref(ZoomIn))]),\n _: 1\n }, 8, [\"onClick\"]), createElementVNode(\"i\", {\n class: normalizeClass(unref(ns).e(\"actions__divider\"))\n }, null, 2), createVNode(unref(ElIcon), {\n onClick: toggleMode\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(mode).icon)))]),\n _: 1\n }), createElementVNode(\"i\", {\n class: normalizeClass(unref(ns).e(\"actions__divider\"))\n }, null, 2), createVNode(unref(ElIcon), {\n onClick: $event => handleActions(\"anticlockwise\")\n }, {\n default: withCtx(() => [createVNode(unref(RefreshLeft))]),\n _: 1\n }, 8, [\"onClick\"]), createVNode(unref(ElIcon), {\n onClick: $event => handleActions(\"clockwise\")\n }, {\n default: withCtx(() => [createVNode(unref(RefreshRight))]),\n _: 1\n }, 8, [\"onClick\"])])], 2)], 2), createCommentVNode(\" CANVAS \"), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"canvas\"))\n }, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.urlList, (url, i) => {\n return openBlock(), createElementBlock(Fragment, {\n key: i\n }, [i === activeIndex.value ? (openBlock(), createElementBlock(\"img\", {\n key: 0,\n ref_for: true,\n ref: el => imgRefs.value[i] = el,\n src: url,\n style: normalizeStyle(unref(imgStyle)),\n class: normalizeClass(unref(ns).e(\"img\")),\n crossorigin: _ctx.crossorigin,\n onLoad: handleImgLoad,\n onError: handleImgError,\n onMousedown: handleMouseDown\n }, null, 46, [\"src\", \"crossorigin\"])) : createCommentVNode(\"v-if\", true)], 64);\n }), 128))], 2), renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 8, [\"focus-trap-el\"])], 6)]),\n _: 3\n })]),\n _: 3\n }, 8, [\"disabled\"]);\n };\n }\n});\nvar ImageViewer = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"image-viewer.vue\"]]);\nexport { ImageViewer as default };","map":{"version":3,"names":["name","props","__props","modes","CONTAIN","icon","markRaw","FullScreen","ORIGINAL","ScaleToOriginal","stopWheelListener","prevOverflow","t","useLocale","ns","useNamespace","nextZIndex","useZIndex","wrapper","ref","imgRefs","scopeEventListener","effectScope","loading","activeIndex","initialIndex","mode","shallowRef","transform","scale","deg","offsetX","offsetY","enableTransition","zIndex","_a","isSingle","computed","urlList","length","isFirst","value","isLast","currentImg","arrowPrevKls","e","is","infinite","arrowNextKls","imgStyle","translateX","translateY","radian","Math","PI","cosRadian","cos","sinRadian","sin","style","transition","maxWidth","maxHeight","progress","hide","unregisterEventListener","document","body","overflow","emit","registerEventListener","keydownHandler","throttle","code","EVENT_CODE","esc","closeOnPressEscape","space","toggleMode","left","prev","up","handleActions","right","next","down","mousewheelHandler","delta","deltaY","deltaX","zoomRate","run","useEventListener","stop","handleImgLoad","handleImgError","target","alt","handleMouseDown","button","startX","pageX","startY","pageY","dragHandler","ev","removeMousemove","preventDefault","reset","modeNames","keysOf","modeValues","Object","values","currentMode","index","findIndex","i","nextIndex","setActiveItem","len","action","options","minScale","maxScale","rotateDeg","Number","parseFloat","toFixed","onFocusoutPrevented","event","_a2","detail","focusReason","onCloseRequested","wheelHandler","ctrlKey","watch","nextTick","$img","complete","val","onMounted","passive","expose","_ctx","_cache"],"sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/188562c5027bf42948851c7ac62f29091f863fcd2bc09d9e53d93568cf9f678e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/188562c5027bf42948851c7ac62f29091f863fcd2bc09d9e53d93568cf9f678e.json new file mode 100644 index 00000000..09e095be --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/188562c5027bf42948851c7ac62f29091f863fcd2bc09d9e53d93568cf9f678e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, inject, watch, computed, openBlock, createElementBlock, Fragment, unref, normalizeClass, createVNode, withCtx, createBlock, resolveDynamicComponent, createCommentVNode, createElementVNode, renderSlot, toDisplayString, renderList, mergeProps, createTextVNode } from 'vue';\nimport { omit } from 'lodash-unified';\nimport { ElButton } from '../../button/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { tourStepProps, tourStepEmits } from './step.mjs';\nimport { tourKey } from './helper.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { CloseComponents } from '../../../utils/vue/icon.mjs';\nconst __default__ = defineComponent({\n name: \"ElTourStep\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: tourStepProps,\n emits: tourStepEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const {\n Close\n } = CloseComponents;\n const {\n t\n } = useLocale();\n const {\n currentStep,\n current,\n total,\n showClose,\n closeIcon,\n mergedType,\n ns,\n slots: tourSlots,\n updateModelValue,\n onClose: tourOnClose,\n onFinish: tourOnFinish,\n onChange\n } = inject(tourKey);\n watch(props, val => {\n currentStep.value = val;\n }, {\n immediate: true\n });\n const mergedShowClose = computed(() => {\n var _a;\n return (_a = props.showClose) != null ? _a : showClose.value;\n });\n const mergedCloseIcon = computed(() => {\n var _a, _b;\n return (_b = (_a = props.closeIcon) != null ? _a : closeIcon.value) != null ? _b : Close;\n });\n const filterButtonProps = btnProps => {\n if (!btnProps) return;\n return omit(btnProps, [\"children\", \"onClick\"]);\n };\n const onPrev = () => {\n var _a, _b;\n current.value -= 1;\n if ((_a = props.prevButtonProps) == null ? void 0 : _a.onClick) {\n (_b = props.prevButtonProps) == null ? void 0 : _b.onClick();\n }\n onChange();\n };\n const onNext = () => {\n var _a;\n if (current.value >= total.value - 1) {\n onFinish();\n } else {\n current.value += 1;\n }\n if ((_a = props.nextButtonProps) == null ? void 0 : _a.onClick) {\n props.nextButtonProps.onClick();\n }\n onChange();\n };\n const onFinish = () => {\n onClose();\n tourOnFinish();\n };\n const onClose = () => {\n updateModelValue(false);\n tourOnClose();\n emit(\"close\");\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [unref(mergedShowClose) ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n \"aria-label\": \"Close\",\n class: normalizeClass(unref(ns).e(\"closebtn\")),\n type: \"button\",\n onClick: onClose\n }, [createVNode(unref(ElIcon), {\n class: normalizeClass(unref(ns).e(\"close\"))\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(mergedCloseIcon))))]),\n _: 1\n }, 8, [\"class\"])], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"header\", {\n class: normalizeClass([unref(ns).e(\"header\"), {\n \"show-close\": unref(showClose)\n }])\n }, [renderSlot(_ctx.$slots, \"header\", {}, () => [createElementVNode(\"span\", {\n role: \"heading\",\n class: normalizeClass(unref(ns).e(\"title\"))\n }, toDisplayString(_ctx.title), 3)])], 2), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"body\"))\n }, [renderSlot(_ctx.$slots, \"default\", {}, () => [createElementVNode(\"span\", null, toDisplayString(_ctx.description), 1)])], 2), createElementVNode(\"footer\", {\n class: normalizeClass(unref(ns).e(\"footer\"))\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).b(\"indicators\"))\n }, [unref(tourSlots).indicators ? (openBlock(), createBlock(resolveDynamicComponent(unref(tourSlots).indicators), {\n key: 0,\n current: unref(current),\n total: unref(total)\n }, null, 8, [\"current\", \"total\"])) : (openBlock(true), createElementBlock(Fragment, {\n key: 1\n }, renderList(unref(total), (item, index) => {\n return openBlock(), createElementBlock(\"span\", {\n key: item,\n class: normalizeClass([unref(ns).b(\"indicator\"), index === unref(current) ? \"is-active\" : \"\"])\n }, null, 2);\n }), 128))], 2), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).b(\"buttons\"))\n }, [unref(current) > 0 ? (openBlock(), createBlock(unref(ElButton), mergeProps({\n key: 0,\n size: \"small\",\n type: unref(mergedType)\n }, filterButtonProps(_ctx.prevButtonProps), {\n onClick: onPrev\n }), {\n default: withCtx(() => {\n var _a, _b;\n return [createTextVNode(toDisplayString((_b = (_a = _ctx.prevButtonProps) == null ? void 0 : _a.children) != null ? _b : unref(t)(\"el.tour.previous\")), 1)];\n }),\n _: 1\n }, 16, [\"type\"])) : createCommentVNode(\"v-if\", true), unref(current) <= unref(total) - 1 ? (openBlock(), createBlock(unref(ElButton), mergeProps({\n key: 1,\n size: \"small\",\n type: unref(mergedType) === \"primary\" ? \"default\" : \"primary\"\n }, filterButtonProps(_ctx.nextButtonProps), {\n onClick: onNext\n }), {\n default: withCtx(() => {\n var _a, _b;\n return [createTextVNode(toDisplayString((_b = (_a = _ctx.nextButtonProps) == null ? void 0 : _a.children) != null ? _b : unref(current) === unref(total) - 1 ? unref(t)(\"el.tour.finish\") : unref(t)(\"el.tour.next\")), 1)];\n }),\n _: 1\n }, 16, [\"type\"])) : createCommentVNode(\"v-if\", true)], 2)], 2)], 64);\n };\n }\n});\nvar TourStep = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"step.vue\"]]);\nexport { TourStep as default };","map":{"version":3,"names":["name","Close","CloseComponents","t","useLocale","currentStep","current","total","showClose","closeIcon","mergedType","ns","slots","tourSlots","updateModelValue","onClose","tourOnClose","onFinish","tourOnFinish","onChange","inject","tourKey","watch","props","val","value","immediate","mergedShowClose","computed","_a","mergedCloseIcon","_b","filterButtonProps","btnProps","omit","onPrev","prevButtonProps","onClick","onNext","nextButtonProps"],"sources":["../../../../../../packages/components/tour/src/step.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;;;;;;;mCA8Ec;EACZA,IAAM;AACR;;;;;;;;;IAKM;MAAEC;IAAA,CAAU,GAAAC,eAAA;IAEZ;MAAEC;IAAE,IAAIC,SAAU;IAElB;MACJC,WAAA;MACAC,OAAA;MACAC,KAAA;MACAC,SAAA;MACAC,SAAA;MACAC,UAAA;MACAC,EAAA;MACAC,KAAO,EAAAC,SAAA;MACPC,gBAAA;MACAC,OAAS,EAAAC,WAAA;MACTC,QAAU,EAAAC,YAAA;MACVC;IAAA,CACF,GAAIC,MAAA,CAAOC,OAAO;IAElBC,KAAA,CAAAC,KAAA,EAAAC,GAAA;MACEnB,WAAA,CAAAoB,KAAA,GAAAD,GAAA;IAAA,GACC;MACCE,SAAA;IAAoB,CACtB;IACA,MAAAC,eAAA,GAAAC,QAAA;MAAA,IACaC,EAAA;MACb,QAAAA,EAAA,GAAAN,KAAA,CAAAf,SAAA,YAAAqB,EAAA,GAAArB,SAAA,CAAAiB,KAAA;IAAA,CACF;IAEA,MAAMK,eAAA,GAAkBF,QAAS,OAAM;MACvC,IAAMC,EAAkB,EAAAE,EAAA;MACtB,OAAM,CAAAA,EAAA,GAAmB,CAAAF,EAAA,GAAAN,KAAA,CAAAd,SAAA,KAAmB,OAAAoB,EAAA,GAAApB,SAAA,CAAAgB,KAAA,YAAAM,EAAA,GAAA9B,KAAA;IAAA,CAC9C;IAEM,MAAA+B,iBAAA,GAAqBC,QAA4B;MACrD,IAAI,CAACA,QAAU,EACf;MACF,OAAAC,IAAA,CAAAD,QAAA;IAEA;IACE,MAAAE,MAAiB,GAAAA,CAAA;MACb,IAAAN,EAAA,EAAAE,EAAM;MACRzB,OAAA,CAAMmB,KAAA;MACR,KAAAI,EAAA,GAAAN,KAAA,CAAAa,eAAA,qBAAAP,EAAA,CAAAQ,OAAA;QACS,CAAAN,EAAA,GAAAR,KAAA,CAAAa,eAAA,qBAAAL,EAAA,CAAAM,OAAA;MAAA;MAGXlB,QAAA;IACE;IACW,MAAAmB,MAAA,GAAAA,CAAA;MACX,IAAOT,EAAA;MACL,IAAAvB,OAAiB,CAAAmB,KAAA,IAAAlB,KAAA,CAAAkB,KAAA;QACnBR,QAAA;MACA,CAAI;QACFX,OAAA,CAAAmB,KAAA;MAA8B;MAEvB,KAAAI,EAAA,GAAAN,KAAA,CAAAgB,eAAA,qBAAAV,EAAA,CAAAQ,OAAA;QACXd,KAAA,CAAAgB,eAAA,CAAAF,OAAA;MAEA;MACUlB,QAAA;IACR,CAAa;IACf,MAAAF,QAAA,GAAAA,CAAA;MAEAF,OAAA;MACEG,YAAA;IACA,CAAY;IACZ,MAAAH,OAAY,GAAAA,CAAA;MACdD,gBAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/189ff999364e9f28c6d97bc519c5fe76e76642df3d1b3de603d8ffbbf9873bf5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/189ff999364e9f28c6d97bc519c5fe76e76642df3d1b3de603d8ffbbf9873bf5.json new file mode 100644 index 00000000..7f20003b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/189ff999364e9f28c6d97bc519c5fe76e76642df3d1b3de603d8ffbbf9873bf5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { computed, getCurrentInstance } from 'vue';\nimport { fromPairs } from 'lodash-unified';\nimport { debugWarn } from '../../utils/error.mjs';\nconst DEFAULT_EXCLUDE_KEYS = [\"class\", \"style\"];\nconst LISTENER_PREFIX = /^on[A-Z]/;\nconst useAttrs = (params = {}) => {\n const {\n excludeListeners = false,\n excludeKeys\n } = params;\n const allExcludeKeys = computed(() => {\n return ((excludeKeys == null ? void 0 : excludeKeys.value) || []).concat(DEFAULT_EXCLUDE_KEYS);\n });\n const instance = getCurrentInstance();\n if (!instance) {\n debugWarn(\"use-attrs\", \"getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function\");\n return computed(() => ({}));\n }\n return computed(() => {\n var _a;\n return fromPairs(Object.entries((_a = instance.proxy) == null ? void 0 : _a.$attrs).filter(([key]) => !allExcludeKeys.value.includes(key) && !(excludeListeners && LISTENER_PREFIX.test(key))));\n });\n};\nexport { useAttrs };","map":{"version":3,"names":["DEFAULT_EXCLUDE_KEYS","LISTENER_PREFIX","useAttrs","params","excludeListeners","excludeKeys","allExcludeKeys","computed","value","concat","instance","getCurrentInstance","debugWarn","_a","fromPairs","Object","entries","proxy","$attrs","filter","key","includes","test"],"sources":["../../../../../packages/hooks/use-attrs/index.ts"],"sourcesContent":["import { computed, getCurrentInstance } from 'vue'\nimport { fromPairs } from 'lodash-unified'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { ComputedRef } from 'vue'\n\ninterface Params {\n excludeListeners?: boolean\n excludeKeys?: ComputedRef\n}\n\nconst DEFAULT_EXCLUDE_KEYS = ['class', 'style']\nconst LISTENER_PREFIX = /^on[A-Z]/\n\nexport const useAttrs = (\n params: Params = {}\n): ComputedRef> => {\n const { excludeListeners = false, excludeKeys } = params\n const allExcludeKeys = computed(() => {\n return (excludeKeys?.value || []).concat(DEFAULT_EXCLUDE_KEYS)\n })\n\n const instance = getCurrentInstance()\n if (!instance) {\n debugWarn(\n 'use-attrs',\n 'getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function'\n )\n return computed(() => ({}))\n }\n\n return computed(() =>\n fromPairs(\n Object.entries(instance.proxy?.$attrs!).filter(\n ([key]) =>\n !allExcludeKeys.value.includes(key) &&\n !(excludeListeners && LISTENER_PREFIX.test(key))\n )\n )\n )\n}\n"],"mappings":";;;AAGA,MAAMA,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;AAC/C,MAAMC,eAAe,GAAG,UAAU;AACtB,MAACC,QAAQ,GAAGA,CAACC,MAAM,GAAG,EAAE,KAAK;EACvC,MAAM;IAAEC,gBAAgB,GAAG,KAAK;IAAEC;EAAW,CAAE,GAAGF,MAAM;EACxD,MAAMG,cAAc,GAAGC,QAAQ,CAAC,MAAM;IACpC,OAAO,CAAC,CAACF,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,WAAW,CAACG,KAAK,KAAK,EAAE,EAAEC,MAAM,CAACT,oBAAoB,CAAC;EAClG,CAAG,CAAC;EACF,MAAMU,QAAQ,GAAGC,kBAAkB,EAAE;EACrC,IAAI,CAACD,QAAQ,EAAE;IACbE,SAAS,CAAC,WAAW,EAAE,8FAA8F,CAAC;IACtH,OAAOL,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;EAC/B;EACE,OAAOA,QAAQ,CAAC,MAAM;IACpB,IAAIM,EAAE;IACN,OAAOC,SAAS,CAACC,MAAM,CAACC,OAAO,CAAC,CAACH,EAAE,GAAGH,QAAQ,CAACO,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGJ,EAAE,CAACK,MAAM,CAAC,CAACC,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACd,cAAc,CAACE,KAAK,CAACa,QAAQ,CAACD,GAAG,CAAC,IAAI,EAAEhB,gBAAgB,IAAIH,eAAe,CAACqB,IAAI,CAACF,GAAG,CAAC,CAAC,CAAC,CAAC;EACnM,CAAG,CAAC;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18a08c4e07f0314d93cf3455f8d79123cb87759f59c64bc42a9c784f614a6f56.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18a08c4e07f0314d93cf3455f8d79123cb87759f59c64bc42a9c784f614a6f56.json new file mode 100644 index 00000000..c58048c0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18a08c4e07f0314d93cf3455f8d79123cb87759f59c64bc42a9c784f614a6f56.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { computed, unref, inject } from 'vue';\nimport { buildProp } from '../../utils/vue/props/runtime.mjs';\nimport { componentSizes } from '../../constants/size.mjs';\nconst useSizeProp = buildProp({\n type: String,\n values: componentSizes,\n required: false\n});\nconst useSizeProps = {\n size: useSizeProp\n};\nconst SIZE_INJECTION_KEY = Symbol(\"size\");\nconst useGlobalSize = () => {\n const injectedSize = inject(SIZE_INJECTION_KEY, {});\n return computed(() => {\n return unref(injectedSize.size) || \"\";\n });\n};\nexport { SIZE_INJECTION_KEY, useGlobalSize, useSizeProp, useSizeProps };","map":{"version":3,"names":["useSizeProp","buildProp","type","String","values","componentSizes","required","useSizeProps","size","SIZE_INJECTION_KEY","Symbol","useGlobalSize","injectedSize","inject","computed","unref"],"sources":["../../../../../packages/hooks/use-size/index.ts"],"sourcesContent":["import { computed, inject, unref } from 'vue'\nimport { buildProp } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\n\nimport type { InjectionKey, Ref } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport const useSizeProp = buildProp({\n type: String,\n values: componentSizes,\n required: false,\n} as const)\n\nexport const useSizeProps = {\n size: useSizeProp,\n}\n\nexport interface SizeContext {\n size: Ref\n}\n\nexport const SIZE_INJECTION_KEY: InjectionKey = Symbol('size')\n\nexport const useGlobalSize = () => {\n const injectedSize = inject(SIZE_INJECTION_KEY, {} as SizeContext)\n\n return computed(() => {\n return unref(injectedSize.size) || ''\n })\n}\n"],"mappings":";;;AAGY,MAACA,WAAW,GAAGC,SAAS,CAAC;EACnCC,IAAI,EAAEC,MAAM;EACZC,MAAM,EAAEC,cAAc;EACtBC,QAAQ,EAAE;AACZ,CAAC;AACW,MAACC,YAAY,GAAG;EAC1BC,IAAI,EAAER;AACR;AACY,MAACS,kBAAkB,GAAGC,MAAM,CAAC,MAAM;AACnC,MAACC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,YAAY,GAAGC,MAAM,CAACJ,kBAAkB,EAAE,EAAE,CAAC;EACnD,OAAOK,QAAQ,CAAC,MAAM;IACpB,OAAOC,KAAK,CAACH,YAAY,CAACJ,IAAI,CAAC,IAAI,EAAE;EACzC,CAAG,CAAC;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18b904fb7bd77f2ab3fce04ee59c1101b08652354a795aaaf872b9667eccb0b2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18b904fb7bd77f2ab3fce04ee59c1101b08652354a795aaaf872b9667eccb0b2.json new file mode 100644 index 00000000..95136d05 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18b904fb7bd77f2ab3fce04ee59c1101b08652354a795aaaf872b9667eccb0b2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, provide } from 'vue';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nimport { isFunction } from '@vue/shared';\nimport { removeClass, addClass } from '../../../../utils/dom/style.mjs';\nconst dragEventsKey = Symbol(\"dragEvents\");\nfunction useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store\n}) {\n const ns = useNamespace(\"tree\");\n const dragState = ref({\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true,\n dropType: null\n });\n const treeNodeDragStart = ({\n event,\n treeNode\n }) => {\n if (isFunction(props.allowDrag) && !props.allowDrag(treeNode.node)) {\n event.preventDefault();\n return false;\n }\n event.dataTransfer.effectAllowed = \"move\";\n try {\n event.dataTransfer.setData(\"text/plain\", \"\");\n } catch (e) {}\n dragState.value.draggingNode = treeNode;\n ctx.emit(\"node-drag-start\", treeNode.node, event);\n };\n const treeNodeDragOver = ({\n event,\n treeNode\n }) => {\n const dropNode = treeNode;\n const oldDropNode = dragState.value.dropNode;\n if (oldDropNode && oldDropNode.node.id !== dropNode.node.id) {\n removeClass(oldDropNode.$el, ns.is(\"drop-inner\"));\n }\n const draggingNode = dragState.value.draggingNode;\n if (!draggingNode || !dropNode) return;\n let dropPrev = true;\n let dropInner = true;\n let dropNext = true;\n let userAllowDropInner = true;\n if (isFunction(props.allowDrop)) {\n dropPrev = props.allowDrop(draggingNode.node, dropNode.node, \"prev\");\n userAllowDropInner = dropInner = props.allowDrop(draggingNode.node, dropNode.node, \"inner\");\n dropNext = props.allowDrop(draggingNode.node, dropNode.node, \"next\");\n }\n event.dataTransfer.dropEffect = dropInner || dropPrev || dropNext ? \"move\" : \"none\";\n if ((dropPrev || dropInner || dropNext) && (oldDropNode == null ? void 0 : oldDropNode.node.id) !== dropNode.node.id) {\n if (oldDropNode) {\n ctx.emit(\"node-drag-leave\", draggingNode.node, oldDropNode.node, event);\n }\n ctx.emit(\"node-drag-enter\", draggingNode.node, dropNode.node, event);\n }\n if (dropPrev || dropInner || dropNext) {\n dragState.value.dropNode = dropNode;\n } else {\n dragState.value.dropNode = null;\n }\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false;\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false;\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false;\n }\n if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {\n dropPrev = false;\n dropInner = false;\n dropNext = false;\n }\n const targetPosition = dropNode.$el.querySelector(`.${ns.be(\"node\", \"content\")}`).getBoundingClientRect();\n const treePosition = el$.value.getBoundingClientRect();\n let dropType;\n const prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;\n const nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1;\n let indicatorTop = -9999;\n const distance = event.clientY - targetPosition.top;\n if (distance < targetPosition.height * prevPercent) {\n dropType = \"before\";\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = \"after\";\n } else if (dropInner) {\n dropType = \"inner\";\n } else {\n dropType = \"none\";\n }\n const iconPosition = dropNode.$el.querySelector(`.${ns.be(\"node\", \"expand-icon\")}`).getBoundingClientRect();\n const dropIndicator = dropIndicator$.value;\n if (dropType === \"before\") {\n indicatorTop = iconPosition.top - treePosition.top;\n } else if (dropType === \"after\") {\n indicatorTop = iconPosition.bottom - treePosition.top;\n }\n dropIndicator.style.top = `${indicatorTop}px`;\n dropIndicator.style.left = `${iconPosition.right - treePosition.left}px`;\n if (dropType === \"inner\") {\n addClass(dropNode.$el, ns.is(\"drop-inner\"));\n } else {\n removeClass(dropNode.$el, ns.is(\"drop-inner\"));\n }\n dragState.value.showDropIndicator = dropType === \"before\" || dropType === \"after\";\n dragState.value.allowDrop = dragState.value.showDropIndicator || userAllowDropInner;\n dragState.value.dropType = dropType;\n ctx.emit(\"node-drag-over\", draggingNode.node, dropNode.node, event);\n };\n const treeNodeDragEnd = event => {\n const {\n draggingNode,\n dropType,\n dropNode\n } = dragState.value;\n event.preventDefault();\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = \"move\";\n }\n if (draggingNode && dropNode) {\n const draggingNodeCopy = {\n data: draggingNode.node.data\n };\n if (dropType !== \"none\") {\n draggingNode.node.remove();\n }\n if (dropType === \"before\") {\n dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);\n } else if (dropType === \"after\") {\n dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);\n } else if (dropType === \"inner\") {\n dropNode.node.insertChild(draggingNodeCopy);\n }\n if (dropType !== \"none\") {\n store.value.registerNode(draggingNodeCopy);\n if (store.value.key) {\n draggingNode.node.eachNode(node => {\n var _a;\n (_a = store.value.nodesMap[node.data[store.value.key]]) == null ? void 0 : _a.setChecked(node.checked, !store.value.checkStrictly);\n });\n }\n }\n removeClass(dropNode.$el, ns.is(\"drop-inner\"));\n ctx.emit(\"node-drag-end\", draggingNode.node, dropNode.node, dropType, event);\n if (dropType !== \"none\") {\n ctx.emit(\"node-drop\", draggingNode.node, dropNode.node, dropType, event);\n }\n }\n if (draggingNode && !dropNode) {\n ctx.emit(\"node-drag-end\", draggingNode.node, null, dropType, event);\n }\n dragState.value.showDropIndicator = false;\n dragState.value.draggingNode = null;\n dragState.value.dropNode = null;\n dragState.value.allowDrop = true;\n };\n provide(dragEventsKey, {\n treeNodeDragStart,\n treeNodeDragOver,\n treeNodeDragEnd\n });\n return {\n dragState\n };\n}\nexport { dragEventsKey, useDragNodeHandler };","map":{"version":3,"names":["dragEventsKey","Symbol","useDragNodeHandler","props","ctx","el$","dropIndicator$","store","ns","useNamespace","dragState","ref","showDropIndicator","draggingNode","dropNode","allowDrop","dropType","treeNodeDragStart","event","treeNode","isFunction","allowDrag","node","preventDefault","dataTransfer","effectAllowed","setData","e","value","emit","treeNodeDragOver","oldDropNode","id","removeClass","$el","is","dropPrev","dropInner","dropNext","userAllowDropInner","dropEffect","nextSibling","previousSibling","contains","targetPosition","querySelector","be","getBoundingClientRect","treePosition","prevPercent","nextPercent","indicatorTop","distance","clientY","top","height","iconPosition","dropIndicator","bottom","style","left","right","addClass","treeNodeDragEnd","draggingNodeCopy","data","remove","parent","insertBefore","insertAfter","insertChild","registerNode","key","eachNode","_a","nodesMap","setChecked","checked","checkStrictly","provide"],"sources":["../../../../../../../packages/components/tree/src/model/useDragNode.ts"],"sourcesContent":["// @ts-nocheck\nimport { provide, ref } from 'vue'\nimport { addClass, isFunction, removeClass } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { InjectionKey } from 'vue'\nimport type Node from './node'\nimport type { NodeDropType } from '../tree.type'\n\ninterface TreeNode {\n node: Node\n $el?: HTMLElement\n}\n\ninterface DragOptions {\n event: DragEvent\n treeNode: TreeNode\n}\n\nexport interface DragEvents {\n treeNodeDragStart: (options: DragOptions) => void\n treeNodeDragOver: (options: DragOptions) => void\n treeNodeDragEnd: (event: DragEvent) => void\n}\n\nexport const dragEventsKey: InjectionKey = Symbol('dragEvents')\n\nexport function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {\n const ns = useNamespace('tree')\n const dragState = ref({\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true,\n dropType: null,\n })\n\n const treeNodeDragStart = ({ event, treeNode }: DragOptions) => {\n if (isFunction(props.allowDrag) && !props.allowDrag(treeNode.node)) {\n event.preventDefault()\n return false\n }\n event.dataTransfer.effectAllowed = 'move'\n\n // wrap in try catch to address IE's error when first param is 'text/plain'\n try {\n // setData is required for draggable to work in FireFox\n // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\n event.dataTransfer.setData('text/plain', '')\n } catch {}\n dragState.value.draggingNode = treeNode\n ctx.emit('node-drag-start', treeNode.node, event)\n }\n\n const treeNodeDragOver = ({ event, treeNode }: DragOptions) => {\n const dropNode = treeNode\n const oldDropNode = dragState.value.dropNode\n if (oldDropNode && oldDropNode.node.id !== dropNode.node.id) {\n removeClass(oldDropNode.$el, ns.is('drop-inner'))\n }\n const draggingNode = dragState.value.draggingNode\n if (!draggingNode || !dropNode) return\n\n let dropPrev = true\n let dropInner = true\n let dropNext = true\n let userAllowDropInner = true\n if (isFunction(props.allowDrop)) {\n dropPrev = props.allowDrop(draggingNode.node, dropNode.node, 'prev')\n userAllowDropInner = dropInner = props.allowDrop(\n draggingNode.node,\n dropNode.node,\n 'inner'\n )\n dropNext = props.allowDrop(draggingNode.node, dropNode.node, 'next')\n }\n event.dataTransfer.dropEffect =\n dropInner || dropPrev || dropNext ? 'move' : 'none'\n if (\n (dropPrev || dropInner || dropNext) &&\n oldDropNode?.node.id !== dropNode.node.id\n ) {\n if (oldDropNode) {\n ctx.emit('node-drag-leave', draggingNode.node, oldDropNode.node, event)\n }\n ctx.emit('node-drag-enter', draggingNode.node, dropNode.node, event)\n }\n\n if (dropPrev || dropInner || dropNext) {\n dragState.value.dropNode = dropNode\n } else {\n // Reset dragState.value.dropNode to null when allowDrop is transfer from true to false.(For issue #14704)\n dragState.value.dropNode = null\n }\n\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false\n }\n if (\n draggingNode.node === dropNode.node ||\n draggingNode.node.contains(dropNode.node)\n ) {\n dropPrev = false\n dropInner = false\n dropNext = false\n }\n\n // find target node without children, just calc content node height\n const targetPosition = dropNode.$el\n .querySelector(`.${ns.be('node', 'content')}`)\n .getBoundingClientRect()\n const treePosition = el$.value.getBoundingClientRect()\n\n let dropType: NodeDropType\n const prevPercent = dropPrev ? (dropInner ? 0.25 : dropNext ? 0.45 : 1) : -1\n const nextPercent = dropNext ? (dropInner ? 0.75 : dropPrev ? 0.55 : 0) : 1\n\n let indicatorTop = -9999\n const distance = event.clientY - targetPosition.top\n if (distance < targetPosition.height * prevPercent) {\n dropType = 'before'\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = 'after'\n } else if (dropInner) {\n dropType = 'inner'\n } else {\n dropType = 'none'\n }\n\n const iconPosition = dropNode.$el\n .querySelector(`.${ns.be('node', 'expand-icon')}`)\n .getBoundingClientRect()\n const dropIndicator = dropIndicator$.value\n if (dropType === 'before') {\n indicatorTop = iconPosition.top - treePosition.top\n } else if (dropType === 'after') {\n indicatorTop = iconPosition.bottom - treePosition.top\n }\n dropIndicator.style.top = `${indicatorTop}px`\n dropIndicator.style.left = `${iconPosition.right - treePosition.left}px`\n\n if (dropType === 'inner') {\n addClass(dropNode.$el, ns.is('drop-inner'))\n } else {\n removeClass(dropNode.$el, ns.is('drop-inner'))\n }\n\n dragState.value.showDropIndicator =\n dropType === 'before' || dropType === 'after'\n dragState.value.allowDrop =\n dragState.value.showDropIndicator || userAllowDropInner\n dragState.value.dropType = dropType\n ctx.emit('node-drag-over', draggingNode.node, dropNode.node, event)\n }\n\n const treeNodeDragEnd = (event: DragEvent) => {\n const { draggingNode, dropType, dropNode } = dragState.value\n event.preventDefault()\n\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1911486\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = 'move'\n }\n\n if (draggingNode && dropNode) {\n const draggingNodeCopy = { data: draggingNode.node.data }\n if (dropType !== 'none') {\n draggingNode.node.remove()\n }\n if (dropType === 'before') {\n dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'after') {\n dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'inner') {\n dropNode.node.insertChild(draggingNodeCopy)\n }\n if (dropType !== 'none') {\n store.value.registerNode(draggingNodeCopy)\n if (store.value.key) {\n //restore checkbox state after dragging\n draggingNode.node.eachNode((node) => {\n store.value.nodesMap[node.data[store.value.key]]?.setChecked(\n node.checked,\n !store.value.checkStrictly\n )\n })\n }\n }\n\n removeClass(dropNode.$el, ns.is('drop-inner'))\n\n ctx.emit(\n 'node-drag-end',\n draggingNode.node,\n dropNode.node,\n dropType,\n event\n )\n if (dropType !== 'none') {\n ctx.emit('node-drop', draggingNode.node, dropNode.node, dropType, event)\n }\n }\n if (draggingNode && !dropNode) {\n ctx.emit('node-drag-end', draggingNode.node, null, dropType, event)\n }\n\n dragState.value.showDropIndicator = false\n dragState.value.draggingNode = null\n dragState.value.dropNode = null\n dragState.value.allowDrop = true\n }\n\n provide(dragEventsKey, {\n treeNodeDragStart,\n treeNodeDragOver,\n treeNodeDragEnd,\n })\n\n return {\n dragState,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18efd2783c55bef2f0e59784bc5f84b4f15435f18e8081c18cf5729f46a7626c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18efd2783c55bef2f0e59784bc5f84b4f15435f18e8081c18cf5729f46a7626c.json new file mode 100644 index 00000000..ee8cacd8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/18efd2783c55bef2f0e59784bc5f84b4f15435f18e8081c18cf5729f46a7626c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1912bae155cf2a056487a19c88e2dce4b8996c0e8cbcfb8f2cace59230bf4a27.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1912bae155cf2a056487a19c88e2dce4b8996c0e8cbcfb8f2cace59230bf4a27.json new file mode 100644 index 00000000..7ba3ea92 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1912bae155cf2a056487a19c88e2dce4b8996c0e8cbcfb8f2cace59230bf4a27.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"names":[],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@vue/devtools-api/lib/esm/api/component.js"],"sourcesContent":["export {};\n"],"mappings":"AAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/194dc89c27c8ab5e625e49991e45adae0083653b1118c532d69ffb581b731dfe.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/194dc89c27c8ab5e625e49991e45adae0083653b1118c532d69ffb581b731dfe.json new file mode 100644 index 00000000..9406ebeb --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/194dc89c27c8ab5e625e49991e45adae0083653b1118c532d69ffb581b731dfe.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { useSizeProp } from '../../../hooks/use-size/index.mjs';\nimport { useAriaProps } from '../../../hooks/use-aria/index.mjs';\nimport { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nimport { isArray } from '@vue/shared';\nconst checkboxGroupProps = buildProps({\n modelValue: {\n type: definePropType(Array),\n default: () => []\n },\n disabled: Boolean,\n min: Number,\n max: Number,\n size: useSizeProp,\n fill: String,\n textColor: String,\n tag: {\n type: String,\n default: \"div\"\n },\n validateEvent: {\n type: Boolean,\n default: true\n },\n ...useAriaProps([\"ariaLabel\"])\n});\nconst checkboxGroupEmits = {\n [UPDATE_MODEL_EVENT]: val => isArray(val),\n change: val => isArray(val)\n};\nexport { checkboxGroupEmits, checkboxGroupProps };","map":{"version":3,"names":["checkboxGroupProps","buildProps","modelValue","type","definePropType","Array","default","disabled","Boolean","min","Number","max","size","useSizeProp","fill","String","textColor","tag","validateEvent","useAriaProps","checkboxGroupEmits","UPDATE_MODEL_EVENT","val","isArray","change"],"sources":["../../../../../../packages/components/checkbox/src/checkbox-group.ts"],"sourcesContent":["import { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, isArray } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type checkboxGroup from './checkbox-group.vue'\nimport type { CheckboxValueType } from './checkbox'\n\nexport type CheckboxGroupValueType = Exclude[]\n\nexport const checkboxGroupProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType(Array),\n default: () => [],\n },\n /**\n * @description whether the nesting checkboxes are disabled\n */\n disabled: Boolean,\n /**\n * @description minimum number of checkbox checked\n */\n min: Number,\n /**\n * @description maximum number of checkbox checked\n */\n max: Number,\n /**\n * @description size of checkbox\n */\n size: useSizeProp,\n /**\n * @description border and background color when button is active\n */\n fill: String,\n /**\n * @description font color when button is active\n */\n textColor: String,\n /**\n * @description element tag of the checkbox group\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport const checkboxGroupEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxGroupValueType) => isArray(val),\n change: (val: CheckboxValueType[]) => isArray(val),\n}\n\nexport type CheckboxGroupProps = ExtractPropTypes\nexport type CheckboxGroupEmits = typeof checkboxGroupEmits\nexport type CheckboxGroupInstance = InstanceType & unknown\n"],"mappings":";;;;;AAGY,MAACA,kBAAkB,GAAGC,UAAU,CAAC;EAC3CC,UAAU,EAAE;IACVC,IAAI,EAAEC,cAAc,CAACC,KAAK,CAAC;IAC3BC,OAAO,EAAEA,CAAA,KAAM;EACnB,CAAG;EACDC,QAAQ,EAAEC,OAAO;EACjBC,GAAG,EAAEC,MAAM;EACXC,GAAG,EAAED,MAAM;EACXE,IAAI,EAAEC,WAAW;EACjBC,IAAI,EAAEC,MAAM;EACZC,SAAS,EAAED,MAAM;EACjBE,GAAG,EAAE;IACHd,IAAI,EAAEY,MAAM;IACZT,OAAO,EAAE;EACb,CAAG;EACDY,aAAa,EAAE;IACbf,IAAI,EAAEK,OAAO;IACbF,OAAO,EAAE;EACb,CAAG;EACD,GAAGa,YAAY,CAAC,CAAC,WAAW,CAAC;AAC/B,CAAC;AACW,MAACC,kBAAkB,GAAG;EAChC,CAACC,kBAAkB,GAAIC,GAAG,IAAKC,OAAO,CAACD,GAAG,CAAC;EAC3CE,MAAM,EAAGF,GAAG,IAAKC,OAAO,CAACD,GAAG;AAC9B","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1996038dce3dd4c406bb03ae23c4a24f8b00499940696784b23b61c2f7370cd5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1996038dce3dd4c406bb03ae23c4a24f8b00499940696784b23b61c2f7370cd5.json new file mode 100644 index 00000000..b8f61376 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1996038dce3dd4c406bb03ae23c4a24f8b00499940696784b23b61c2f7370cd5.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n/* global __resourceQuery, __webpack_hash__ */\n/// \nimport webpackHotLog from \"webpack/hot/log.js\";\nimport stripAnsi from \"./utils/stripAnsi.js\";\nimport parseURL from \"./utils/parseURL.js\";\nimport socket from \"./socket.js\";\nimport { formatProblem, createOverlay } from \"./overlay.js\";\nimport { log, logEnabledFeatures, setLogLevel } from \"./utils/log.js\";\nimport sendMessage from \"./utils/sendMessage.js\";\nimport reloadApp from \"./utils/reloadApp.js\";\nimport createSocketURL from \"./utils/createSocketURL.js\";\n\n/**\n * @typedef {Object} OverlayOptions\n * @property {boolean | (error: Error) => boolean} [warnings]\n * @property {boolean | (error: Error) => boolean} [errors]\n * @property {boolean | (error: Error) => boolean} [runtimeErrors]\n * @property {string} [trustedTypesPolicyName]\n */\n\n/**\n * @typedef {Object} Options\n * @property {boolean} hot\n * @property {boolean} liveReload\n * @property {boolean} progress\n * @property {boolean | OverlayOptions} overlay\n * @property {string} [logging]\n * @property {number} [reconnect]\n */\n\n/**\n * @typedef {Object} Status\n * @property {boolean} isUnloading\n * @property {string} currentHash\n * @property {string} [previousHash]\n */\n\n/**\n * @param {boolean | { warnings?: boolean | string; errors?: boolean | string; runtimeErrors?: boolean | string; }} overlayOptions\n */\nvar decodeOverlayOptions = function decodeOverlayOptions(overlayOptions) {\n if (typeof overlayOptions === \"object\") {\n [\"warnings\", \"errors\", \"runtimeErrors\"].forEach(function (property) {\n if (typeof overlayOptions[property] === \"string\") {\n var overlayFilterFunctionString = decodeURIComponent(overlayOptions[property]);\n\n // eslint-disable-next-line no-new-func\n var overlayFilterFunction = new Function(\"message\", \"var callback = \".concat(overlayFilterFunctionString, \"\\n return callback(message)\"));\n overlayOptions[property] = overlayFilterFunction;\n }\n });\n }\n};\n\n/**\n * @type {Status}\n */\nvar status = {\n isUnloading: false,\n // TODO Workaround for webpack v4, `__webpack_hash__` is not replaced without HotModuleReplacement\n // eslint-disable-next-line camelcase\n currentHash: typeof __webpack_hash__ !== \"undefined\" ? __webpack_hash__ : \"\"\n};\n\n/** @type {Options} */\nvar options = {\n hot: false,\n liveReload: false,\n progress: false,\n overlay: false\n};\nvar parsedResourceQuery = parseURL(__resourceQuery);\nvar enabledFeatures = {\n \"Hot Module Replacement\": false,\n \"Live Reloading\": false,\n Progress: false,\n Overlay: false\n};\nif (parsedResourceQuery.hot === \"true\") {\n options.hot = true;\n enabledFeatures[\"Hot Module Replacement\"] = true;\n}\nif (parsedResourceQuery[\"live-reload\"] === \"true\") {\n options.liveReload = true;\n enabledFeatures[\"Live Reloading\"] = true;\n}\nif (parsedResourceQuery.progress === \"true\") {\n options.progress = true;\n enabledFeatures.Progress = true;\n}\nif (parsedResourceQuery.overlay) {\n try {\n options.overlay = JSON.parse(parsedResourceQuery.overlay);\n } catch (e) {\n log.error(\"Error parsing overlay options from resource query:\", e);\n }\n\n // Fill in default \"true\" params for partially-specified objects.\n if (typeof options.overlay === \"object\") {\n options.overlay = _objectSpread({\n errors: true,\n warnings: true,\n runtimeErrors: true\n }, options.overlay);\n decodeOverlayOptions(options.overlay);\n }\n enabledFeatures.Overlay = true;\n}\nif (parsedResourceQuery.logging) {\n options.logging = parsedResourceQuery.logging;\n}\nif (typeof parsedResourceQuery.reconnect !== \"undefined\") {\n options.reconnect = Number(parsedResourceQuery.reconnect);\n}\n\n/**\n * @param {string} level\n */\nfunction setAllLogLevel(level) {\n // This is needed because the HMR logger operate separately from dev server logger\n webpackHotLog.setLogLevel(level === \"verbose\" || level === \"log\" ? \"info\" : level);\n setLogLevel(level);\n}\nif (options.logging) {\n setAllLogLevel(options.logging);\n}\nlogEnabledFeatures(enabledFeatures);\nself.addEventListener(\"beforeunload\", function () {\n status.isUnloading = true;\n});\nvar overlay = typeof window !== \"undefined\" ? createOverlay(typeof options.overlay === \"object\" ? {\n trustedTypesPolicyName: options.overlay.trustedTypesPolicyName,\n catchRuntimeError: options.overlay.runtimeErrors\n} : {\n trustedTypesPolicyName: false,\n catchRuntimeError: options.overlay\n}) : {\n send: function send() {}\n};\nvar onSocketMessage = {\n hot: function hot() {\n if (parsedResourceQuery.hot === \"false\") {\n return;\n }\n options.hot = true;\n },\n liveReload: function liveReload() {\n if (parsedResourceQuery[\"live-reload\"] === \"false\") {\n return;\n }\n options.liveReload = true;\n },\n invalid: function invalid() {\n log.info(\"App updated. Recompiling...\");\n\n // Fixes #1042. overlay doesn't clear if errors are fixed but warnings remain.\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n sendMessage(\"Invalid\");\n },\n /**\n * @param {string} hash\n */\n hash: function hash(_hash) {\n status.previousHash = status.currentHash;\n status.currentHash = _hash;\n },\n logging: setAllLogLevel,\n /**\n * @param {boolean} value\n */\n overlay: function overlay(value) {\n if (typeof document === \"undefined\") {\n return;\n }\n options.overlay = value;\n decodeOverlayOptions(options.overlay);\n },\n /**\n * @param {number} value\n */\n reconnect: function reconnect(value) {\n if (parsedResourceQuery.reconnect === \"false\") {\n return;\n }\n options.reconnect = value;\n },\n /**\n * @param {boolean} value\n */\n progress: function progress(value) {\n options.progress = value;\n },\n /**\n * @param {{ pluginName?: string, percent: number, msg: string }} data\n */\n \"progress-update\": function progressUpdate(data) {\n if (options.progress) {\n log.info(\"\".concat(data.pluginName ? \"[\".concat(data.pluginName, \"] \") : \"\").concat(data.percent, \"% - \").concat(data.msg, \".\"));\n }\n sendMessage(\"Progress\", data);\n },\n \"still-ok\": function stillOk() {\n log.info(\"Nothing changed.\");\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n sendMessage(\"StillOk\");\n },\n ok: function ok() {\n sendMessage(\"Ok\");\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n reloadApp(options, status);\n },\n // TODO: remove in v5 in favor of 'static-changed'\n /**\n * @param {string} file\n */\n \"content-changed\": function contentChanged(file) {\n log.info(\"\".concat(file ? \"\\\"\".concat(file, \"\\\"\") : \"Content\", \" from static directory was changed. Reloading...\"));\n self.location.reload();\n },\n /**\n * @param {string} file\n */\n \"static-changed\": function staticChanged(file) {\n log.info(\"\".concat(file ? \"\\\"\".concat(file, \"\\\"\") : \"Content\", \" from static directory was changed. Reloading...\"));\n self.location.reload();\n },\n /**\n * @param {Error[]} warnings\n * @param {any} params\n */\n warnings: function warnings(_warnings, params) {\n log.warn(\"Warnings while compiling.\");\n var printableWarnings = _warnings.map(function (error) {\n var _formatProblem = formatProblem(\"warning\", error),\n header = _formatProblem.header,\n body = _formatProblem.body;\n return \"\".concat(header, \"\\n\").concat(stripAnsi(body));\n });\n sendMessage(\"Warnings\", printableWarnings);\n for (var i = 0; i < printableWarnings.length; i++) {\n log.warn(printableWarnings[i]);\n }\n var overlayWarningsSetting = typeof options.overlay === \"boolean\" ? options.overlay : options.overlay && options.overlay.warnings;\n if (overlayWarningsSetting) {\n var warningsToDisplay = typeof overlayWarningsSetting === \"function\" ? _warnings.filter(overlayWarningsSetting) : _warnings;\n if (warningsToDisplay.length) {\n overlay.send({\n type: \"BUILD_ERROR\",\n level: \"warning\",\n messages: _warnings\n });\n }\n }\n if (params && params.preventReloading) {\n return;\n }\n reloadApp(options, status);\n },\n /**\n * @param {Error[]} errors\n */\n errors: function errors(_errors) {\n log.error(\"Errors while compiling. Reload prevented.\");\n var printableErrors = _errors.map(function (error) {\n var _formatProblem2 = formatProblem(\"error\", error),\n header = _formatProblem2.header,\n body = _formatProblem2.body;\n return \"\".concat(header, \"\\n\").concat(stripAnsi(body));\n });\n sendMessage(\"Errors\", printableErrors);\n for (var i = 0; i < printableErrors.length; i++) {\n log.error(printableErrors[i]);\n }\n var overlayErrorsSettings = typeof options.overlay === \"boolean\" ? options.overlay : options.overlay && options.overlay.errors;\n if (overlayErrorsSettings) {\n var errorsToDisplay = typeof overlayErrorsSettings === \"function\" ? _errors.filter(overlayErrorsSettings) : _errors;\n if (errorsToDisplay.length) {\n overlay.send({\n type: \"BUILD_ERROR\",\n level: \"error\",\n messages: _errors\n });\n }\n }\n },\n /**\n * @param {Error} error\n */\n error: function error(_error) {\n log.error(_error);\n },\n close: function close() {\n log.info(\"Disconnected!\");\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n sendMessage(\"Close\");\n }\n};\nvar socketURL = createSocketURL(parsedResourceQuery);\nsocket(socketURL, onSocketMessage, options.reconnect);","map":{"version":3,"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","webpackHotLog","stripAnsi","parseURL","socket","formatProblem","createOverlay","log","logEnabledFeatures","setLogLevel","sendMessage","reloadApp","createSocketURL","decodeOverlayOptions","overlayOptions","property","overlayFilterFunctionString","decodeURIComponent","overlayFilterFunction","Function","concat","status","isUnloading","currentHash","__webpack_hash__","options","hot","liveReload","progress","overlay","parsedResourceQuery","__resourceQuery","enabledFeatures","Progress","Overlay","JSON","parse","e","error","errors","warnings","runtimeErrors","logging","reconnect","setAllLogLevel","level","self","addEventListener","window","trustedTypesPolicyName","catchRuntimeError","send","onSocketMessage","invalid","info","type","hash","_hash","previousHash","document","progressUpdate","data","pluginName","percent","msg","stillOk","ok","contentChanged","file","location","reload","staticChanged","_warnings","params","warn","printableWarnings","map","_formatProblem","header","body","overlayWarningsSetting","warningsToDisplay","messages","preventReloading","_errors","printableErrors","_formatProblem2","overlayErrorsSettings","errorsToDisplay","_error","close","socketURL"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/webpack-dev-server/client/index.js"],"sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/* global __resourceQuery, __webpack_hash__ */\n/// \nimport webpackHotLog from \"webpack/hot/log.js\";\nimport stripAnsi from \"./utils/stripAnsi.js\";\nimport parseURL from \"./utils/parseURL.js\";\nimport socket from \"./socket.js\";\nimport { formatProblem, createOverlay } from \"./overlay.js\";\nimport { log, logEnabledFeatures, setLogLevel } from \"./utils/log.js\";\nimport sendMessage from \"./utils/sendMessage.js\";\nimport reloadApp from \"./utils/reloadApp.js\";\nimport createSocketURL from \"./utils/createSocketURL.js\";\n\n/**\n * @typedef {Object} OverlayOptions\n * @property {boolean | (error: Error) => boolean} [warnings]\n * @property {boolean | (error: Error) => boolean} [errors]\n * @property {boolean | (error: Error) => boolean} [runtimeErrors]\n * @property {string} [trustedTypesPolicyName]\n */\n\n/**\n * @typedef {Object} Options\n * @property {boolean} hot\n * @property {boolean} liveReload\n * @property {boolean} progress\n * @property {boolean | OverlayOptions} overlay\n * @property {string} [logging]\n * @property {number} [reconnect]\n */\n\n/**\n * @typedef {Object} Status\n * @property {boolean} isUnloading\n * @property {string} currentHash\n * @property {string} [previousHash]\n */\n\n/**\n * @param {boolean | { warnings?: boolean | string; errors?: boolean | string; runtimeErrors?: boolean | string; }} overlayOptions\n */\nvar decodeOverlayOptions = function decodeOverlayOptions(overlayOptions) {\n if (typeof overlayOptions === \"object\") {\n [\"warnings\", \"errors\", \"runtimeErrors\"].forEach(function (property) {\n if (typeof overlayOptions[property] === \"string\") {\n var overlayFilterFunctionString = decodeURIComponent(overlayOptions[property]);\n\n // eslint-disable-next-line no-new-func\n var overlayFilterFunction = new Function(\"message\", \"var callback = \".concat(overlayFilterFunctionString, \"\\n return callback(message)\"));\n overlayOptions[property] = overlayFilterFunction;\n }\n });\n }\n};\n\n/**\n * @type {Status}\n */\nvar status = {\n isUnloading: false,\n // TODO Workaround for webpack v4, `__webpack_hash__` is not replaced without HotModuleReplacement\n // eslint-disable-next-line camelcase\n currentHash: typeof __webpack_hash__ !== \"undefined\" ? __webpack_hash__ : \"\"\n};\n\n/** @type {Options} */\nvar options = {\n hot: false,\n liveReload: false,\n progress: false,\n overlay: false\n};\nvar parsedResourceQuery = parseURL(__resourceQuery);\nvar enabledFeatures = {\n \"Hot Module Replacement\": false,\n \"Live Reloading\": false,\n Progress: false,\n Overlay: false\n};\nif (parsedResourceQuery.hot === \"true\") {\n options.hot = true;\n enabledFeatures[\"Hot Module Replacement\"] = true;\n}\nif (parsedResourceQuery[\"live-reload\"] === \"true\") {\n options.liveReload = true;\n enabledFeatures[\"Live Reloading\"] = true;\n}\nif (parsedResourceQuery.progress === \"true\") {\n options.progress = true;\n enabledFeatures.Progress = true;\n}\nif (parsedResourceQuery.overlay) {\n try {\n options.overlay = JSON.parse(parsedResourceQuery.overlay);\n } catch (e) {\n log.error(\"Error parsing overlay options from resource query:\", e);\n }\n\n // Fill in default \"true\" params for partially-specified objects.\n if (typeof options.overlay === \"object\") {\n options.overlay = _objectSpread({\n errors: true,\n warnings: true,\n runtimeErrors: true\n }, options.overlay);\n decodeOverlayOptions(options.overlay);\n }\n enabledFeatures.Overlay = true;\n}\nif (parsedResourceQuery.logging) {\n options.logging = parsedResourceQuery.logging;\n}\nif (typeof parsedResourceQuery.reconnect !== \"undefined\") {\n options.reconnect = Number(parsedResourceQuery.reconnect);\n}\n\n/**\n * @param {string} level\n */\nfunction setAllLogLevel(level) {\n // This is needed because the HMR logger operate separately from dev server logger\n webpackHotLog.setLogLevel(level === \"verbose\" || level === \"log\" ? \"info\" : level);\n setLogLevel(level);\n}\nif (options.logging) {\n setAllLogLevel(options.logging);\n}\nlogEnabledFeatures(enabledFeatures);\nself.addEventListener(\"beforeunload\", function () {\n status.isUnloading = true;\n});\nvar overlay = typeof window !== \"undefined\" ? createOverlay(typeof options.overlay === \"object\" ? {\n trustedTypesPolicyName: options.overlay.trustedTypesPolicyName,\n catchRuntimeError: options.overlay.runtimeErrors\n} : {\n trustedTypesPolicyName: false,\n catchRuntimeError: options.overlay\n}) : {\n send: function send() {}\n};\nvar onSocketMessage = {\n hot: function hot() {\n if (parsedResourceQuery.hot === \"false\") {\n return;\n }\n options.hot = true;\n },\n liveReload: function liveReload() {\n if (parsedResourceQuery[\"live-reload\"] === \"false\") {\n return;\n }\n options.liveReload = true;\n },\n invalid: function invalid() {\n log.info(\"App updated. Recompiling...\");\n\n // Fixes #1042. overlay doesn't clear if errors are fixed but warnings remain.\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n sendMessage(\"Invalid\");\n },\n /**\n * @param {string} hash\n */\n hash: function hash(_hash) {\n status.previousHash = status.currentHash;\n status.currentHash = _hash;\n },\n logging: setAllLogLevel,\n /**\n * @param {boolean} value\n */\n overlay: function overlay(value) {\n if (typeof document === \"undefined\") {\n return;\n }\n options.overlay = value;\n decodeOverlayOptions(options.overlay);\n },\n /**\n * @param {number} value\n */\n reconnect: function reconnect(value) {\n if (parsedResourceQuery.reconnect === \"false\") {\n return;\n }\n options.reconnect = value;\n },\n /**\n * @param {boolean} value\n */\n progress: function progress(value) {\n options.progress = value;\n },\n /**\n * @param {{ pluginName?: string, percent: number, msg: string }} data\n */\n \"progress-update\": function progressUpdate(data) {\n if (options.progress) {\n log.info(\"\".concat(data.pluginName ? \"[\".concat(data.pluginName, \"] \") : \"\").concat(data.percent, \"% - \").concat(data.msg, \".\"));\n }\n sendMessage(\"Progress\", data);\n },\n \"still-ok\": function stillOk() {\n log.info(\"Nothing changed.\");\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n sendMessage(\"StillOk\");\n },\n ok: function ok() {\n sendMessage(\"Ok\");\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n reloadApp(options, status);\n },\n // TODO: remove in v5 in favor of 'static-changed'\n /**\n * @param {string} file\n */\n \"content-changed\": function contentChanged(file) {\n log.info(\"\".concat(file ? \"\\\"\".concat(file, \"\\\"\") : \"Content\", \" from static directory was changed. Reloading...\"));\n self.location.reload();\n },\n /**\n * @param {string} file\n */\n \"static-changed\": function staticChanged(file) {\n log.info(\"\".concat(file ? \"\\\"\".concat(file, \"\\\"\") : \"Content\", \" from static directory was changed. Reloading...\"));\n self.location.reload();\n },\n /**\n * @param {Error[]} warnings\n * @param {any} params\n */\n warnings: function warnings(_warnings, params) {\n log.warn(\"Warnings while compiling.\");\n var printableWarnings = _warnings.map(function (error) {\n var _formatProblem = formatProblem(\"warning\", error),\n header = _formatProblem.header,\n body = _formatProblem.body;\n return \"\".concat(header, \"\\n\").concat(stripAnsi(body));\n });\n sendMessage(\"Warnings\", printableWarnings);\n for (var i = 0; i < printableWarnings.length; i++) {\n log.warn(printableWarnings[i]);\n }\n var overlayWarningsSetting = typeof options.overlay === \"boolean\" ? options.overlay : options.overlay && options.overlay.warnings;\n if (overlayWarningsSetting) {\n var warningsToDisplay = typeof overlayWarningsSetting === \"function\" ? _warnings.filter(overlayWarningsSetting) : _warnings;\n if (warningsToDisplay.length) {\n overlay.send({\n type: \"BUILD_ERROR\",\n level: \"warning\",\n messages: _warnings\n });\n }\n }\n if (params && params.preventReloading) {\n return;\n }\n reloadApp(options, status);\n },\n /**\n * @param {Error[]} errors\n */\n errors: function errors(_errors) {\n log.error(\"Errors while compiling. Reload prevented.\");\n var printableErrors = _errors.map(function (error) {\n var _formatProblem2 = formatProblem(\"error\", error),\n header = _formatProblem2.header,\n body = _formatProblem2.body;\n return \"\".concat(header, \"\\n\").concat(stripAnsi(body));\n });\n sendMessage(\"Errors\", printableErrors);\n for (var i = 0; i < printableErrors.length; i++) {\n log.error(printableErrors[i]);\n }\n var overlayErrorsSettings = typeof options.overlay === \"boolean\" ? options.overlay : options.overlay && options.overlay.errors;\n if (overlayErrorsSettings) {\n var errorsToDisplay = typeof overlayErrorsSettings === \"function\" ? _errors.filter(overlayErrorsSettings) : _errors;\n if (errorsToDisplay.length) {\n overlay.send({\n type: \"BUILD_ERROR\",\n level: \"error\",\n messages: _errors\n });\n }\n }\n },\n /**\n * @param {Error} error\n */\n error: function error(_error) {\n log.error(_error);\n },\n close: function close() {\n log.info(\"Disconnected!\");\n if (options.overlay) {\n overlay.send({\n type: \"DISMISS\"\n });\n }\n sendMessage(\"Close\");\n }\n};\nvar socketURL = createSocketURL(parsedResourceQuery);\nsocket(socketURL, onSocketMessage, options.reconnect);"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/199a2c6503ba1766165cf6938e8889e8f51c8a64e2f09124b10a916b8f846c1f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/199a2c6503ba1766165cf6938e8889e8f51c8a64e2f09124b10a916b8f846c1f.json new file mode 100644 index 00000000..fba730d6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/199a2c6503ba1766165cf6938e8889e8f51c8a64e2f09124b10a916b8f846c1f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import DatePickPanel from './date-picker-com/panel-date-pick.mjs';\nimport DateRangePickPanel from './date-picker-com/panel-date-range.mjs';\nimport MonthRangePickPanel from './date-picker-com/panel-month-range.mjs';\nimport YearRangePickPanel from './date-picker-com/panel-year-range.mjs';\nconst getPanel = function (type) {\n switch (type) {\n case \"daterange\":\n case \"datetimerange\":\n {\n return DateRangePickPanel;\n }\n case \"monthrange\":\n {\n return MonthRangePickPanel;\n }\n case \"yearrange\":\n {\n return YearRangePickPanel;\n }\n default:\n {\n return DatePickPanel;\n }\n }\n};\nexport { getPanel };","map":{"version":3,"names":["getPanel","type","DateRangePickPanel","MonthRangePickPanel","YearRangePickPanel","DatePickPanel"],"sources":["../../../../../../packages/components/date-picker/src/panel-utils.ts"],"sourcesContent":["import DatePickPanel from './date-picker-com/panel-date-pick.vue'\nimport DateRangePickPanel from './date-picker-com/panel-date-range.vue'\nimport MonthRangePickPanel from './date-picker-com/panel-month-range.vue'\nimport YearRangePickPanel from './date-picker-com/panel-year-range.vue'\nimport type { IDatePickerType } from './date-picker.type'\n\nexport const getPanel = function (type: IDatePickerType) {\n switch (type) {\n case 'daterange':\n case 'datetimerange': {\n return DateRangePickPanel\n }\n case 'monthrange': {\n return MonthRangePickPanel\n }\n case 'yearrange': {\n return YearRangePickPanel\n }\n default: {\n return DatePickPanel\n }\n }\n}\n"],"mappings":";;;;AAIY,MAACA,QAAQ,GAAG,SAAAA,CAASC,IAAI,EAAE;EACrC,QAAQA,IAAI;IACV,KAAK,WAAW;IAChB,KAAK,eAAe;MAAE;QACpB,OAAOC,kBAAkB;MAC/B;IACI,KAAK,YAAY;MAAE;QACjB,OAAOC,mBAAmB;MAChC;IACI,KAAK,WAAW;MAAE;QAChB,OAAOC,kBAAkB;MAC/B;IACI;MAAS;QACP,OAAOC,aAAa;MAC1B;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/19b7d225537c16401c33d701356a5bc38e4a1c97a87f0e3b1bef4afad34b9c5a.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/19b7d225537c16401c33d701356a5bc38e4a1c97a87f0e3b1bef4afad34b9c5a.json new file mode 100644 index 00000000..e7d88b82 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/19b7d225537c16401c33d701356a5bc38e4a1c97a87f0e3b1bef4afad34b9c5a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import InfiniteScroll from './src/index.mjs';\nconst _InfiniteScroll = InfiniteScroll;\n_InfiniteScroll.install = app => {\n app.directive(\"InfiniteScroll\", _InfiniteScroll);\n};\nconst ElInfiniteScroll = _InfiniteScroll;\nexport { ElInfiniteScroll, _InfiniteScroll as default };","map":{"version":3,"names":["_InfiniteScroll","InfiniteScroll","install","app","directive","ElInfiniteScroll"],"sources":["../../../../../packages/components/infinite-scroll/index.ts"],"sourcesContent":["import InfiniteScroll from './src'\n\nimport type { App } from 'vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nconst _InfiniteScroll = InfiniteScroll as SFCWithInstall\n\n_InfiniteScroll.install = (app: App) => {\n app.directive('InfiniteScroll', _InfiniteScroll)\n}\n\nexport default _InfiniteScroll\nexport const ElInfiniteScroll = _InfiniteScroll\n"],"mappings":";AACK,MAACA,eAAe,GAAGC,cAAA;AACxBD,eAAe,CAACE,OAAO,GAAIC,GAAG,IAAK;EACjCA,GAAG,CAACC,SAAS,CAAC,gBAAgB,EAAEJ,eAAe,CAAC;AAClD,CAAC;AAEW,MAACK,gBAAgB,GAAGL,eAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/19fa17a57b8d39a83e0b403a6f5c0ea7f59565ed8725ce1f52694482c3235979.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/19fa17a57b8d39a83e0b403a6f5c0ea7f59565ed8725ce1f52694482c3235979.json new file mode 100644 index 00000000..37329725 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/19fa17a57b8d39a83e0b403a6f5c0ea7f59565ed8725ce1f52694482c3235979.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n await fetchDrones(); // 路径规划前强制刷新无人机数据\n console.log('[调试] 当前所有无人机:', JSON.parse(JSON.stringify(drones.value)));\n console.log('[调试] 当前选中无人机ID:', selectedDroneId.value);\n const drone = drones.value.find(d => d.id === selectedDroneId.value);\n console.log('[调试] 选中无人机详细信息:', drone);\n // 校验目标点数量,必须至少2个目标点\n if (targetPoints.value.length < 2) {\n ElMessage.warning('至少需要2个目标点');\n return;\n }\n\n // ========== 新增:过滤掉已到达的目标点 ==========\n let filteredTargetPoints = targetPoints.value;\n if (pathInfo.value && pathInfo.value.id) {\n try {\n const res = await fetch(`/api/path-planning/${pathInfo.value.id}`);\n if (res.ok) {\n const data = await res.json();\n const waypoints = data.data && data.data.waypoints ? data.data.waypoints : [];\n if (Array.isArray(waypoints) && waypoints.length > 0) {\n filteredTargetPoints = targetPoints.value.filter(tp => {\n const match = waypoints.find(wp => wp.lng === tp.lng && wp.lat === tp.lat);\n return !(match && match.arrived);\n });\n if (filteredTargetPoints.length === 0) {\n ElMessage.warning('所有目标点均已到达,无需重新规划');\n return;\n }\n }\n }\n } catch (e) {\n console.warn('获取waypoints失败,使用全部目标点', e);\n }\n }\n // ========== 新增 END ==========\n\n let planningData = {};\n if (drone && drone.latitude != null && drone.longitude != null) {\n // 以无人机当前位置为起点,所有目标点为目标点\n planningData = {\n droneId: drone.id,\n startPoint: null,\n targetPoints: filteredTargetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n } else {\n // 以第一个目标点为起点,其余为目标点\n const startPoint = filteredTargetPoints[0];\n const remainTargets = filteredTargetPoints.slice(1);\n planningData = {\n droneId: drone ? drone.id : null,\n startPoint: startPoint ? {\n lng: startPoint.lng,\n lat: startPoint.lat\n } : null,\n targetPoints: remainTargets.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n }\n try {\n console.log('发送多目标路径规划请求:', planningData);\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 用后端返回的最优顺序覆盖pathPoints.value\n if (data.path_points && Array.isArray(data.path_points) && data.path_points.length > 0) {\n pathPoints.value = data.path_points;\n }\n // 更新路径信息,确保包含id字段\n pathInfo.value = {\n id: data.id,\n // <--- 修复关键点\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n\n // ========== 新增:自动下发新路径给无人机 ==========\n setTimeout(() => {\n executePath();\n }, 500);\n // ========== 新增 END ==========\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n // 清除旧的路径线和标记\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathMarkers.value && pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n // 只画路径曲线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n // 只为起点和终点加Marker(可选)\n const markers = [];\n if (plannedPath.length > 0) {\n // 起点\n const start = plannedPath[0];\n const startMarker = new AMap.Marker({\n position: [start.lng, start.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: '起点',\n zIndex: 100\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n // 终点\n const end = plannedPath[plannedPath.length - 1];\n if (end && (end.lng !== start.lng || end.lat !== start.lat)) {\n const endMarker = new AMap.Marker({\n position: [end.lng, end.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: '终点',\n zIndex: 100\n });\n mapInstance.value.add(endMarker);\n markers.push(endMarker);\n }\n }\n pathMarkers.value = markers;\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]);\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3,\n // 固定为3m/s\n pathId: pathInfo.value && pathInfo.value.id ? pathInfo.value.id : undefined\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n\n // 暂停模拟飞行\n const pausePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/pause`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已暂停');\n } else {\n ElMessage.info(res.data.message || '无人机未在飞行,无需暂停');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('暂停失败: ' + (error.response?.data?.message || error.message));\n }\n };\n\n // 继续模拟飞行\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/resume`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机已继续飞行');\n } else {\n ElMessage.info(res.data.message || '无人机未暂停或无法继续');\n }\n fetchDrones();\n } catch (error) {\n ElMessage.error('继续飞行失败: ' + (error.response?.data?.message || error.message));\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n pausePath,\n resumePath\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","parse","drone","d","warning","filteredTargetPoints","waypoints","tp","match","wp","arrived","planningData","latitude","longitude","droneId","startPoint","algorithm","geometry_type","geometry_data","remainTargets","slice","details","path_points","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","executePath","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathCoords","markers","start","startMarker","end","endMarker","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","confirm","confirmButtonText","cancelButtonText","post","speed","pathId","undefined","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","pausePath","resumePath","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["[{\"lat\": 28.260405, \"lng\": 113.043762, \"altitude\": 100}, {\"lat\": 28.2603870934567, \"lng\": 113.043742, \"altitude\": 100}, {\"lat\": 28.26038026978722, \"lng\": 113.043732, \"altitude\": 100}, {\"lat\": 28.26037722777559, \"lng\": 113.043722, \"altitude\": 100}, {\"lat\": 28.2603758204314, \"lng\": 113.043712, \"altitude\": 100}, {\"lat\": 28.260375, \"lng\": 113.04370199999998, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.043688, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04362799999998, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.260250000000003, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26027, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26031, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26032, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26033, \"lng\": 113.04349799999994, \"altitude\": 100}, {\"lat\": 28.260329657248825, \"lng\": 113.04333899999996, \"altitude\": 100}, {\"lat\": 28.260329045127367, \"lng\": 113.04332900218694, \"altitude\": 100}, {\"lat\": 28.26032763536048, \"lng\": 113.04331901844364, \"altitude\": 100}, {\"lat\": 28.26032449792997, \"lng\": 113.04330908174028, \"altitude\": 100}, {\"lat\": 28.26031757077936, \"lng\": 113.04329926101076, \"altitude\": 100}, {\"lat\": 28.260308937584192, \"lng\": 113.04328969386172, \"altitude\": 100}, {\"lat\": 28.260299540314985, \"lng\": 113.04328067245874, \"altitude\": 100}, {\"lat\": 28.260289803396574, \"lng\": 113.04327284458132, \"altitude\": 100}, {\"lat\": 28.26027991692941, \"lng\": 113.04326765284172, \"altitude\": 100}, {\"lat\": 28.260269965363943, \"lng\": 113.0432616282346, \"altitude\": 100}, {\"lat\": 28.26025998589524, \"lng\": 113.04325740582271, \"altitude\": 100}, {\"lat\": 28.26024999490601, \"lng\": 113.04325214927236, \"altitude\": 100}, {\"lat\": 28.260240000000003, \"lng\": 113.04324899999992, \"altitude\": 100}, {\"lat\": 28.260225, \"lng\": 113.04325098991052, \"altitude\": 100}, {\"lat\": 28.260215, \"lng\": 113.04325761472994, \"altitude\": 100}, {\"lat\": 28.260205000000003, \"lng\": 113.04326063389736, \"altitude\": 100}, {\"lat\": 28.260195000000003, \"lng\": 113.04326208326216, \"altitude\": 100}, {\"lat\": 28.260175000000004, \"lng\": 113.04326385237782, \"altitude\": 100}, {\"lat\": 28.260165000000004, \"lng\": 113.04326538025909, \"altitude\": 100}, {\"lat\": 28.260155000000005, \"lng\": 113.04326855507162, \"altitude\": 100}, {\"lat\": 28.260145000000005, \"lng\": 113.04327548338618, \"altitude\": 100}, {\"lat\": 28.260075422227793, \"lng\": 113.04334300734416, \"altitude\": 100}, {\"lat\": 28.260057360492155, \"lng\": 113.04336300128588, \"altitude\": 100}, {\"lat\": 28.26005031185535, \"lng\": 113.0433730005306, \"altitude\": 100}, {\"lat\": 28.260046832361645, \"lng\": 113.04338300021698, \"altitude\": 100}, {\"lat\": 28.260042085948992, \"lng\": 113.04340300003538, \"altitude\": 100}, {\"lat\": 28.260037642166008, \"lng\": 113.04341300001414, \"altitude\": 100}, {\"lat\": 28.26003225531972, \"lng\": 113.04343300000224, \"altitude\": 100}, {\"lat\": 28.260027719490992, \"lng\": 113.04344300000092, \"altitude\": 100}, {\"lat\": 28.26002227121304, \"lng\": 113.0434630000002, \"altitude\": 100}, {\"lat\": 28.260017726619445, \"lng\": 113.04347300000012, \"altitude\": 100}, {\"lat\": 28.26001227241032, \"lng\": 113.0434930000001, \"altitude\": 100}, {\"lat\": 28.260007725185904, \"lng\": 113.0435030000001, \"altitude\": 100}, {\"lat\": 28.26000223418982, \"lng\": 113.0435230000001, \"altitude\": 100}, {\"lat\": 28.259997616009453, \"lng\": 113.04353300000012, \"altitude\": 100}, {\"lat\": 28.25999161554087, \"lng\": 113.04355300000012, \"altitude\": 100}, {\"lat\": 28.259986246848037, \"lng\": 113.04356300000012, \"altitude\": 100}, {\"lat\": 28.25998171641005, \"lng\": 113.04357300000012, \"altitude\": 100}, {\"lat\": 28.259968373932256, \"lng\": 113.04359300000012, \"altitude\": 100}, {\"lat\": 28.25996401655385, \"lng\": 113.04360300000012, \"altitude\": 100}, {\"lat\": 28.259959037920456, \"lng\": 113.04361300000014, \"altitude\": 100}, {\"lat\": 28.259956772808824, \"lng\": 113.04362300000014, \"altitude\": 100}, {\"lat\": 28.25995569686247, \"lng\": 113.04363300000014, \"altitude\": 100}, {\"lat\": 28.259953612165635, \"lng\": 113.04366300000017, \"altitude\": 100}, {\"lat\": 28.25995176489283, \"lng\": 113.04367300000015, \"altitude\": 100}, {\"lat\": 28.259947736077, \"lng\": 113.04368300000016, \"altitude\": 100}, {\"lat\": 28.25994358999897, \"lng\": 113.04370300000016, \"altitude\": 100}, {\"lat\": 28.25994072250104, \"lng\": 113.04371300000015, \"altitude\": 100}, {\"lat\": 28.259935000000013, \"lng\": 113.04372300000016, \"altitude\": 100}]\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a10d83b98588bba7870fc2ecce26677a4017335d0e60f192c4cc2cdf4d08faf.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a10d83b98588bba7870fc2ecce26677a4017335d0e60f192c4cc2cdf4d08faf.json new file mode 100644 index 00000000..2fcb5927 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a10d83b98588bba7870fc2ecce26677a4017335d0e60f192c4cc2cdf4d08faf.json @@ -0,0 +1 @@ +{"ast":null,"code":"export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n let pos = 0;\n let end;\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n const reader = stream.getReader();\n try {\n for (;;) {\n const {\n done,\n value\n } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n let bytes = 0;\n let done;\n let _onFinish = e => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n return new ReadableStream({\n async pull(controller) {\n try {\n const {\n done,\n value\n } = await iterator.next();\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n });\n};","map":{"version":3,"names":["streamChunk","chunk","chunkSize","len","byteLength","pos","end","slice","readBytes","iterable","readStream","stream","Symbol","asyncIterator","reader","getReader","done","value","read","cancel","trackStream","onProgress","onFinish","iterator","bytes","_onFinish","e","ReadableStream","pull","controller","next","close","loadedBytes","enqueue","Uint8Array","err","reason","return","highWaterMark"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/helpers/trackStream.js"],"sourcesContent":["\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n"],"mappings":"AACA,OAAO,MAAMA,WAAW,GAAG,UAAAA,CAAWC,KAAK,EAAEC,SAAS,EAAE;EACtD,IAAIC,GAAG,GAAGF,KAAK,CAACG,UAAU;EAE1B,IAAI,CAACF,SAAS,IAAIC,GAAG,GAAGD,SAAS,EAAE;IACjC,MAAMD,KAAK;IACX;EACF;EAEA,IAAII,GAAG,GAAG,CAAC;EACX,IAAIC,GAAG;EAEP,OAAOD,GAAG,GAAGF,GAAG,EAAE;IAChBG,GAAG,GAAGD,GAAG,GAAGH,SAAS;IACrB,MAAMD,KAAK,CAACM,KAAK,CAACF,GAAG,EAAEC,GAAG,CAAC;IAC3BD,GAAG,GAAGC,GAAG;EACX;AACF,CAAC;AAED,OAAO,MAAME,SAAS,GAAG,gBAAAA,CAAiBC,QAAQ,EAAEP,SAAS,EAAE;EAC7D,WAAW,MAAMD,KAAK,IAAIS,UAAU,CAACD,QAAQ,CAAC,EAAE;IAC9C,OAAOT,WAAW,CAACC,KAAK,EAAEC,SAAS,CAAC;EACtC;AACF,CAAC;AAED,MAAMQ,UAAU,GAAG,gBAAAA,CAAiBC,MAAM,EAAE;EAC1C,IAAIA,MAAM,CAACC,MAAM,CAACC,aAAa,CAAC,EAAE;IAChC,OAAOF,MAAM;IACb;EACF;EAEA,MAAMG,MAAM,GAAGH,MAAM,CAACI,SAAS,CAAC,CAAC;EACjC,IAAI;IACF,SAAS;MACP,MAAM;QAACC,IAAI;QAAEC;MAAK,CAAC,GAAG,MAAMH,MAAM,CAACI,IAAI,CAAC,CAAC;MACzC,IAAIF,IAAI,EAAE;QACR;MACF;MACA,MAAMC,KAAK;IACb;EACF,CAAC,SAAS;IACR,MAAMH,MAAM,CAACK,MAAM,CAAC,CAAC;EACvB;AACF,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGA,CAACT,MAAM,EAAET,SAAS,EAAEmB,UAAU,EAAEC,QAAQ,KAAK;EACtE,MAAMC,QAAQ,GAAGf,SAAS,CAACG,MAAM,EAAET,SAAS,CAAC;EAE7C,IAAIsB,KAAK,GAAG,CAAC;EACb,IAAIR,IAAI;EACR,IAAIS,SAAS,GAAIC,CAAC,IAAK;IACrB,IAAI,CAACV,IAAI,EAAE;MACTA,IAAI,GAAG,IAAI;MACXM,QAAQ,IAAIA,QAAQ,CAACI,CAAC,CAAC;IACzB;EACF,CAAC;EAED,OAAO,IAAIC,cAAc,CAAC;IACxB,MAAMC,IAAIA,CAACC,UAAU,EAAE;MACrB,IAAI;QACF,MAAM;UAACb,IAAI;UAAEC;QAAK,CAAC,GAAG,MAAMM,QAAQ,CAACO,IAAI,CAAC,CAAC;QAE3C,IAAId,IAAI,EAAE;UACTS,SAAS,CAAC,CAAC;UACVI,UAAU,CAACE,KAAK,CAAC,CAAC;UAClB;QACF;QAEA,IAAI5B,GAAG,GAAGc,KAAK,CAACb,UAAU;QAC1B,IAAIiB,UAAU,EAAE;UACd,IAAIW,WAAW,GAAGR,KAAK,IAAIrB,GAAG;UAC9BkB,UAAU,CAACW,WAAW,CAAC;QACzB;QACAH,UAAU,CAACI,OAAO,CAAC,IAAIC,UAAU,CAACjB,KAAK,CAAC,CAAC;MAC3C,CAAC,CAAC,OAAOkB,GAAG,EAAE;QACZV,SAAS,CAACU,GAAG,CAAC;QACd,MAAMA,GAAG;MACX;IACF,CAAC;IACDhB,MAAMA,CAACiB,MAAM,EAAE;MACbX,SAAS,CAACW,MAAM,CAAC;MACjB,OAAOb,QAAQ,CAACc,MAAM,CAAC,CAAC;IAC1B;EACF,CAAC,EAAE;IACDC,aAAa,EAAE;EACjB,CAAC,CAAC;AACJ,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a2a4828a1f52cb87d3e58600804a0927f0606a05c1b1cab8c0af6a13f75d5ab.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a2a4828a1f52cb87d3e58600804a0927f0606a05c1b1cab8c0af6a13f75d5ab.json new file mode 100644 index 00000000..352fd146 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a2a4828a1f52cb87d3e58600804a0927f0606a05c1b1cab8c0af6a13f75d5ab.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onPausePath\", \"onResumePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onPausePath","pausePath","onResumePath","resumePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["[{\"lat\": 28.260405, \"lng\": 113.043762, \"altitude\": 100}, {\"lat\": 28.2603870934567, \"lng\": 113.043742, \"altitude\": 100}, {\"lat\": 28.26038026978722, \"lng\": 113.043732, \"altitude\": 100}, {\"lat\": 28.26037722777559, \"lng\": 113.043722, \"altitude\": 100}, {\"lat\": 28.2603758204314, \"lng\": 113.043712, \"altitude\": 100}, {\"lat\": 28.260375, \"lng\": 113.04370199999998, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.043688, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04362799999998, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.260250000000003, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26027, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26031, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26032, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26033, \"lng\": 113.04349799999994, \"altitude\": 100}, {\"lat\": 28.260329657248825, \"lng\": 113.04333899999996, \"altitude\": 100}, {\"lat\": 28.260329045127367, \"lng\": 113.04332900218694, \"altitude\": 100}, {\"lat\": 28.26032763536048, \"lng\": 113.04331901844364, \"altitude\": 100}, {\"lat\": 28.26032449792997, \"lng\": 113.04330908174028, \"altitude\": 100}, {\"lat\": 28.26031757077936, \"lng\": 113.04329926101076, \"altitude\": 100}, {\"lat\": 28.260308937584192, \"lng\": 113.04328969386172, \"altitude\": 100}, {\"lat\": 28.260299540314985, \"lng\": 113.04328067245874, \"altitude\": 100}, {\"lat\": 28.260289803396574, \"lng\": 113.04327284458132, \"altitude\": 100}, {\"lat\": 28.26027991692941, \"lng\": 113.04326765284172, \"altitude\": 100}, {\"lat\": 28.260269965363943, \"lng\": 113.0432616282346, \"altitude\": 100}, {\"lat\": 28.26025998589524, \"lng\": 113.04325740582271, \"altitude\": 100}, {\"lat\": 28.26024999490601, \"lng\": 113.04325214927236, \"altitude\": 100}, {\"lat\": 28.260240000000003, \"lng\": 113.04324899999992, \"altitude\": 100}, {\"lat\": 28.260225, \"lng\": 113.04325098991052, \"altitude\": 100}, {\"lat\": 28.260215, \"lng\": 113.04325761472994, \"altitude\": 100}, {\"lat\": 28.260205000000003, \"lng\": 113.04326063389736, \"altitude\": 100}, {\"lat\": 28.260195000000003, \"lng\": 113.04326208326216, \"altitude\": 100}, {\"lat\": 28.260175000000004, \"lng\": 113.04326385237782, \"altitude\": 100}, {\"lat\": 28.260165000000004, \"lng\": 113.04326538025909, \"altitude\": 100}, {\"lat\": 28.260155000000005, \"lng\": 113.04326855507162, \"altitude\": 100}, {\"lat\": 28.260145000000005, \"lng\": 113.04327548338618, \"altitude\": 100}, {\"lat\": 28.260075422227793, \"lng\": 113.04334300734416, \"altitude\": 100}, {\"lat\": 28.260057360492155, \"lng\": 113.04336300128588, \"altitude\": 100}, {\"lat\": 28.26005031185535, \"lng\": 113.0433730005306, \"altitude\": 100}, {\"lat\": 28.260046832361645, \"lng\": 113.04338300021698, \"altitude\": 100}, {\"lat\": 28.260042085948992, \"lng\": 113.04340300003538, \"altitude\": 100}, {\"lat\": 28.260037642166008, \"lng\": 113.04341300001414, \"altitude\": 100}, {\"lat\": 28.26003225531972, \"lng\": 113.04343300000224, \"altitude\": 100}, {\"lat\": 28.260027719490992, \"lng\": 113.04344300000092, \"altitude\": 100}, {\"lat\": 28.26002227121304, \"lng\": 113.0434630000002, \"altitude\": 100}, {\"lat\": 28.260017726619445, \"lng\": 113.04347300000012, \"altitude\": 100}, {\"lat\": 28.26001227241032, \"lng\": 113.0434930000001, \"altitude\": 100}, {\"lat\": 28.260007725185904, \"lng\": 113.0435030000001, \"altitude\": 100}, {\"lat\": 28.26000223418982, \"lng\": 113.0435230000001, \"altitude\": 100}, {\"lat\": 28.259997616009453, \"lng\": 113.04353300000012, \"altitude\": 100}, {\"lat\": 28.25999161554087, \"lng\": 113.04355300000012, \"altitude\": 100}, {\"lat\": 28.259986246848037, \"lng\": 113.04356300000012, \"altitude\": 100}, {\"lat\": 28.25998171641005, \"lng\": 113.04357300000012, \"altitude\": 100}, {\"lat\": 28.259968373932256, \"lng\": 113.04359300000012, \"altitude\": 100}, {\"lat\": 28.25996401655385, \"lng\": 113.04360300000012, \"altitude\": 100}, {\"lat\": 28.259959037920456, \"lng\": 113.04361300000014, \"altitude\": 100}, {\"lat\": 28.259956772808824, \"lng\": 113.04362300000014, \"altitude\": 100}, {\"lat\": 28.25995569686247, \"lng\": 113.04363300000014, \"altitude\": 100}, {\"lat\": 28.259953612165635, \"lng\": 113.04366300000017, \"altitude\": 100}, {\"lat\": 28.25995176489283, \"lng\": 113.04367300000015, \"altitude\": 100}, {\"lat\": 28.259947736077, \"lng\": 113.04368300000016, \"altitude\": 100}, {\"lat\": 28.25994358999897, \"lng\": 113.04370300000016, \"altitude\": 100}, {\"lat\": 28.25994072250104, \"lng\": 113.04371300000015, \"altitude\": 100}, {\"lat\": 28.259935000000013, \"lng\": 113.04372300000016, \"altitude\": 100}]\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a569132861ad560eed94ccbe490981c74aa5b7c23ad1af4aa94a1ace85517cc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a569132861ad560eed94ccbe490981c74aa5b7c23ad1af4aa94a1ace85517cc.json new file mode 100644 index 00000000..779faddc --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a569132861ad560eed94ccbe490981c74aa5b7c23ad1af4aa94a1ace85517cc.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default } from './wrapperValue.js';","map":{"version":3,"names":["default"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/toJSON.js"],"sourcesContent":["export { default } from './wrapperValue.js'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,mBAAmB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a87c8be6e0da11ebaf65a3c0fd506450a7029a3cd889f3a6b5411b5b805eade.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a87c8be6e0da11ebaf65a3c0fd506450a7029a3cd889f3a6b5411b5b805eade.json new file mode 100644 index 00000000..24c09653 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1a87c8be6e0da11ebaf65a3c0fd506450a7029a3cd889f3a6b5411b5b805eade.json @@ -0,0 +1 @@ +{"ast":null,"code":"import ary from './ary.js';\n\n/**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\nfunction unary(func) {\n return ary(func, 1);\n}\nexport default unary;","map":{"version":3,"names":["ary","unary","func"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/unary.js"],"sourcesContent":["import ary from './ary.js';\n\n/**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\nfunction unary(func) {\n return ary(func, 1);\n}\n\nexport default unary;\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,UAAU;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAACC,IAAI,EAAE;EACnB,OAAOF,GAAG,CAACE,IAAI,EAAE,CAAC,CAAC;AACrB;AAEA,eAAeD,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1b186e960578230e977cf619c39c88a59614c956ef4fae68158756206b45e332.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1b186e960578230e977cf619c39c88a59614c956ef4fae68158756206b45e332.json new file mode 100644 index 00000000..e3a86522 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1b186e960578230e977cf619c39c88a59614c956ef4fae68158756206b45e332.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n if (name === '__proto__') return true;\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n return !isNumericKey;\n }\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n const result = buildPath(path, value, target[name], index);\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n return !isNumericKey;\n }\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n return obj;\n }\n return null;\n}\nexport default formDataToJSON;","map":{"version":3,"names":["utils","parsePropPath","name","matchAll","map","match","arrayToObject","arr","obj","keys","Object","i","len","length","key","formDataToJSON","formData","buildPath","path","value","target","index","isNumericKey","Number","isFinite","isLast","isArray","hasOwnProp","isObject","result","isFormData","isFunction","entries","forEachEntry"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/helpers/formDataToJSON.js"],"sourcesContent":["'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1b8d208c3eaf73cbfc120c48d9db326e13f949dbe24b59fc03ec483e3eda3c25.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1b8d208c3eaf73cbfc120c48d9db326e13f949dbe24b59fc03ec483e3eda3c25.json new file mode 100644 index 00000000..e123417a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1b8d208c3eaf73cbfc120c48d9db326e13f949dbe24b59fc03ec483e3eda3c25.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\n(function (m, p) {\n \"object\" === typeof exports && \"undefined\" !== typeof module ? module.exports = p() : \"function\" === typeof define && define.amd ? define(p) : (m = m || self, m.AMapLoader = p());\n})(this, function () {\n function m(a) {\n var b = [];\n a.AMapUI && b.push(p(a.AMapUI));\n a.Loca && b.push(r(a.Loca));\n return Promise.all(b);\n }\n function p(a) {\n return new Promise(function (h, c) {\n var f = [];\n if (a.plugins) for (var e = 0; e < a.plugins.length; e += 1) -1 == d.AMapUI.plugins.indexOf(a.plugins[e]) && f.push(a.plugins[e]);\n if (g.AMapUI === b.failed) c(\"\\u524d\\u6b21\\u8bf7\\u6c42 AMapUI \\u5931\\u8d25\");else if (g.AMapUI === b.notload) {\n g.AMapUI = b.loading;\n d.AMapUI.version = a.version || d.AMapUI.version;\n e = d.AMapUI.version;\n var l = document.body || document.head,\n k = document.createElement(\"script\");\n k.type = \"text/javascript\";\n k.src = \"https://webapi.amap.com/ui/\" + e + \"/main.js\";\n k.onerror = function (a) {\n g.AMapUI = b.failed;\n c(\"\\u8bf7\\u6c42 AMapUI \\u5931\\u8d25\");\n };\n k.onload = function () {\n g.AMapUI = b.loaded;\n if (f.length) window.AMapUI.loadUI(f, function () {\n for (var a = 0, b = f.length; a < b; a++) {\n var c = f[a].split(\"/\").slice(-1)[0];\n window.AMapUI[c] = arguments[a];\n }\n for (h(); n.AMapUI.length;) n.AMapUI.splice(0, 1)[0]();\n });else for (h(); n.AMapUI.length;) n.AMapUI.splice(0, 1)[0]();\n };\n l.appendChild(k);\n } else g.AMapUI === b.loaded ? a.version && a.version !== d.AMapUI.version ? c(\"\\u4e0d\\u5141\\u8bb8\\u591a\\u4e2a\\u7248\\u672c AMapUI \\u6df7\\u7528\") : f.length ? window.AMapUI.loadUI(f, function () {\n for (var a = 0, b = f.length; a < b; a++) {\n var c = f[a].split(\"/\").slice(-1)[0];\n window.AMapUI[c] = arguments[a];\n }\n h();\n }) : h() : a.version && a.version !== d.AMapUI.version ? c(\"\\u4e0d\\u5141\\u8bb8\\u591a\\u4e2a\\u7248\\u672c AMapUI \\u6df7\\u7528\") : n.AMapUI.push(function (a) {\n a ? c(a) : f.length ? window.AMapUI.loadUI(f, function () {\n for (var a = 0, b = f.length; a < b; a++) {\n var c = f[a].split(\"/\").slice(-1)[0];\n window.AMapUI[c] = arguments[a];\n }\n h();\n }) : h();\n });\n });\n }\n function r(a) {\n return new Promise(function (h, c) {\n if (g.Loca === b.failed) c(\"\\u524d\\u6b21\\u8bf7\\u6c42 Loca \\u5931\\u8d25\");else if (g.Loca === b.notload) {\n g.Loca = b.loading;\n d.Loca.version = a.version || d.Loca.version;\n var f = d.Loca.version,\n e = d.AMap.version.startsWith(\"2\"),\n l = f.startsWith(\"2\");\n if (e && !l || !e && l) c(\"JSAPI \\u4e0e Loca \\u7248\\u672c\\u4e0d\\u5bf9\\u5e94\\uff01\\uff01\");else {\n e = d.key;\n l = document.body || document.head;\n var k = document.createElement(\"script\");\n k.type = \"text/javascript\";\n k.src = \"https://webapi.amap.com/loca?v=\" + f + \"&key=\" + e;\n k.onerror = function (a) {\n g.Loca = b.failed;\n c(\"\\u8bf7\\u6c42 AMapUI \\u5931\\u8d25\");\n };\n k.onload = function () {\n g.Loca = b.loaded;\n for (h(); n.Loca.length;) n.Loca.splice(0, 1)[0]();\n };\n l.appendChild(k);\n }\n } else g.Loca === b.loaded ? a.version && a.version !== d.Loca.version ? c(\"\\u4e0d\\u5141\\u8bb8\\u591a\\u4e2a\\u7248\\u672c Loca \\u6df7\\u7528\") : h() : a.version && a.version !== d.Loca.version ? c(\"\\u4e0d\\u5141\\u8bb8\\u591a\\u4e2a\\u7248\\u672c Loca \\u6df7\\u7528\") : n.Loca.push(function (a) {\n a ? c(a) : c();\n });\n });\n }\n if (!window) throw Error(\"AMap JSAPI can only be used in Browser.\");\n var b;\n (function (a) {\n a.notload = \"notload\";\n a.loading = \"loading\";\n a.loaded = \"loaded\";\n a.failed = \"failed\";\n })(b || (b = {}));\n var d = {\n key: \"\",\n AMap: {\n version: \"1.4.15\",\n plugins: []\n },\n AMapUI: {\n version: \"1.1\",\n plugins: []\n },\n Loca: {\n version: \"1.3.2\"\n }\n },\n g = {\n AMap: b.notload,\n AMapUI: b.notload,\n Loca: b.notload\n },\n n = {\n AMap: [],\n AMapUI: [],\n Loca: []\n },\n q = [],\n t = function (a) {\n \"function\" == typeof a && (g.AMap === b.loaded ? a(window.AMap) : q.push(a));\n };\n return {\n load: function (a) {\n return new Promise(function (h, c) {\n if (g.AMap == b.failed) c(\"\");else if (g.AMap == b.notload) {\n var f = a.key,\n e = a.version,\n l = a.plugins;\n f ? (window.AMap && \"lbs.amap.com\" !== location.host && c(\"\\u7981\\u6b62\\u591a\\u79cdAPI\\u52a0\\u8f7d\\u65b9\\u5f0f\\u6df7\\u7528\"), d.key = f, d.AMap.version = e || d.AMap.version, d.AMap.plugins = l || d.AMap.plugins, g.AMap = b.loading, e = document.body || document.head, window.___onAPILoaded = function (d) {\n delete window.___onAPILoaded;\n if (d) g.AMap = b.failed, c(d);else for (g.AMap = b.loaded, m(a).then(function () {\n h(window.AMap);\n })[\"catch\"](c); q.length;) q.splice(0, 1)[0]();\n }, l = document.createElement(\"script\"), l.type = \"text/javascript\", l.src = \"https://webapi.amap.com/maps?callback=___onAPILoaded&v=\" + d.AMap.version + \"&key=\" + f + \"&plugin=\" + d.AMap.plugins.join(\",\"), l.onerror = function (a) {\n g.AMap = b.failed;\n c(a);\n }, e.appendChild(l)) : c(\"\\u8bf7\\u586b\\u5199key\");\n } else if (g.AMap == b.loaded) {\n if (a.key && a.key !== d.key) c(\"\\u591a\\u4e2a\\u4e0d\\u4e00\\u81f4\\u7684 key\");else if (a.version && a.version !== d.AMap.version) c(\"\\u4e0d\\u5141\\u8bb8\\u591a\\u4e2a\\u7248\\u672c JSAPI \\u6df7\\u7528\");else {\n f = [];\n if (a.plugins) for (e = 0; e < a.plugins.length; e += 1) -1 == d.AMap.plugins.indexOf(a.plugins[e]) && f.push(a.plugins[e]);\n if (f.length) window.AMap.plugin(f, function () {\n m(a).then(function () {\n h(window.AMap);\n })[\"catch\"](c);\n });else m(a).then(function () {\n h(window.AMap);\n })[\"catch\"](c);\n }\n } else if (a.key && a.key !== d.key) c(\"\\u591a\\u4e2a\\u4e0d\\u4e00\\u81f4\\u7684 key\");else if (a.version && a.version !== d.AMap.version) c(\"\\u4e0d\\u5141\\u8bb8\\u591a\\u4e2a\\u7248\\u672c JSAPI \\u6df7\\u7528\");else {\n var k = [];\n if (a.plugins) for (e = 0; e < a.plugins.length; e += 1) -1 == d.AMap.plugins.indexOf(a.plugins[e]) && k.push(a.plugins[e]);\n t(function () {\n if (k.length) window.AMap.plugin(k, function () {\n m(a).then(function () {\n h(window.AMap);\n })[\"catch\"](c);\n });else m(a).then(function () {\n h(window.AMap);\n })[\"catch\"](c);\n });\n }\n });\n },\n reset: function () {\n delete window.AMap;\n delete window.AMapUI;\n delete window.Loca;\n d = {\n key: \"\",\n AMap: {\n version: \"1.4.15\",\n plugins: []\n },\n AMapUI: {\n version: \"1.1\",\n plugins: []\n },\n Loca: {\n version: \"1.3.2\"\n }\n };\n g = {\n AMap: b.notload,\n AMapUI: b.notload,\n Loca: b.notload\n };\n n = {\n AMap: [],\n AMapUI: [],\n Loca: []\n };\n }\n };\n});","map":{"version":3,"names":["m","p","exports","module","define","amd","self","AMapLoader","a","b","AMapUI","push","Loca","r","Promise","all","h","c","f","plugins","e","length","d","indexOf","g","failed","notload","loading","version","l","document","body","head","k","createElement","type","src","onerror","onload","loaded","window","loadUI","split","slice","arguments","n","splice","appendChild","AMap","startsWith","key","Error","q","t","load","location","host","___onAPILoaded","then","join","plugin","reset"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/@amap/amap-jsapi-loader/dist/index.js"],"sourcesContent":["'use strict';(function(m,p){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=p():\"function\"===typeof define&&define.amd?define(p):(m=m||self,m.AMapLoader=p())})(this,function(){function m(a){var b=[];a.AMapUI&&b.push(p(a.AMapUI));a.Loca&&b.push(r(a.Loca));return Promise.all(b)}function p(a){return new Promise(function(h,c){var f=[];if(a.plugins)for(var e=0;e ['a', 'b']\n */\nfunction split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (typeof separator == 'string' || separator != null && !isRegExp(separator))) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n}\nexport default split;","map":{"version":3,"names":["baseToString","castSlice","hasUnicode","isIterateeCall","isRegExp","stringToArray","toString","MAX_ARRAY_LENGTH","split","string","separator","limit","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/split.js"],"sourcesContent":["import baseToString from './_baseToString.js';\nimport castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport isRegExp from './isRegExp.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\nfunction split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n}\n\nexport default split;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,cAAc,MAAM,sBAAsB;AACjD,OAAOC,QAAQ,MAAM,eAAe;AACpC,OAAOC,aAAa,MAAM,qBAAqB;AAC/C,OAAOC,QAAQ,MAAM,eAAe;;AAEpC;AACA,IAAIC,gBAAgB,GAAG,UAAU;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAACC,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAE;EACvC,IAAIA,KAAK,IAAI,OAAOA,KAAK,IAAI,QAAQ,IAAIR,cAAc,CAACM,MAAM,EAAEC,SAAS,EAAEC,KAAK,CAAC,EAAE;IACjFD,SAAS,GAAGC,KAAK,GAAGC,SAAS;EAC/B;EACAD,KAAK,GAAGA,KAAK,KAAKC,SAAS,GAAGL,gBAAgB,GAAGI,KAAK,KAAK,CAAC;EAC5D,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,EAAE;EACX;EACAF,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAAC;EACzB,IAAIA,MAAM,KACJ,OAAOC,SAAS,IAAI,QAAQ,IAC3BA,SAAS,IAAI,IAAI,IAAI,CAACN,QAAQ,CAACM,SAAS,CAAE,CAC5C,EAAE;IACLA,SAAS,GAAGV,YAAY,CAACU,SAAS,CAAC;IACnC,IAAI,CAACA,SAAS,IAAIR,UAAU,CAACO,MAAM,CAAC,EAAE;MACpC,OAAOR,SAAS,CAACI,aAAa,CAACI,MAAM,CAAC,EAAE,CAAC,EAAEE,KAAK,CAAC;IACnD;EACF;EACA,OAAOF,MAAM,CAACD,KAAK,CAACE,SAAS,EAAEC,KAAK,CAAC;AACvC;AAEA,eAAeH,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ba480f7a5e0d57a834307df6d25f11fc07e4320d38f0346bd1dc91ad416f8a8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ba480f7a5e0d57a834307df6d25f11fc07e4320d38f0346bd1dc91ad416f8a8.json new file mode 100644 index 00000000..385891a6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ba480f7a5e0d57a834307df6d25f11fc07e4320d38f0346bd1dc91ad416f8a8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\nconst composeSignals = (signals, timeout) => {\n const {\n length\n } = signals = signals ? signals.filter(Boolean) : [];\n if (timeout || length) {\n let controller = new AbortController();\n let aborted;\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n };\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n signals.forEach(signal => signal.addEventListener('abort', onabort));\n const {\n signal\n } = controller;\n signal.unsubscribe = () => utils.asap(unsubscribe);\n return signal;\n }\n};\nexport default composeSignals;","map":{"version":3,"names":["CanceledError","AxiosError","utils","composeSignals","signals","timeout","length","filter","Boolean","controller","AbortController","aborted","onabort","reason","unsubscribe","err","Error","abort","message","timer","setTimeout","ETIMEDOUT","clearTimeout","forEach","signal","removeEventListener","addEventListener","asap"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/helpers/composeSignals.js"],"sourcesContent":["import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,4BAA4B;AACtD,OAAOC,UAAU,MAAM,uBAAuB;AAC9C,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,cAAc,GAAGA,CAACC,OAAO,EAAEC,OAAO,KAAK;EAC3C,MAAM;IAACC;EAAM,CAAC,GAAIF,OAAO,GAAGA,OAAO,GAAGA,OAAO,CAACG,MAAM,CAACC,OAAO,CAAC,GAAG,EAAG;EAEnE,IAAIH,OAAO,IAAIC,MAAM,EAAE;IACrB,IAAIG,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IAEtC,IAAIC,OAAO;IAEX,MAAMC,OAAO,GAAG,SAAAA,CAAUC,MAAM,EAAE;MAChC,IAAI,CAACF,OAAO,EAAE;QACZA,OAAO,GAAG,IAAI;QACdG,WAAW,CAAC,CAAC;QACb,MAAMC,GAAG,GAAGF,MAAM,YAAYG,KAAK,GAAGH,MAAM,GAAG,IAAI,CAACA,MAAM;QAC1DJ,UAAU,CAACQ,KAAK,CAACF,GAAG,YAAYd,UAAU,GAAGc,GAAG,GAAG,IAAIf,aAAa,CAACe,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACG,OAAO,GAAGH,GAAG,CAAC,CAAC;MACjH;IACF,CAAC;IAED,IAAII,KAAK,GAAGd,OAAO,IAAIe,UAAU,CAAC,MAAM;MACtCD,KAAK,GAAG,IAAI;MACZP,OAAO,CAAC,IAAIX,UAAU,CAAC,WAAWI,OAAO,iBAAiB,EAAEJ,UAAU,CAACoB,SAAS,CAAC,CAAC;IACpF,CAAC,EAAEhB,OAAO,CAAC;IAEX,MAAMS,WAAW,GAAGA,CAAA,KAAM;MACxB,IAAIV,OAAO,EAAE;QACXe,KAAK,IAAIG,YAAY,CAACH,KAAK,CAAC;QAC5BA,KAAK,GAAG,IAAI;QACZf,OAAO,CAACmB,OAAO,CAACC,MAAM,IAAI;UACxBA,MAAM,CAACV,WAAW,GAAGU,MAAM,CAACV,WAAW,CAACF,OAAO,CAAC,GAAGY,MAAM,CAACC,mBAAmB,CAAC,OAAO,EAAEb,OAAO,CAAC;QACjG,CAAC,CAAC;QACFR,OAAO,GAAG,IAAI;MAChB;IACF,CAAC;IAEDA,OAAO,CAACmB,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAACE,gBAAgB,CAAC,OAAO,EAAEd,OAAO,CAAC,CAAC;IAEtE,MAAM;MAACY;IAAM,CAAC,GAAGf,UAAU;IAE3Be,MAAM,CAACV,WAAW,GAAG,MAAMZ,KAAK,CAACyB,IAAI,CAACb,WAAW,CAAC;IAElD,OAAOU,MAAM;EACf;AACF,CAAC;AAED,eAAerB,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1be91dd3f2d4c589ee784cf58cf31f0d9d7013ce5da080dec38e711feb0bc0a5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1be91dd3f2d4c589ee784cf58cf31f0d9d7013ce5da080dec38e711feb0bc0a5.json new file mode 100644 index 00000000..fe7e4660 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1be91dd3f2d4c589ee784cf58cf31f0d9d7013ce5da080dec38e711feb0bc0a5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map HTML entities to characters. */\nvar htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\n\n/**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\nvar unescapeHtmlChar = basePropertyOf(htmlUnescapes);\nexport default unescapeHtmlChar;","map":{"version":3,"names":["basePropertyOf","htmlUnescapes","unescapeHtmlChar"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_unescapeHtmlChar.js"],"sourcesContent":["import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map HTML entities to characters. */\nvar htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\n\n/**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\nvar unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\nexport default unescapeHtmlChar;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,sBAAsB;;AAEjD;AACA,IAAIC,aAAa,GAAG;EAClB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,GAAG;EACX,QAAQ,EAAE,GAAG;EACb,OAAO,EAAE;AACX,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,gBAAgB,GAAGF,cAAc,CAACC,aAAa,CAAC;AAEpD,eAAeC,gBAAgB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1beb5deda0e5ee6798fe64064af83b2475a0741e9e7e5974801313c36694031f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1beb5deda0e5ee6798fe64064af83b2475a0741e9e7e5974801313c36694031f.json new file mode 100644 index 00000000..d7a1979f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1beb5deda0e5ee6798fe64064af83b2475a0741e9e7e5974801313c36694031f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onPausePath\", \"onResumePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onPausePath","pausePath","onResumePath","resumePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["[{\"lat\": 28.260405, \"lng\": 113.043762, \"altitude\": 100}, {\"lat\": 28.2603870934567, \"lng\": 113.043742, \"altitude\": 100}, {\"lat\": 28.26038026978722, \"lng\": 113.043732, \"altitude\": 100}, {\"lat\": 28.26037722777559, \"lng\": 113.043722, \"altitude\": 100}, {\"lat\": 28.2603758204314, \"lng\": 113.043712, \"altitude\": 100}, {\"lat\": 28.260375, \"lng\": 113.04370199999998, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.043688, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04362799999998, \"altitude\": 100}, {\"lat\": 28.260230000000004, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.260250000000003, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26027, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26029, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26031, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26032, \"lng\": 113.04350799999996, \"altitude\": 100}, {\"lat\": 28.26033, \"lng\": 113.04349799999994, \"altitude\": 100}, {\"lat\": 28.260329657248825, \"lng\": 113.04333899999996, \"altitude\": 100}, {\"lat\": 28.260329045127367, \"lng\": 113.04332900218694, \"altitude\": 100}, {\"lat\": 28.26032763536048, \"lng\": 113.04331901844364, \"altitude\": 100}, {\"lat\": 28.26032449792997, \"lng\": 113.04330908174028, \"altitude\": 100}, {\"lat\": 28.26031757077936, \"lng\": 113.04329926101076, \"altitude\": 100}, {\"lat\": 28.260308937584192, \"lng\": 113.04328969386172, \"altitude\": 100}, {\"lat\": 28.260299540314985, \"lng\": 113.04328067245874, \"altitude\": 100}, {\"lat\": 28.260289803396574, \"lng\": 113.04327284458132, \"altitude\": 100}, {\"lat\": 28.26027991692941, \"lng\": 113.04326765284172, \"altitude\": 100}, {\"lat\": 28.260269965363943, \"lng\": 113.0432616282346, \"altitude\": 100}, {\"lat\": 28.26025998589524, \"lng\": 113.04325740582271, \"altitude\": 100}, {\"lat\": 28.26024999490601, \"lng\": 113.04325214927236, \"altitude\": 100}, {\"lat\": 28.260240000000003, \"lng\": 113.04324899999992, \"altitude\": 100}, {\"lat\": 28.260225, \"lng\": 113.04325098991052, \"altitude\": 100}, {\"lat\": 28.260215, \"lng\": 113.04325761472994, \"altitude\": 100}, {\"lat\": 28.260205000000003, \"lng\": 113.04326063389736, \"altitude\": 100}, {\"lat\": 28.260195000000003, \"lng\": 113.04326208326216, \"altitude\": 100}, {\"lat\": 28.260175000000004, \"lng\": 113.04326385237782, \"altitude\": 100}, {\"lat\": 28.260165000000004, \"lng\": 113.04326538025909, \"altitude\": 100}, {\"lat\": 28.260155000000005, \"lng\": 113.04326855507162, \"altitude\": 100}, {\"lat\": 28.260145000000005, \"lng\": 113.04327548338618, \"altitude\": 100}, {\"lat\": 28.260075422227793, \"lng\": 113.04334300734416, \"altitude\": 100}, {\"lat\": 28.260057360492155, \"lng\": 113.04336300128588, \"altitude\": 100}, {\"lat\": 28.26005031185535, \"lng\": 113.0433730005306, \"altitude\": 100}, {\"lat\": 28.260046832361645, \"lng\": 113.04338300021698, \"altitude\": 100}, {\"lat\": 28.260042085948992, \"lng\": 113.04340300003538, \"altitude\": 100}, {\"lat\": 28.260037642166008, \"lng\": 113.04341300001414, \"altitude\": 100}, {\"lat\": 28.26003225531972, \"lng\": 113.04343300000224, \"altitude\": 100}, {\"lat\": 28.260027719490992, \"lng\": 113.04344300000092, \"altitude\": 100}, {\"lat\": 28.26002227121304, \"lng\": 113.0434630000002, \"altitude\": 100}, {\"lat\": 28.260017726619445, \"lng\": 113.04347300000012, \"altitude\": 100}, {\"lat\": 28.26001227241032, \"lng\": 113.0434930000001, \"altitude\": 100}, {\"lat\": 28.260007725185904, \"lng\": 113.0435030000001, \"altitude\": 100}, {\"lat\": 28.26000223418982, \"lng\": 113.0435230000001, \"altitude\": 100}, {\"lat\": 28.259997616009453, \"lng\": 113.04353300000012, \"altitude\": 100}, {\"lat\": 28.25999161554087, \"lng\": 113.04355300000012, \"altitude\": 100}, {\"lat\": 28.259986246848037, \"lng\": 113.04356300000012, \"altitude\": 100}, {\"lat\": 28.25998171641005, \"lng\": 113.04357300000012, \"altitude\": 100}, {\"lat\": 28.259968373932256, \"lng\": 113.04359300000012, \"altitude\": 100}, {\"lat\": 28.25996401655385, \"lng\": 113.04360300000012, \"altitude\": 100}, {\"lat\": 28.259959037920456, \"lng\": 113.04361300000014, \"altitude\": 100}, {\"lat\": 28.259956772808824, \"lng\": 113.04362300000014, \"altitude\": 100}, {\"lat\": 28.25995569686247, \"lng\": 113.04363300000014, \"altitude\": 100}, {\"lat\": 28.259953612165635, \"lng\": 113.04366300000017, \"altitude\": 100}, {\"lat\": 28.25995176489283, \"lng\": 113.04367300000015, \"altitude\": 100}, {\"lat\": 28.259947736077, \"lng\": 113.04368300000016, \"altitude\": 100}, {\"lat\": 28.25994358999897, \"lng\": 113.04370300000016, \"altitude\": 100}, {\"lat\": 28.25994072250104, \"lng\": 113.04371300000015, \"altitude\": 100}, {\"lat\": 28.259935000000013, \"lng\": 113.04372300000016, \"altitude\": 100}]\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c1e1472b378481198c42ce1ca15b6875ad5a294335587861b900bc114ceaeaf.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c1e1472b378481198c42ce1ca15b6875ad5a294335587861b900bc114ceaeaf.json new file mode 100644 index 00000000..e5654f0b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c1e1472b378481198c42ce1ca15b6875ad5a294335587861b900bc114ceaeaf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, useSlots, ref, computed, toRef, openBlock, createBlock, Transition, unref, withCtx, withDirectives, createElementVNode, normalizeClass, renderSlot, resolveDynamicComponent, createCommentVNode, createElementBlock, createTextVNode, toDisplayString, Fragment, createVNode, vShow } from 'vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { alertProps, alertEmits } from './alert.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useDelayedToggle } from '../../../hooks/use-delayed-toggle/index.mjs';\nimport { TypeComponentsMap, TypeComponents } from '../../../utils/vue/icon.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { isClient } from '@vueuse/core';\nconst __default__ = defineComponent({\n name: \"ElAlert\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: alertProps,\n emits: alertEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const {\n Close\n } = TypeComponents;\n const slots = useSlots();\n const ns = useNamespace(\"alert\");\n const visible = ref(false);\n const iconComponent = computed(() => TypeComponentsMap[props.type]);\n const hasDesc = computed(() => !!(props.description || slots.default));\n const open = () => {\n visible.value = true;\n emit(\"open\");\n };\n const close = event => {\n visible.value = false;\n emit(\"close\", event);\n };\n const {\n onOpen,\n onClose\n } = useDelayedToggle({\n showAfter: toRef(props, \"showAfter\"),\n hideAfter: toRef(props, \"hideAfter\"),\n autoClose: toRef(props, \"autoClose\"),\n open,\n close\n });\n if (isClient) {\n onOpen();\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(Transition, {\n name: unref(ns).b(\"fade\"),\n persisted: \"\"\n }, {\n default: withCtx(() => [withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([unref(ns).b(), unref(ns).m(_ctx.type), unref(ns).is(\"center\", _ctx.center), unref(ns).is(_ctx.effect)]),\n role: \"alert\"\n }, [_ctx.showIcon && (_ctx.$slots.icon || unref(iconComponent)) ? (openBlock(), createBlock(unref(ElIcon), {\n key: 0,\n class: normalizeClass([unref(ns).e(\"icon\"), {\n [unref(ns).is(\"big\")]: unref(hasDesc)\n }])\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"icon\", {}, () => [(openBlock(), createBlock(resolveDynamicComponent(unref(iconComponent))))])]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"content\"))\n }, [_ctx.title || _ctx.$slots.title ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([unref(ns).e(\"title\"), {\n \"with-description\": unref(hasDesc)\n }])\n }, [renderSlot(_ctx.$slots, \"title\", {}, () => [createTextVNode(toDisplayString(_ctx.title), 1)])], 2)) : createCommentVNode(\"v-if\", true), unref(hasDesc) ? (openBlock(), createElementBlock(\"p\", {\n key: 1,\n class: normalizeClass(unref(ns).e(\"description\"))\n }, [renderSlot(_ctx.$slots, \"default\", {}, () => [createTextVNode(toDisplayString(_ctx.description), 1)])], 2)) : createCommentVNode(\"v-if\", true), _ctx.closable ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [_ctx.closeText ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([unref(ns).e(\"close-btn\"), unref(ns).is(\"customed\")]),\n onClick: close\n }, toDisplayString(_ctx.closeText), 3)) : (openBlock(), createBlock(unref(ElIcon), {\n key: 1,\n class: normalizeClass(unref(ns).e(\"close-btn\")),\n onClick: unref(onClose)\n }, {\n default: withCtx(() => [createVNode(unref(Close))]),\n _: 1\n }, 8, [\"class\", \"onClick\"]))], 64)) : createCommentVNode(\"v-if\", true)], 2)], 2), [[vShow, visible.value]])]),\n _: 3\n }, 8, [\"name\"]);\n };\n }\n});\nvar Alert = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"alert.vue\"]]);\nexport { Alert as default };","map":{"version":3,"names":["name","Close","TypeComponents","slots","useSlots","ns","useNamespace","visible","ref","iconComponent","computed","TypeComponentsMap","props","type","hasDesc","description","default","open","value","emit","close","event","onOpen","onClose","useDelayedToggle","showAfter","toRef","hideAfter","autoClose","isClient"],"sources":["../../../../../../packages/components/alert/src/alert.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;;;;;;mCA0Dc;EACZA,IAAM;AACR;;;;;;;;;IAJM;MAAEC;IAAA,CAAU,GAAAC,cAAA;IAQlB,MAAMC,KAAA,GAAQC,QAAS;IAEjB,MAAAC,EAAA,GAAKC,YAAA,CAAa,OAAO;IAEzB,MAAAC,OAAA,GAAUC,GAAA,CAAI,KAAK;IAEzB,MAAMC,aAAA,GAAgBC,QAAS,OAAMC,iBAAkB,CAAAC,KAAA,CAAMC,IAAI,CAAC;IAE5D,MAAAC,OAAA,GAAUJ,QAAA,CAAS,MAAM,CAAC,EAAEE,KAAM,CAAAG,WAAA,IAAeZ,KAAA,CAAMa,OAAQ;IAErE,MAAMC,IAAA,GAAOA,CAAA,KAAM;MACjBV,OAAA,CAAQW,KAAQ;MAChBC,IAAA,CAAK,MAAM;IAAA,CACb;IAEM,MAAAC,KAAA,GAASC,KAAkB;MAC/Bd,OAAA,CAAQW,KAAQ;MAChBC,IAAA,CAAK,SAASE,KAAK;IAAA,CACrB;IAEA,MAAM;MAAEC,MAAA;MAAQC;IAAQ,IAAIC,gBAAiB;MAC3CC,SAAA,EAAWC,KAAM,CAAAd,KAAA,EAAO,WAAW;MACnCe,SAAA,EAAWD,KAAM,CAAAd,KAAA,EAAO,WAAW;MACnCgB,SAAA,EAAWF,KAAM,CAAAd,KAAA,EAAO,WAAW;MACnCK,IAAA;MACAG;IAAA,CACD;IAED,IAAIS,QAAU;MACLP,MAAA;IAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c39cef0f98301f8b4c0fdf0cfa9e90477a5ed33251bc6316ee059b68c086b9f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c39cef0f98301f8b4c0fdf0cfa9e90477a5ed33251bc6316ee059b68c086b9f.json new file mode 100644 index 00000000..a83c9f60 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c39cef0f98301f8b4c0fdf0cfa9e90477a5ed33251bc6316ee059b68c086b9f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { inject, ref, computed, nextTick, watch } from 'vue';\nimport { debounce } from 'lodash-unified';\nimport { useEventListener } from '@vueuse/core';\nimport { sliderContextKey } from '../constants.mjs';\nimport { EVENT_CODE } from '../../../../constants/aria.mjs';\nimport { UPDATE_MODEL_EVENT } from '../../../../constants/event.mjs';\nconst useTooltip = (props, formatTooltip, showTooltip) => {\n const tooltip = ref();\n const tooltipVisible = ref(false);\n const enableFormat = computed(() => {\n return formatTooltip.value instanceof Function;\n });\n const formatValue = computed(() => {\n return enableFormat.value && formatTooltip.value(props.modelValue) || props.modelValue;\n });\n const displayTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = true);\n }, 50);\n const hideTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = false);\n }, 50);\n return {\n tooltip,\n tooltipVisible,\n formatValue,\n displayTooltip,\n hideTooltip\n };\n};\nconst useSliderButton = (props, initData, emit) => {\n const {\n disabled,\n min,\n max,\n step,\n showTooltip,\n persistent,\n precision,\n sliderSize,\n formatTooltip,\n emitChange,\n resetSize,\n updateDragging\n } = inject(sliderContextKey);\n const {\n tooltip,\n tooltipVisible,\n formatValue,\n displayTooltip,\n hideTooltip\n } = useTooltip(props, formatTooltip, showTooltip);\n const button = ref();\n const currentPosition = computed(() => {\n return `${(props.modelValue - min.value) / (max.value - min.value) * 100}%`;\n });\n const wrapperStyle = computed(() => {\n return props.vertical ? {\n bottom: currentPosition.value\n } : {\n left: currentPosition.value\n };\n });\n const handleMouseEnter = () => {\n initData.hovering = true;\n displayTooltip();\n };\n const handleMouseLeave = () => {\n initData.hovering = false;\n if (!initData.dragging) {\n hideTooltip();\n }\n };\n const onButtonDown = event => {\n if (disabled.value) return;\n event.preventDefault();\n onDragStart(event);\n window.addEventListener(\"mousemove\", onDragging);\n window.addEventListener(\"touchmove\", onDragging);\n window.addEventListener(\"mouseup\", onDragEnd);\n window.addEventListener(\"touchend\", onDragEnd);\n window.addEventListener(\"contextmenu\", onDragEnd);\n button.value.focus();\n };\n const incrementPosition = amount => {\n if (disabled.value) return;\n initData.newPosition = Number.parseFloat(currentPosition.value) + amount / (max.value - min.value) * 100;\n setPosition(initData.newPosition);\n emitChange();\n };\n const onLeftKeyDown = () => {\n incrementPosition(-step.value);\n };\n const onRightKeyDown = () => {\n incrementPosition(step.value);\n };\n const onPageDownKeyDown = () => {\n incrementPosition(-step.value * 4);\n };\n const onPageUpKeyDown = () => {\n incrementPosition(step.value * 4);\n };\n const onHomeKeyDown = () => {\n if (disabled.value) return;\n setPosition(0);\n emitChange();\n };\n const onEndKeyDown = () => {\n if (disabled.value) return;\n setPosition(100);\n emitChange();\n };\n const onKeyDown = event => {\n let isPreventDefault = true;\n switch (event.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.down:\n onLeftKeyDown();\n break;\n case EVENT_CODE.right:\n case EVENT_CODE.up:\n onRightKeyDown();\n break;\n case EVENT_CODE.home:\n onHomeKeyDown();\n break;\n case EVENT_CODE.end:\n onEndKeyDown();\n break;\n case EVENT_CODE.pageDown:\n onPageDownKeyDown();\n break;\n case EVENT_CODE.pageUp:\n onPageUpKeyDown();\n break;\n default:\n isPreventDefault = false;\n break;\n }\n isPreventDefault && event.preventDefault();\n };\n const getClientXY = event => {\n let clientX;\n let clientY;\n if (event.type.startsWith(\"touch\")) {\n clientY = event.touches[0].clientY;\n clientX = event.touches[0].clientX;\n } else {\n clientY = event.clientY;\n clientX = event.clientX;\n }\n return {\n clientX,\n clientY\n };\n };\n const onDragStart = event => {\n initData.dragging = true;\n initData.isClick = true;\n const {\n clientX,\n clientY\n } = getClientXY(event);\n if (props.vertical) {\n initData.startY = clientY;\n } else {\n initData.startX = clientX;\n }\n initData.startPosition = Number.parseFloat(currentPosition.value);\n initData.newPosition = initData.startPosition;\n };\n const onDragging = event => {\n if (initData.dragging) {\n initData.isClick = false;\n displayTooltip();\n resetSize();\n let diff;\n const {\n clientX,\n clientY\n } = getClientXY(event);\n if (props.vertical) {\n initData.currentY = clientY;\n diff = (initData.startY - initData.currentY) / sliderSize.value * 100;\n } else {\n initData.currentX = clientX;\n diff = (initData.currentX - initData.startX) / sliderSize.value * 100;\n }\n initData.newPosition = initData.startPosition + diff;\n setPosition(initData.newPosition);\n }\n };\n const onDragEnd = () => {\n if (initData.dragging) {\n setTimeout(() => {\n initData.dragging = false;\n if (!initData.hovering) {\n hideTooltip();\n }\n if (!initData.isClick) {\n setPosition(initData.newPosition);\n }\n emitChange();\n }, 0);\n window.removeEventListener(\"mousemove\", onDragging);\n window.removeEventListener(\"touchmove\", onDragging);\n window.removeEventListener(\"mouseup\", onDragEnd);\n window.removeEventListener(\"touchend\", onDragEnd);\n window.removeEventListener(\"contextmenu\", onDragEnd);\n }\n };\n const setPosition = async newPosition => {\n if (newPosition === null || Number.isNaN(+newPosition)) return;\n if (newPosition < 0) {\n newPosition = 0;\n } else if (newPosition > 100) {\n newPosition = 100;\n }\n const lengthPerStep = 100 / ((max.value - min.value) / step.value);\n const steps = Math.round(newPosition / lengthPerStep);\n let value = steps * lengthPerStep * (max.value - min.value) * 0.01 + min.value;\n value = Number.parseFloat(value.toFixed(precision.value));\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value);\n }\n if (!initData.dragging && props.modelValue !== initData.oldValue) {\n initData.oldValue = props.modelValue;\n }\n await nextTick();\n initData.dragging && displayTooltip();\n tooltip.value.updatePopper();\n };\n watch(() => initData.dragging, val => {\n updateDragging(val);\n });\n useEventListener(button, \"touchstart\", onButtonDown, {\n passive: false\n });\n return {\n disabled,\n button,\n tooltip,\n tooltipVisible,\n showTooltip,\n persistent,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onKeyDown,\n setPosition\n };\n};\nexport { useSliderButton };","map":{"version":3,"names":["useTooltip","props","formatTooltip","showTooltip","tooltip","ref","tooltipVisible","enableFormat","computed","value","Function","formatValue","modelValue","displayTooltip","debounce","hideTooltip","useSliderButton","initData","emit","disabled","min","max","step","persistent","precision","sliderSize","emitChange","resetSize","updateDragging","inject","sliderContextKey","button","currentPosition","wrapperStyle","vertical","bottom","left","handleMouseEnter","hovering","handleMouseLeave","dragging","onButtonDown","event","preventDefault","onDragStart","window","addEventListener","onDragging","onDragEnd","focus","incrementPosition","amount","newPosition","Number","parseFloat","setPosition","onLeftKeyDown","onRightKeyDown","onPageDownKeyDown","onPageUpKeyDown","onHomeKeyDown","onEndKeyDown","onKeyDown","isPreventDefault","code","EVENT_CODE","down","right","up","home","end","pageDown","pageUp","getClientXY","clientX","clientY","type","startsWith","touches","isClick","startY","startX","startPosition","diff","currentY","currentX","setTimeout","removeEventListener","isNaN","lengthPerStep","steps","Math","round","toFixed","UPDATE_MODEL_EVENT","oldValue","nextTick","updatePopper","watch","val","useEventListener","passive"],"sources":["../../../../../../../packages/components/slider/src/composables/use-slider-button.ts"],"sourcesContent":["import { computed, inject, nextTick, ref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { useEventListener } from '@vueuse/core'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { sliderContextKey } from '../constants'\n\nimport type { CSSProperties, ComputedRef, Ref, SetupContext } from 'vue'\nimport type { SliderProps } from '../slider'\nimport type {\n SliderButtonEmits,\n SliderButtonInitData,\n SliderButtonProps,\n} from '../button'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\nconst useTooltip = (\n props: SliderButtonProps,\n formatTooltip: Ref,\n showTooltip: Ref\n) => {\n const tooltip = ref()\n\n const tooltipVisible = ref(false)\n\n const enableFormat = computed(() => {\n return formatTooltip.value instanceof Function\n })\n\n const formatValue = computed(() => {\n return (\n (enableFormat.value && formatTooltip.value!(props.modelValue)) ||\n props.modelValue\n )\n })\n\n const displayTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = true)\n }, 50)\n\n const hideTooltip = debounce(() => {\n showTooltip.value && (tooltipVisible.value = false)\n }, 50)\n\n return {\n tooltip,\n tooltipVisible,\n formatValue,\n displayTooltip,\n hideTooltip,\n }\n}\n\nexport const useSliderButton = (\n props: SliderButtonProps,\n initData: SliderButtonInitData,\n emit: SetupContext['emit']\n) => {\n const {\n disabled,\n min,\n max,\n step,\n showTooltip,\n persistent,\n precision,\n sliderSize,\n formatTooltip,\n emitChange,\n resetSize,\n updateDragging,\n } = inject(sliderContextKey)!\n\n const { tooltip, tooltipVisible, formatValue, displayTooltip, hideTooltip } =\n useTooltip(props, formatTooltip!, showTooltip)\n\n const button = ref()\n\n const currentPosition = computed(() => {\n return `${\n ((props.modelValue - min.value) / (max.value - min.value)) * 100\n }%`\n })\n\n const wrapperStyle: ComputedRef = computed(() => {\n return props.vertical\n ? { bottom: currentPosition.value }\n : { left: currentPosition.value }\n })\n\n const handleMouseEnter = () => {\n initData.hovering = true\n displayTooltip()\n }\n\n const handleMouseLeave = () => {\n initData.hovering = false\n if (!initData.dragging) {\n hideTooltip()\n }\n }\n\n const onButtonDown = (event: MouseEvent | TouchEvent) => {\n if (disabled.value) return\n event.preventDefault()\n onDragStart(event)\n window.addEventListener('mousemove', onDragging)\n window.addEventListener('touchmove', onDragging)\n window.addEventListener('mouseup', onDragEnd)\n window.addEventListener('touchend', onDragEnd)\n window.addEventListener('contextmenu', onDragEnd)\n button.value!.focus()\n }\n\n const incrementPosition = (amount: number) => {\n if (disabled.value) return\n initData.newPosition =\n Number.parseFloat(currentPosition.value) +\n (amount / (max.value - min.value)) * 100\n setPosition(initData.newPosition)\n emitChange()\n }\n\n const onLeftKeyDown = () => {\n incrementPosition(-step.value)\n }\n\n const onRightKeyDown = () => {\n incrementPosition(step.value)\n }\n\n const onPageDownKeyDown = () => {\n incrementPosition(-step.value * 4)\n }\n\n const onPageUpKeyDown = () => {\n incrementPosition(step.value * 4)\n }\n\n const onHomeKeyDown = () => {\n if (disabled.value) return\n setPosition(0)\n emitChange()\n }\n\n const onEndKeyDown = () => {\n if (disabled.value) return\n setPosition(100)\n emitChange()\n }\n\n const onKeyDown = (event: KeyboardEvent) => {\n let isPreventDefault = true\n\n switch (event.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.down:\n onLeftKeyDown()\n break\n case EVENT_CODE.right:\n case EVENT_CODE.up:\n onRightKeyDown()\n break\n case EVENT_CODE.home:\n onHomeKeyDown()\n break\n case EVENT_CODE.end:\n onEndKeyDown()\n break\n case EVENT_CODE.pageDown:\n onPageDownKeyDown()\n break\n case EVENT_CODE.pageUp:\n onPageUpKeyDown()\n break\n default:\n isPreventDefault = false\n break\n }\n\n isPreventDefault && event.preventDefault()\n }\n\n const getClientXY = (event: MouseEvent | TouchEvent) => {\n let clientX: number\n let clientY: number\n if (event.type.startsWith('touch')) {\n clientY = (event as TouchEvent).touches[0].clientY\n clientX = (event as TouchEvent).touches[0].clientX\n } else {\n clientY = (event as MouseEvent).clientY\n clientX = (event as MouseEvent).clientX\n }\n return {\n clientX,\n clientY,\n }\n }\n\n const onDragStart = (event: MouseEvent | TouchEvent) => {\n initData.dragging = true\n initData.isClick = true\n const { clientX, clientY } = getClientXY(event)\n if (props.vertical) {\n initData.startY = clientY\n } else {\n initData.startX = clientX\n }\n initData.startPosition = Number.parseFloat(currentPosition.value)\n initData.newPosition = initData.startPosition\n }\n\n const onDragging = (event: MouseEvent | TouchEvent) => {\n if (initData.dragging) {\n initData.isClick = false\n displayTooltip()\n resetSize()\n let diff: number\n const { clientX, clientY } = getClientXY(event)\n if (props.vertical) {\n initData.currentY = clientY\n diff = ((initData.startY - initData.currentY) / sliderSize.value) * 100\n } else {\n initData.currentX = clientX\n diff = ((initData.currentX - initData.startX) / sliderSize.value) * 100\n }\n initData.newPosition = initData.startPosition + diff\n setPosition(initData.newPosition)\n }\n }\n\n const onDragEnd = () => {\n if (initData.dragging) {\n /*\n * 防止在 mouseup 后立即触发 click,导致滑块有几率产生一小段位移\n * 不使用 preventDefault 是因为 mouseup 和 click 没有注册在同一个 DOM 上\n */\n setTimeout(() => {\n initData.dragging = false\n if (!initData.hovering) {\n hideTooltip()\n }\n if (!initData.isClick) {\n setPosition(initData.newPosition)\n }\n emitChange()\n }, 0)\n window.removeEventListener('mousemove', onDragging)\n window.removeEventListener('touchmove', onDragging)\n window.removeEventListener('mouseup', onDragEnd)\n window.removeEventListener('touchend', onDragEnd)\n window.removeEventListener('contextmenu', onDragEnd)\n }\n }\n\n const setPosition = async (newPosition: number) => {\n if (newPosition === null || Number.isNaN(+newPosition)) return\n if (newPosition < 0) {\n newPosition = 0\n } else if (newPosition > 100) {\n newPosition = 100\n }\n const lengthPerStep = 100 / ((max.value - min.value) / step.value)\n const steps = Math.round(newPosition / lengthPerStep)\n let value =\n steps * lengthPerStep * (max.value - min.value) * 0.01 + min.value\n value = Number.parseFloat(value.toFixed(precision.value))\n\n if (value !== props.modelValue) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n if (!initData.dragging && props.modelValue !== initData.oldValue) {\n initData.oldValue = props.modelValue\n }\n\n await nextTick()\n initData.dragging && displayTooltip()\n tooltip.value!.updatePopper()\n }\n\n watch(\n () => initData.dragging,\n (val) => {\n updateDragging(val)\n }\n )\n\n useEventListener(button, 'touchstart', onButtonDown, { passive: false })\n\n return {\n disabled,\n button,\n tooltip,\n tooltipVisible,\n showTooltip,\n persistent,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onKeyDown,\n setPosition,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c6055ad8f3d00b9867e84b4c00fdba97ddf5af1f1f1b86dc0cf203b0b4b8636.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c6055ad8f3d00b9867e84b4c00fdba97ddf5af1f1f1b86dc0cf203b0b4b8636.json new file mode 100644 index 00000000..194de1c5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c6055ad8f3d00b9867e84b4c00fdba97ddf5af1f1f1b86dc0cf203b0b4b8636.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\nexport default keysIn;","map":{"version":3,"names":["arrayLikeKeys","baseKeysIn","isArrayLike","keysIn","object"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/keysIn.js"],"sourcesContent":["import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,qBAAqB;AAC/C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,WAAW,MAAM,kBAAkB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,MAAM,EAAE;EACtB,OAAOF,WAAW,CAACE,MAAM,CAAC,GAAGJ,aAAa,CAACI,MAAM,EAAE,IAAI,CAAC,GAAGH,UAAU,CAACG,MAAM,CAAC;AAC/E;AAEA,eAAeD,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c83b959c126561b1e76bb4edd39f58e1201ef35e4294afd6498cd7c0bb2e84b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c83b959c126561b1e76bb4edd39f58e1201ef35e4294afd6498cd7c0bb2e84b.json new file mode 100644 index 00000000..f1b3dba2 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1c83b959c126561b1e76bb4edd39f58e1201ef35e4294afd6498cd7c0bb2e84b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n await fetchDrones(); // 路径规划前强制刷新无人机数据\n console.log('[调试] 当前所有无人机:', JSON.parse(JSON.stringify(drones.value)));\n console.log('[调试] 当前选中无人机ID:', selectedDroneId.value);\n const drone = drones.value.find(d => d.id === selectedDroneId.value);\n console.log('[调试] 选中无人机详细信息:', drone);\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n let planningData = {};\n if (drone && drone.latitude != null && drone.longitude != null) {\n // 以无人机当前位置为起点,所有点为目标点\n planningData = {\n droneId: drone.id,\n startPoint: null,\n targetPoints: pathPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n } else {\n // 以第一个点为起点,其余为目标点\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1);\n planningData = {\n droneId: drone ? drone.id : null,\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n }\n try {\n console.log('发送多目标路径规划请求:', planningData);\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 用后端返回的最优顺序覆盖pathPoints.value\n if (data.path_points && Array.isArray(data.path_points) && data.path_points.length > 0) {\n pathPoints.value = data.path_points;\n }\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","parse","drone","d","warning","planningData","latitude","longitude","droneId","startPoint","algorithm","geometry_type","geometry_data","slice","details","path_points","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cc19702f75da5f7e6573728b0d49dd75dcec1775416ad909a70bff264633196.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cc19702f75da5f7e6573728b0d49dd75dcec1775416ad909a70bff264633196.json new file mode 100644 index 00000000..d43e8853 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cc19702f75da5f7e6573728b0d49dd75dcec1775416ad909a70bff264633196.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayEachRight from './_arrayEachRight.js';\nimport baseEachRight from './_baseEachRight.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\nfunction forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, castFunction(iteratee));\n}\nexport default forEachRight;","map":{"version":3,"names":["arrayEachRight","baseEachRight","castFunction","isArray","forEachRight","collection","iteratee","func"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/forEachRight.js"],"sourcesContent":["import arrayEachRight from './_arrayEachRight.js';\nimport baseEachRight from './_baseEachRight.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\nfunction forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEachRight;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,sBAAsB;AACjD,OAAOC,aAAa,MAAM,qBAAqB;AAC/C,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,OAAO,MAAM,cAAc;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,UAAU,EAAEC,QAAQ,EAAE;EAC1C,IAAIC,IAAI,GAAGJ,OAAO,CAACE,UAAU,CAAC,GAAGL,cAAc,GAAGC,aAAa;EAC/D,OAAOM,IAAI,CAACF,UAAU,EAAEH,YAAY,CAACI,QAAQ,CAAC,CAAC;AACjD;AAEA,eAAeF,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ccc5a55d3a932b440f2b6717e290a47cd6f44dfa74c9136804e80ee60e424fd.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ccc5a55d3a932b440f2b6717e290a47cd6f44dfa74c9136804e80ee60e424fd.json new file mode 100644 index 00000000..555ef4b4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ccc5a55d3a932b440f2b6717e290a47cd6f44dfa74c9136804e80ee60e424fd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onPausePath\", \"onResumePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onPausePath","pausePath","onResumePath","resumePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cd9337cb0c6774571e5cae2ff8e3e8f71dab22eabdc6c093a6da4a99fe0e95b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cd9337cb0c6774571e5cae2ff8e3e8f71dab22eabdc6c093a6da4a99fe0e95b.json new file mode 100644 index 00000000..b476da52 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cd9337cb0c6774571e5cae2ff8e3e8f71dab22eabdc6c093a6da4a99fe0e95b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val)\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onPausePath\", \"onResumePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onPausePath","pausePath","onResumePath","resumePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d0f0abf6e5f6a96c612d246172cd08c8672ac1695353e1648c5c5d0e6ebe72c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d0f0abf6e5f6a96c612d246172cd08c8672ac1695353e1648c5c5d0e6ebe72c.json new file mode 100644 index 00000000..1689efe0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d0f0abf6e5f6a96c612d246172cd08c8672ac1695353e1648c5c5d0e6ebe72c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, computed } from 'vue';\nimport dayjs from 'dayjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nimport { isArray, isDate } from '@vue/shared';\nimport { debugWarn } from '../../../utils/error.mjs';\nconst adjacentMonth = (start, end) => {\n const firstMonthLastDay = start.endOf(\"month\");\n const lastMonthFirstDay = end.startOf(\"month\");\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, \"week\");\n const lastMonthStartDay = isSameWeek ? lastMonthFirstDay.add(1, \"week\") : lastMonthFirstDay;\n return [[start, firstMonthLastDay], [lastMonthStartDay.startOf(\"week\"), end]];\n};\nconst threeConsecutiveMonth = (start, end) => {\n const firstMonthLastDay = start.endOf(\"month\");\n const secondMonthFirstDay = start.add(1, \"month\").startOf(\"month\");\n const secondMonthStartDay = firstMonthLastDay.isSame(secondMonthFirstDay, \"week\") ? secondMonthFirstDay.add(1, \"week\") : secondMonthFirstDay;\n const secondMonthLastDay = secondMonthStartDay.endOf(\"month\");\n const lastMonthFirstDay = end.startOf(\"month\");\n const lastMonthStartDay = secondMonthLastDay.isSame(lastMonthFirstDay, \"week\") ? lastMonthFirstDay.add(1, \"week\") : lastMonthFirstDay;\n return [[start, firstMonthLastDay], [secondMonthStartDay.startOf(\"week\"), secondMonthLastDay], [lastMonthStartDay.startOf(\"week\"), end]];\n};\nconst useCalendar = (props, emit, componentName) => {\n const {\n lang\n } = useLocale();\n const selectedDay = ref();\n const now = dayjs().locale(lang.value);\n const realSelectedDay = computed({\n get() {\n if (!props.modelValue) return selectedDay.value;\n return date.value;\n },\n set(val) {\n if (!val) return;\n selectedDay.value = val;\n const result = val.toDate();\n emit(INPUT_EVENT, result);\n emit(UPDATE_MODEL_EVENT, result);\n }\n });\n const validatedRange = computed(() => {\n if (!props.range || !isArray(props.range) || props.range.length !== 2 || props.range.some(item => !isDate(item))) return [];\n const rangeArrDayjs = props.range.map(_ => dayjs(_).locale(lang.value));\n const [startDayjs, endDayjs] = rangeArrDayjs;\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(componentName, \"end time should be greater than start time\");\n return [];\n }\n if (startDayjs.isSame(endDayjs, \"month\")) {\n return calculateValidatedDateRange(startDayjs, endDayjs);\n } else {\n if (startDayjs.add(1, \"month\").month() !== endDayjs.month()) {\n debugWarn(componentName, \"start time and end time interval must not exceed two months\");\n return [];\n }\n return calculateValidatedDateRange(startDayjs, endDayjs);\n }\n });\n const date = computed(() => {\n if (!props.modelValue) {\n return realSelectedDay.value || (validatedRange.value.length ? validatedRange.value[0][0] : now);\n } else {\n return dayjs(props.modelValue).locale(lang.value);\n }\n });\n const prevMonthDayjs = computed(() => date.value.subtract(1, \"month\").date(1));\n const nextMonthDayjs = computed(() => date.value.add(1, \"month\").date(1));\n const prevYearDayjs = computed(() => date.value.subtract(1, \"year\").date(1));\n const nextYearDayjs = computed(() => date.value.add(1, \"year\").date(1));\n const calculateValidatedDateRange = (startDayjs, endDayjs) => {\n const firstDay = startDayjs.startOf(\"week\");\n const lastDay = endDayjs.endOf(\"week\");\n const firstMonth = firstDay.get(\"month\");\n const lastMonth = lastDay.get(\"month\");\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]];\n } else if ((firstMonth + 1) % 12 === lastMonth) {\n return adjacentMonth(firstDay, lastDay);\n } else if (firstMonth + 2 === lastMonth || (firstMonth + 1) % 11 === lastMonth) {\n return threeConsecutiveMonth(firstDay, lastDay);\n } else {\n debugWarn(componentName, \"start time and end time interval must not exceed two months\");\n return [];\n }\n };\n const pickDay = day => {\n realSelectedDay.value = day;\n };\n const selectDate = type => {\n const dateMap = {\n \"prev-month\": prevMonthDayjs.value,\n \"next-month\": nextMonthDayjs.value,\n \"prev-year\": prevYearDayjs.value,\n \"next-year\": nextYearDayjs.value,\n today: now\n };\n const day = dateMap[type];\n if (!day.isSame(date.value, \"day\")) {\n pickDay(day);\n }\n };\n return {\n calculateValidatedDateRange,\n date,\n realSelectedDay,\n pickDay,\n selectDate,\n validatedRange\n };\n};\nexport { useCalendar };","map":{"version":3,"names":["adjacentMonth","start","end","firstMonthLastDay","endOf","lastMonthFirstDay","startOf","isSameWeek","isSame","lastMonthStartDay","add","threeConsecutiveMonth","secondMonthFirstDay","secondMonthStartDay","secondMonthLastDay","useCalendar","props","emit","componentName","lang","useLocale","selectedDay","ref","now","dayjs","locale","value","realSelectedDay","computed","get","modelValue","date","set","val","result","toDate","INPUT_EVENT","UPDATE_MODEL_EVENT","validatedRange","range","isArray","length","some","item","isDate","rangeArrDayjs","map","_","startDayjs","endDayjs","isAfter","debugWarn","calculateValidatedDateRange","month","prevMonthDayjs","subtract","nextMonthDayjs","prevYearDayjs","nextYearDayjs","firstDay","lastDay","firstMonth","lastMonth","pickDay","day","selectDate","type","dateMap","today"],"sources":["../../../../../../packages/components/calendar/src/use-calendar.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn, isArray, isDate } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type { ComputedRef, SetupContext } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { CalendarDateType, CalendarEmits, CalendarProps } from './calendar'\n\nconst adjacentMonth = (start: Dayjs, end: Dayjs): [Dayjs, Dayjs][] => {\n const firstMonthLastDay = start.endOf('month')\n const lastMonthFirstDay = end.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [start, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), end],\n ]\n}\n\nconst threeConsecutiveMonth = (start: Dayjs, end: Dayjs): [Dayjs, Dayjs][] => {\n const firstMonthLastDay = start.endOf('month')\n const secondMonthFirstDay = start.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = end.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(lastMonthFirstDay, 'week')\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [start, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), end],\n ]\n}\n\nexport const useCalendar = (\n props: CalendarProps,\n emit: SetupContext['emit'],\n componentName: string\n) => {\n const { lang } = useLocale()\n\n const selectedDay = ref()\n const now = dayjs().locale(lang.value)\n\n const realSelectedDay = computed({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n })\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (\n !props.range ||\n !isArray(props.range) ||\n props.range.length !== 2 ||\n props.range.some((item) => !isDate(item))\n )\n return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(componentName, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n componentName,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const date: ComputedRef = computed(() => {\n if (!props.modelValue) {\n return (\n realSelectedDay.value ||\n (validatedRange.value.length ? validatedRange.value[0][0] : now)\n )\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n const prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\n const nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\n const prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\n const nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if ((firstMonth + 1) % 12 === lastMonth) {\n return adjacentMonth(firstDay, lastDay)\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n return threeConsecutiveMonth(firstDay, lastDay)\n }\n // Other cases\n else {\n debugWarn(\n componentName,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: CalendarDateType) => {\n const dateMap: Record = {\n 'prev-month': prevMonthDayjs.value,\n 'next-month': nextMonthDayjs.value,\n 'prev-year': prevYearDayjs.value,\n 'next-year': nextYearDayjs.value,\n today: now,\n }\n\n const day = dateMap[type]\n\n if (!day.isSame(date.value, 'day')) {\n pickDay(day)\n }\n }\n\n return {\n calculateValidatedDateRange,\n date,\n realSelectedDay,\n pickDay,\n selectDate,\n validatedRange,\n }\n}\n"],"mappings":";;;;;;AAKA,MAAMA,aAAa,GAAGA,CAACC,KAAK,EAAEC,GAAG,KAAK;EACpC,MAAMC,iBAAiB,GAAGF,KAAK,CAACG,KAAK,CAAC,OAAO,CAAC;EAC9C,MAAMC,iBAAiB,GAAGH,GAAG,CAACI,OAAO,CAAC,OAAO,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,iBAAiB,CAACK,MAAM,CAACH,iBAAiB,EAAE,MAAM,CAAC;EACtE,MAAMI,iBAAiB,GAAGF,UAAU,GAAGF,iBAAiB,CAACK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAGL,iBAAiB;EAC3F,OAAO,CACL,CAACJ,KAAK,EAAEE,iBAAiB,CAAC,EAC1B,CAACM,iBAAiB,CAACH,OAAO,CAAC,MAAM,CAAC,EAAEJ,GAAG,CAAC,CACzC;AACH,CAAC;AACD,MAAMS,qBAAqB,GAAGA,CAACV,KAAK,EAAEC,GAAG,KAAK;EAC5C,MAAMC,iBAAiB,GAAGF,KAAK,CAACG,KAAK,CAAC,OAAO,CAAC;EAC9C,MAAMQ,mBAAmB,GAAGX,KAAK,CAACS,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAACJ,OAAO,CAAC,OAAO,CAAC;EAClE,MAAMO,mBAAmB,GAAGV,iBAAiB,CAACK,MAAM,CAACI,mBAAmB,EAAE,MAAM,CAAC,GAAGA,mBAAmB,CAACF,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAGE,mBAAmB;EAC5I,MAAME,kBAAkB,GAAGD,mBAAmB,CAACT,KAAK,CAAC,OAAO,CAAC;EAC7D,MAAMC,iBAAiB,GAAGH,GAAG,CAACI,OAAO,CAAC,OAAO,CAAC;EAC9C,MAAMG,iBAAiB,GAAGK,kBAAkB,CAACN,MAAM,CAACH,iBAAiB,EAAE,MAAM,CAAC,GAAGA,iBAAiB,CAACK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAGL,iBAAiB;EACrI,OAAO,CACL,CAACJ,KAAK,EAAEE,iBAAiB,CAAC,EAC1B,CAACU,mBAAmB,CAACP,OAAO,CAAC,MAAM,CAAC,EAAEQ,kBAAkB,CAAC,EACzD,CAACL,iBAAiB,CAACH,OAAO,CAAC,MAAM,CAAC,EAAEJ,GAAG,CAAC,CACzC;AACH,CAAC;AACW,MAACa,WAAW,GAAGA,CAACC,KAAK,EAAEC,IAAI,EAAEC,aAAa,KAAK;EACzD,MAAM;IAAEC;EAAI,CAAE,GAAGC,SAAS,EAAE;EAC5B,MAAMC,WAAW,GAAGC,GAAG,EAAE;EACzB,MAAMC,GAAG,GAAGC,KAAK,EAAE,CAACC,MAAM,CAACN,IAAI,CAACO,KAAK,CAAC;EACtC,MAAMC,eAAe,GAAGC,QAAQ,CAAC;IAC/BC,GAAGA,CAAA,EAAG;MACJ,IAAI,CAACb,KAAK,CAACc,UAAU,EACnB,OAAOT,WAAW,CAACK,KAAK;MAC1B,OAAOK,IAAI,CAACL,KAAK;IACvB,CAAK;IACDM,GAAGA,CAACC,GAAG,EAAE;MACP,IAAI,CAACA,GAAG,EACN;MACFZ,WAAW,CAACK,KAAK,GAAGO,GAAG;MACvB,MAAMC,MAAM,GAAGD,GAAG,CAACE,MAAM,EAAE;MAC3BlB,IAAI,CAACmB,WAAW,EAAEF,MAAM,CAAC;MACzBjB,IAAI,CAACoB,kBAAkB,EAAEH,MAAM,CAAC;IACtC;EACA,CAAG,CAAC;EACF,MAAMI,cAAc,GAAGV,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACZ,KAAK,CAACuB,KAAK,IAAI,CAACC,OAAO,CAACxB,KAAK,CAACuB,KAAK,CAAC,IAAIvB,KAAK,CAACuB,KAAK,CAACE,MAAM,KAAK,CAAC,IAAIzB,KAAK,CAACuB,KAAK,CAACG,IAAI,CAAEC,IAAI,IAAK,CAACC,MAAM,CAACD,IAAI,CAAC,CAAC,EAChH,OAAO,EAAE;IACX,MAAME,aAAa,GAAG7B,KAAK,CAACuB,KAAK,CAACO,GAAG,CAAEC,CAAC,IAAKvB,KAAK,CAACuB,CAAC,CAAC,CAACtB,MAAM,CAACN,IAAI,CAACO,KAAK,CAAC,CAAC;IACzE,MAAM,CAACsB,UAAU,EAAEC,QAAQ,CAAC,GAAGJ,aAAa;IAC5C,IAAIG,UAAU,CAACE,OAAO,CAACD,QAAQ,CAAC,EAAE;MAChCE,SAAS,CAACjC,aAAa,EAAE,4CAA4C,CAAC;MACtE,OAAO,EAAE;IACf;IACI,IAAI8B,UAAU,CAACxC,MAAM,CAACyC,QAAQ,EAAE,OAAO,CAAC,EAAE;MACxC,OAAOG,2BAA2B,CAACJ,UAAU,EAAEC,QAAQ,CAAC;IAC9D,CAAK,MAAM;MACL,IAAID,UAAU,CAACtC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC2C,KAAK,EAAE,KAAKJ,QAAQ,CAACI,KAAK,EAAE,EAAE;QAC3DF,SAAS,CAACjC,aAAa,EAAE,6DAA6D,CAAC;QACvF,OAAO,EAAE;MACjB;MACM,OAAOkC,2BAA2B,CAACJ,UAAU,EAAEC,QAAQ,CAAC;IAC9D;EACA,CAAG,CAAC;EACF,MAAMlB,IAAI,GAAGH,QAAQ,CAAC,MAAM;IAC1B,IAAI,CAACZ,KAAK,CAACc,UAAU,EAAE;MACrB,OAAOH,eAAe,CAACD,KAAK,KAAKY,cAAc,CAACZ,KAAK,CAACe,MAAM,GAAGH,cAAc,CAACZ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGH,GAAG,CAAC;IACtG,CAAK,MAAM;MACL,OAAOC,KAAK,CAACR,KAAK,CAACc,UAAU,CAAC,CAACL,MAAM,CAACN,IAAI,CAACO,KAAK,CAAC;IACvD;EACA,CAAG,CAAC;EACF,MAAM4B,cAAc,GAAG1B,QAAQ,CAAC,MAAMG,IAAI,CAACL,KAAK,CAAC6B,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAACxB,IAAI,CAAC,CAAC,CAAC,CAAC;EAC9E,MAAMyB,cAAc,GAAG5B,QAAQ,CAAC,MAAMG,IAAI,CAACL,KAAK,CAAChB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAACqB,IAAI,CAAC,CAAC,CAAC,CAAC;EACzE,MAAM0B,aAAa,GAAG7B,QAAQ,CAAC,MAAMG,IAAI,CAACL,KAAK,CAAC6B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAACxB,IAAI,CAAC,CAAC,CAAC,CAAC;EAC5E,MAAM2B,aAAa,GAAG9B,QAAQ,CAAC,MAAMG,IAAI,CAACL,KAAK,CAAChB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAACqB,IAAI,CAAC,CAAC,CAAC,CAAC;EACvE,MAAMqB,2BAA2B,GAAGA,CAACJ,UAAU,EAAEC,QAAQ,KAAK;IAC5D,MAAMU,QAAQ,GAAGX,UAAU,CAAC1C,OAAO,CAAC,MAAM,CAAC;IAC3C,MAAMsD,OAAO,GAAGX,QAAQ,CAAC7C,KAAK,CAAC,MAAM,CAAC;IACtC,MAAMyD,UAAU,GAAGF,QAAQ,CAAC9B,GAAG,CAAC,OAAO,CAAC;IACxC,MAAMiC,SAAS,GAAGF,OAAO,CAAC/B,GAAG,CAAC,OAAO,CAAC;IACtC,IAAIgC,UAAU,KAAKC,SAAS,EAAE;MAC5B,OAAO,CAAC,CAACH,QAAQ,EAAEC,OAAO,CAAC,CAAC;IAClC,CAAK,MAAM,IAAI,CAACC,UAAU,GAAG,CAAC,IAAI,EAAE,KAAKC,SAAS,EAAE;MAC9C,OAAO9D,aAAa,CAAC2D,QAAQ,EAAEC,OAAO,CAAC;IAC7C,CAAK,MAAM,IAAIC,UAAU,GAAG,CAAC,KAAKC,SAAS,IAAI,CAACD,UAAU,GAAG,CAAC,IAAI,EAAE,KAAKC,SAAS,EAAE;MAC9E,OAAOnD,qBAAqB,CAACgD,QAAQ,EAAEC,OAAO,CAAC;IACrD,CAAK,MAAM;MACLT,SAAS,CAACjC,aAAa,EAAE,6DAA6D,CAAC;MACvF,OAAO,EAAE;IACf;EACA,CAAG;EACD,MAAM6C,OAAO,GAAIC,GAAG,IAAK;IACvBrC,eAAe,CAACD,KAAK,GAAGsC,GAAG;EAC/B,CAAG;EACD,MAAMC,UAAU,GAAIC,IAAI,IAAK;IAC3B,MAAMC,OAAO,GAAG;MACd,YAAY,EAAEb,cAAc,CAAC5B,KAAK;MAClC,YAAY,EAAE8B,cAAc,CAAC9B,KAAK;MAClC,WAAW,EAAE+B,aAAa,CAAC/B,KAAK;MAChC,WAAW,EAAEgC,aAAa,CAAChC,KAAK;MAChC0C,KAAK,EAAE7C;IACb,CAAK;IACD,MAAMyC,GAAG,GAAGG,OAAO,CAACD,IAAI,CAAC;IACzB,IAAI,CAACF,GAAG,CAACxD,MAAM,CAACuB,IAAI,CAACL,KAAK,EAAE,KAAK,CAAC,EAAE;MAClCqC,OAAO,CAACC,GAAG,CAAC;IAClB;EACA,CAAG;EACD,OAAO;IACLZ,2BAA2B;IAC3BrB,IAAI;IACJJ,eAAe;IACfoC,OAAO;IACPE,UAAU;IACV3B;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d2b0c3802798908097397212fadcfc993e24803035abfe959b74c4163dea18f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d2b0c3802798908097397212fadcfc993e24803035abfe959b74c4163dea18f.json new file mode 100644 index 00000000..31d3100c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d2b0c3802798908097397212fadcfc993e24803035abfe959b74c4163dea18f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import clamp from './clamp.js';\nimport inRange from './inRange.js';\nimport random from './random.js';\nexport default {\n clamp,\n inRange,\n random\n};","map":{"version":3,"names":["clamp","inRange","random"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/number.default.js"],"sourcesContent":["import clamp from './clamp.js';\nimport inRange from './inRange.js';\nimport random from './random.js';\n\nexport default {\n clamp, inRange, random\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,YAAY;AAC9B,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,MAAM,MAAM,aAAa;AAEhC,eAAe;EACbF,KAAK;EAAEC,OAAO;EAAEC;AAClB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d39eb3340df91207377be4b3c1a80d444c6351a6a108999b8f0ca039da401df.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d39eb3340df91207377be4b3c1a80d444c6351a6a108999b8f0ca039da401df.json new file mode 100644 index 00000000..61489259 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1d39eb3340df91207377be4b3c1a80d444c6351a6a108999b8f0ca039da401df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { inject, computed, getCurrentInstance, toRaw, watch } from 'vue';\nimport { castArray, get, isEqual } from 'lodash-unified';\nimport { selectKey, selectGroupKey } from './token.mjs';\nimport { COMPONENT_NAME } from './option.mjs';\nimport { escapeStringRegexp } from '../../../utils/strings.mjs';\nimport { throwError } from '../../../utils/error.mjs';\nimport { isObject } from '@vue/shared';\nfunction useOption(props, states) {\n const select = inject(selectKey);\n if (!select) {\n throwError(COMPONENT_NAME, \"usage: \");\n }\n const selectGroup = inject(selectGroupKey, {\n disabled: false\n });\n const itemSelected = computed(() => {\n return contains(castArray(select.props.modelValue), props.value);\n });\n const limitReached = computed(() => {\n var _a;\n if (select.props.multiple) {\n const modelValue = castArray((_a = select.props.modelValue) != null ? _a : []);\n return !itemSelected.value && modelValue.length >= select.props.multipleLimit && select.props.multipleLimit > 0;\n } else {\n return false;\n }\n });\n const currentLabel = computed(() => {\n var _a;\n return (_a = props.label) != null ? _a : isObject(props.value) ? \"\" : props.value;\n });\n const currentValue = computed(() => {\n return props.value || props.label || \"\";\n });\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value;\n });\n const instance = getCurrentInstance();\n const contains = (arr = [], target) => {\n if (!isObject(props.value)) {\n return arr && arr.includes(target);\n } else {\n const valueKey = select.props.valueKey;\n return arr && arr.some(item => {\n return toRaw(get(item, valueKey)) === get(target, valueKey);\n });\n }\n };\n const hoverItem = () => {\n if (!props.disabled && !selectGroup.disabled) {\n select.states.hoveringIndex = select.optionsArray.indexOf(instance.proxy);\n }\n };\n const updateOption = query => {\n const regexp = new RegExp(escapeStringRegexp(query), \"i\");\n states.visible = regexp.test(String(currentLabel.value)) || props.created;\n };\n watch(() => currentLabel.value, () => {\n if (!props.created && !select.props.remote) select.setSelected();\n });\n watch(() => props.value, (val, oldVal) => {\n const {\n remote,\n valueKey\n } = select.props;\n const shouldUpdate = remote ? val !== oldVal : !isEqual(val, oldVal);\n if (shouldUpdate) {\n select.onOptionDestroy(oldVal, instance.proxy);\n select.onOptionCreate(instance.proxy);\n }\n if (!props.created && !remote) {\n if (valueKey && isObject(val) && isObject(oldVal) && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n select.setSelected();\n }\n });\n watch(() => selectGroup.disabled, () => {\n states.groupDisabled = selectGroup.disabled;\n }, {\n immediate: true\n });\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n updateOption\n };\n}\nexport { useOption };","map":{"version":3,"names":["useOption","props","states","select","inject","selectKey","throwError","COMPONENT_NAME","selectGroup","selectGroupKey","disabled","itemSelected","computed","contains","castArray","modelValue","value","limitReached","_a","multiple","length","multipleLimit","currentLabel","label","isObject","currentValue","isDisabled","groupDisabled","instance","getCurrentInstance","arr","target","includes","valueKey","some","item","toRaw","get","hoverItem","hoveringIndex","optionsArray","indexOf","proxy","updateOption","query","regexp","RegExp","escapeStringRegexp","visible","test","String","created","watch","remote","setSelected","val","oldVal","shouldUpdate","isEqual","onOptionDestroy","onOptionCreate","immediate"],"sources":["../../../../../../packages/components/select/src/useOption.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, toRaw, watch } from 'vue'\nimport { get, isEqual } from 'lodash-unified'\nimport {\n ensureArray,\n escapeStringRegexp,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { selectGroupKey, selectKey } from './token'\nimport { COMPONENT_NAME } from './option'\n\nimport type { OptionInternalInstance, OptionProps, OptionStates } from './type'\n\nexport function useOption(props: OptionProps, states: OptionStates) {\n // inject\n const select = inject(selectKey)\n if (!select) {\n throwError(COMPONENT_NAME, 'usage: ')\n }\n const selectGroup = inject(selectGroupKey, { disabled: false })\n\n // computed\n const itemSelected = computed(() => {\n return contains(ensureArray(select.props.modelValue), props.value)\n })\n\n const limitReached = computed(() => {\n if (select.props.multiple) {\n const modelValue = ensureArray(select.props.modelValue ?? [])\n return (\n !itemSelected.value &&\n modelValue.length >= select.props.multipleLimit &&\n select.props.multipleLimit > 0\n )\n } else {\n return false\n }\n })\n\n const currentLabel = computed(() => {\n return props.label ?? (isObject(props.value) ? '' : props.value)\n })\n\n const currentValue = computed(() => {\n return props.value || props.label || ''\n })\n\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value\n })\n\n const instance = getCurrentInstance()! as OptionInternalInstance\n const contains = (arr: T[] = [], target: T) => {\n if (!isObject(props.value)) {\n return arr && arr.includes(target)\n } else {\n const valueKey = select.props.valueKey\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n }\n\n const hoverItem = () => {\n if (!props.disabled && !selectGroup.disabled) {\n select.states.hoveringIndex = select.optionsArray.indexOf(instance.proxy)\n }\n }\n\n const updateOption = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n states.visible = regexp.test(String(currentLabel.value)) || props.created\n }\n\n watch(\n () => currentLabel.value,\n () => {\n if (!props.created && !select.props.remote) select.setSelected()\n }\n )\n\n watch(\n () => props.value,\n (val, oldVal) => {\n const { remote, valueKey } = select.props\n const shouldUpdate = remote ? val !== oldVal : !isEqual(val, oldVal)\n if (shouldUpdate) {\n select.onOptionDestroy(oldVal, instance.proxy)\n select.onOptionCreate(instance.proxy)\n }\n\n if (!props.created && !remote) {\n if (\n valueKey &&\n isObject(val) &&\n isObject(oldVal) &&\n val[valueKey] === oldVal[valueKey]\n ) {\n return\n }\n select.setSelected()\n }\n }\n )\n\n watch(\n () => selectGroup.disabled,\n () => {\n states.groupDisabled = selectGroup.disabled\n },\n { immediate: true }\n )\n\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n updateOption,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1dcc372ba5342fed207aa52c4f73a8707e1ad1b83a2aa4644d412b989caff338.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1dcc372ba5342fed207aa52c4f73a8707e1ad1b83a2aa4644d412b989caff338.json new file mode 100644 index 00000000..6a2c7c9c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1dcc372ba5342fed207aa52c4f73a8707e1ad1b83a2aa4644d412b989caff338.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseExtremum from './_baseExtremum.js';\nimport baseGt from './_baseGt.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nfunction maxBy(array, iteratee) {\n return array && array.length ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt) : undefined;\n}\nexport default maxBy;","map":{"version":3,"names":["baseExtremum","baseGt","baseIteratee","maxBy","array","iteratee","length","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/maxBy.js"],"sourcesContent":["import baseExtremum from './_baseExtremum.js';\nimport baseGt from './_baseGt.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nfunction maxBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt)\n : undefined;\n}\n\nexport default maxBy;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,YAAY,MAAM,oBAAoB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAACC,KAAK,EAAEC,QAAQ,EAAE;EAC9B,OAAQD,KAAK,IAAIA,KAAK,CAACE,MAAM,GACzBN,YAAY,CAACI,KAAK,EAAEF,YAAY,CAACG,QAAQ,EAAE,CAAC,CAAC,EAAEJ,MAAM,CAAC,GACtDM,SAAS;AACf;AAEA,eAAeJ,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1dff11db26a2113966a8929e9a59a7d9f05ccf3d2aa89ddaaa2c0bff9a190a32.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1dff11db26a2113966a8929e9a59a7d9f05ccf3d2aa89ddaaa2c0bff9a190a32.json new file mode 100644 index 00000000..ceda13df --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1dff11db26a2113966a8929e9a59a7d9f05ccf3d2aa89ddaaa2c0bff9a190a32.json @@ -0,0 +1 @@ +{"ast":null,"code":"/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n return function () {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\nexport default shortOut;","map":{"version":3,"names":["HOT_COUNT","HOT_SPAN","nativeNow","Date","now","shortOut","func","count","lastCalled","stamp","remaining","arguments","apply","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_shortOut.js"],"sourcesContent":["/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n"],"mappings":"AAAA;AACA,IAAIA,SAAS,GAAG,GAAG;EACfC,QAAQ,GAAG,EAAE;;AAEjB;AACA,IAAIC,SAAS,GAAGC,IAAI,CAACC,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,IAAI,EAAE;EACtB,IAAIC,KAAK,GAAG,CAAC;IACTC,UAAU,GAAG,CAAC;EAElB,OAAO,YAAW;IAChB,IAAIC,KAAK,GAAGP,SAAS,CAAC,CAAC;MACnBQ,SAAS,GAAGT,QAAQ,IAAIQ,KAAK,GAAGD,UAAU,CAAC;IAE/CA,UAAU,GAAGC,KAAK;IAClB,IAAIC,SAAS,GAAG,CAAC,EAAE;MACjB,IAAI,EAAEH,KAAK,IAAIP,SAAS,EAAE;QACxB,OAAOW,SAAS,CAAC,CAAC,CAAC;MACrB;IACF,CAAC,MAAM;MACLJ,KAAK,GAAG,CAAC;IACX;IACA,OAAOD,IAAI,CAACM,KAAK,CAACC,SAAS,EAAEF,SAAS,CAAC;EACzC,CAAC;AACH;AAEA,eAAeN,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e25c136d3a2a9fe03ba4fab149a521edfcadd6ededc3eecb9e6a286fe24d3df.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e25c136d3a2a9fe03ba4fab149a521edfcadd6ededc3eecb9e6a286fe24d3df.json new file mode 100644 index 00000000..1ae29106 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e25c136d3a2a9fe03ba4fab149a521edfcadd6ededc3eecb9e6a286fe24d3df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\nexport default getRawTag;","map":{"version":3,"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_getRawTag.js"],"sourcesContent":["import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,cAAc;;AAEjC;AACA,IAAIC,WAAW,GAAGC,MAAM,CAACC,SAAS;;AAElC;AACA,IAAIC,cAAc,GAAGH,WAAW,CAACG,cAAc;;AAE/C;AACA;AACA;AACA;AACA;AACA,IAAIC,oBAAoB,GAAGJ,WAAW,CAACK,QAAQ;;AAE/C;AACA,IAAIC,cAAc,GAAGP,MAAM,GAAGA,MAAM,CAACQ,WAAW,GAAGC,SAAS;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,KAAK,EAAE;EACxB,IAAIC,KAAK,GAAGR,cAAc,CAACS,IAAI,CAACF,KAAK,EAAEJ,cAAc,CAAC;IAClDO,GAAG,GAAGH,KAAK,CAACJ,cAAc,CAAC;EAE/B,IAAI;IACFI,KAAK,CAACJ,cAAc,CAAC,GAAGE,SAAS;IACjC,IAAIM,QAAQ,GAAG,IAAI;EACrB,CAAC,CAAC,OAAOC,CAAC,EAAE,CAAC;EAEb,IAAIC,MAAM,GAAGZ,oBAAoB,CAACQ,IAAI,CAACF,KAAK,CAAC;EAC7C,IAAII,QAAQ,EAAE;IACZ,IAAIH,KAAK,EAAE;MACTD,KAAK,CAACJ,cAAc,CAAC,GAAGO,GAAG;IAC7B,CAAC,MAAM;MACL,OAAOH,KAAK,CAACJ,cAAc,CAAC;IAC9B;EACF;EACA,OAAOU,MAAM;AACf;AAEA,eAAeP,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e37a49880732539c392b0740ff9a489bee0453b3b255190c8074a1f54df7223.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e37a49880732539c392b0740ff9a489bee0453b3b255190c8074a1f54df7223.json new file mode 100644 index 00000000..006bfa63 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e37a49880732539c392b0740ff9a489bee0453b3b255190c8074a1f54df7223.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\nfunction stubTrue() {\n return true;\n}\nexport default stubTrue;","map":{"version":3,"names":["stubTrue"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/stubTrue.js"],"sourcesContent":["/**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\nfunction stubTrue() {\n return true;\n}\n\nexport default stubTrue;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAAA,EAAG;EAClB,OAAO,IAAI;AACb;AAEA,eAAeA,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e453230f19524666d02901dbee3d94322b846146f48eb57b7bb5e6db7efaee1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e453230f19524666d02901dbee3d94322b846146f48eb57b7bb5e6db7efaee1.json new file mode 100644 index 00000000..32373a79 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e453230f19524666d02901dbee3d94322b846146f48eb57b7bb5e6db7efaee1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_table = _resolveComponent(\"el-table\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createBlock(_component_el_card, null, {\n default: _withCtx(() => [_cache[14] || (_cache[14] = _createElementVNode(\"h2\", null, \"无人机管理\", -1 /* HOISTED */)), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: _cache[0] || (_cache[0] = $event => $data.dialogVisible = true),\n style: {\n \"margin-bottom\": \"20px\"\n }\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"添加无人机\")])),\n _: 1 /* STABLE */,\n __: [9]\n }), _createVNode(_component_el_table, {\n data: $data.drones,\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"id\",\n label: \"ID\",\n width: \"80\"\n }), _createVNode(_component_el_table_column, {\n prop: \"name\",\n label: \"名称\",\n width: \"120\"\n }), _createVNode(_component_el_table_column, {\n prop: \"type\",\n label: \"类型/型号\",\n width: \"120\"\n }), _createVNode(_component_el_table_column, {\n prop: \"serial_number\",\n label: \"序列号\",\n width: \"160\"\n }), _createVNode(_component_el_table_column, {\n prop: \"description\",\n label: \"备注\",\n width: \"200\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n type: \"success\",\n size: \"small\",\n onClick: $event => _ctx.handleConnect(scope.row)\n }, {\n default: _withCtx(() => _cache[10] || (_cache[10] = [_createTextVNode(\"连接\")])),\n _: 2 /* DYNAMIC */,\n __: [10]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"]), _createVNode(_component_el_button, {\n type: \"danger\",\n size: \"small\",\n onClick: $event => $options.handleDelete(scope.row)\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"删除\")])),\n _: 2 /* DYNAMIC */,\n __: [11]\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"data\"]), _createVNode(_component_el_dialog, {\n title: \"添加无人机\",\n modelValue: $data.dialogVisible,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $data.dialogVisible = $event),\n width: \"500px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[7] || (_cache[7] = $event => $data.dialogVisible = false)\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $options.addDrone\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"确定\")])),\n _: 1 /* STABLE */,\n __: [13]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $data.form,\n \"label-width\": \"100px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"名称\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.name,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.form.name = $event),\n placeholder: \"请输入名称\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"类型/型号\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.form.type = $event),\n placeholder: \"如Mavic 3/Matrice 300\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"序列号\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.serial_number,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.form.serial_number = $event),\n placeholder: \"请输入无人机序列号\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"App Key\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.app_key,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.form.app_key = $event),\n placeholder: \"请输入App Key\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"App Secret\",\n required: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.app_secret,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.form.app_secret = $event),\n placeholder: \"请输入App Secret\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"备注\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $data.form.description,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $data.form.description = $event),\n placeholder: \"可填写用途、特殊配置等\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */,\n __: [14]\n });\n}","map":{"version":3,"names":["_createBlock","_component_el_card","_createElementVNode","_createVNode","_component_el_button","type","onClick","_cache","$event","$data","dialogVisible","style","_component_el_table","data","drones","_component_el_table_column","prop","label","width","default","_withCtx","scope","size","_ctx","handleConnect","row","$options","handleDelete","_component_el_dialog","title","footer","addDrone","_component_el_form","model","form","_component_el_form_item","required","_component_el_input","name","placeholder","serial_number","app_key","app_secret","description"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\DroneListView.vue"],"sourcesContent":["\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e4b1654ca244e63e3b71f1e94d347a3344f5e4a392619761d0ca74027e3a405.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e4b1654ca244e63e3b71f1e94d347a3344f5e4a392619761d0ca74027e3a405.json new file mode 100644 index 00000000..bac8e434 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e4b1654ca244e63e3b71f1e94d347a3344f5e4a392619761d0ca74027e3a405.json @@ -0,0 +1 @@ +{"ast":null,"code":"import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string;\n}\nexport default baseTrim;","map":{"version":3,"names":["trimmedEndIndex","reTrimStart","baseTrim","string","slice","replace"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseTrim.js"],"sourcesContent":["import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,uBAAuB;;AAEnD;AACA,IAAIC,WAAW,GAAG,MAAM;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,MAAM,EAAE;EACxB,OAAOA,MAAM,GACTA,MAAM,CAACC,KAAK,CAAC,CAAC,EAAEJ,eAAe,CAACG,MAAM,CAAC,GAAG,CAAC,CAAC,CAACE,OAAO,CAACJ,WAAW,EAAE,EAAE,CAAC,GACrEE,MAAM;AACZ;AAEA,eAAeD,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e503abc55d425f0c34cf58bdae99a4f954bce17d90919b7093aea9a02a382b2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e503abc55d425f0c34cf58bdae99a4f954bce17d90919b7093aea9a02a382b2.json new file mode 100644 index 00000000..ef409a25 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e503abc55d425f0c34cf58bdae99a4f954bce17d90919b7093aea9a02a382b2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val),\n onPausePath: $setup.pausePath,\n onResumePath: $setup.resumePath,\n \"path-control-button-text\": $setup.pathControlButtonText,\n onPathControl: $setup.pathControl,\n \"current-drone-status\": _ctx.currentDrone.value.status || ''\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\", \"onPausePath\", \"onResumePath\", \"path-control-button-text\", \"onPathControl\", \"current-drone-status\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","onPausePath","pausePath","onResumePath","resumePath","pathControlButtonText","onPathControl","pathControl","_ctx","currentDrone","status","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e8b0893d9e23c89849f1ce19bc8175503632b55861c275f6dd27fcc2f9e26b6.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e8b0893d9e23c89849f1ce19bc8175503632b55861c275f6dd27fcc2f9e26b6.json new file mode 100644 index 00000000..9728f013 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1e8b0893d9e23c89849f1ce19bc8175503632b55861c275f6dd27fcc2f9e26b6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\nexport default baseIsArguments;","map":{"version":3,"names":["baseGetTag","isObjectLike","argsTag","baseIsArguments","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseIsArguments.js"],"sourcesContent":["import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,YAAY,MAAM,mBAAmB;;AAE5C;AACA,IAAIC,OAAO,GAAG,oBAAoB;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,KAAK,EAAE;EAC9B,OAAOH,YAAY,CAACG,KAAK,CAAC,IAAIJ,UAAU,CAACI,KAAK,CAAC,IAAIF,OAAO;AAC5D;AAEA,eAAeC,eAAe","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1eb1991cc4c700adc124985749f4ca1ca47777f8c095aecb90ad640f6d05b509.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1eb1991cc4c700adc124985749f4ca1ca47777f8c095aecb90ad640f6d05b509.json new file mode 100644 index 00000000..b9bf30d8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1eb1991cc4c700adc124985749f4ca1ca47777f8c095aecb90ad640f6d05b509.json @@ -0,0 +1 @@ +{"ast":null,"code":"/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\nexport default getWrapDetails;","map":{"version":3,"names":["reWrapDetails","reSplitDetails","getWrapDetails","source","match","split"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_getWrapDetails.js"],"sourcesContent":["/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\nexport default getWrapDetails;\n"],"mappings":"AAAA;AACA,IAAIA,aAAa,GAAG,mCAAmC;EACnDC,cAAc,GAAG,OAAO;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACC,MAAM,EAAE;EAC9B,IAAIC,KAAK,GAAGD,MAAM,CAACC,KAAK,CAACJ,aAAa,CAAC;EACvC,OAAOI,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK,CAACJ,cAAc,CAAC,GAAG,EAAE;AACpD;AAEA,eAAeC,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ed7fa97300c957011dc3bbeff1015f63dc2fe22edc312618d1bed3bcf06830e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ed7fa97300c957011dc3bbeff1015f63dc2fe22edc312618d1bed3bcf06830e.json new file mode 100644 index 00000000..1f52c2f9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ed7fa97300c957011dc3bbeff1015f63dc2fe22edc312618d1bed3bcf06830e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import root from './_root.js';\nimport toString from './toString.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeParseInt = root.parseInt;\n\n/**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\nfunction parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n}\nexport default parseInt;","map":{"version":3,"names":["root","toString","reTrimStart","nativeParseInt","parseInt","string","radix","guard","replace"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/parseInt.js"],"sourcesContent":["import root from './_root.js';\nimport toString from './toString.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeParseInt = root.parseInt;\n\n/**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\nfunction parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n}\n\nexport default parseInt;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,YAAY;AAC7B,OAAOC,QAAQ,MAAM,eAAe;;AAEpC;AACA,IAAIC,WAAW,GAAG,MAAM;;AAExB;AACA,IAAIC,cAAc,GAAGH,IAAI,CAACI,QAAQ;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAACC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE;EACtC,IAAIA,KAAK,IAAID,KAAK,IAAI,IAAI,EAAE;IAC1BA,KAAK,GAAG,CAAC;EACX,CAAC,MAAM,IAAIA,KAAK,EAAE;IAChBA,KAAK,GAAG,CAACA,KAAK;EAChB;EACA,OAAOH,cAAc,CAACF,QAAQ,CAACI,MAAM,CAAC,CAACG,OAAO,CAACN,WAAW,EAAE,EAAE,CAAC,EAAEI,KAAK,IAAI,CAAC,CAAC;AAC9E;AAEA,eAAeF,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1edd7b492c21252cf7c8300b6bd31441e11b7d6ab42edbe8bcd9dd5eabcb9928.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1edd7b492c21252cf7c8300b6bd31441e11b7d6ab42edbe8bcd9dd5eabcb9928.json new file mode 100644 index 00000000..84088419 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1edd7b492c21252cf7c8300b6bd31441e11b7d6ab42edbe8bcd9dd5eabcb9928.json @@ -0,0 +1 @@ +{"ast":null,"code":"import MenuItem from './menu-item.mjs';\nclass Menu {\n constructor(domNode, namespace) {\n this.domNode = domNode;\n this.init(namespace);\n }\n init(namespace) {\n const menuChildren = this.domNode.childNodes;\n Array.from(menuChildren).forEach(child => {\n if (child.nodeType === 1) {\n new MenuItem(child, namespace);\n }\n });\n }\n}\nexport { Menu as default };","map":{"version":3,"names":["Menu","constructor","domNode","namespace","init","menuChildren","childNodes","Array","from","forEach","child","nodeType","MenuItem"],"sources":["../../../../../../../packages/components/menu/src/utils/menu-bar.ts"],"sourcesContent":["import MenuItem from './menu-item'\n\nimport type { RendererNode } from 'vue'\n\nclass Menu {\n constructor(public domNode: RendererNode, namespace: string) {\n this.init(namespace)\n }\n init(namespace: string): void {\n const menuChildren = this.domNode.childNodes\n Array.from(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child as HTMLElement, namespace)\n }\n })\n }\n}\n\nexport default Menu\n"],"mappings":";AACA,MAAMA,IAAI,CAAC;EACTC,WAAWA,CAACC,OAAO,EAAEC,SAAS,EAAE;IAC9B,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,IAAI,CAACD,SAAS,CAAC;EACxB;EACEC,IAAIA,CAACD,SAAS,EAAE;IACd,MAAME,YAAY,GAAG,IAAI,CAACH,OAAO,CAACI,UAAU;IAC5CC,KAAK,CAACC,IAAI,CAACH,YAAY,CAAC,CAACI,OAAO,CAAEC,KAAK,IAAK;MAC1C,IAAIA,KAAK,CAACC,QAAQ,KAAK,CAAC,EAAE;QACxB,IAAIC,QAAQ,CAACF,KAAK,EAAEP,SAAS,CAAC;MACtC;IACA,CAAK,CAAC;EACN;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ef99a2638aa3a9944309eec8c3c6899f6fcc5dab95b1df66b6053bc211bc7b4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ef99a2638aa3a9944309eec8c3c6899f6fcc5dab95b1df66b6053bc211bc7b4.json new file mode 100644 index 00000000..c44e53c9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1ef99a2638aa3a9944309eec8c3c6899f6fcc5dab95b1df66b6053bc211bc7b4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Affix from './src/affix2.mjs';\nexport { affixEmits, affixProps } from './src/affix.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\nconst ElAffix = withInstall(Affix);\nexport { ElAffix, ElAffix as default };","map":{"version":3,"names":["ElAffix","withInstall","Affix"],"sources":["../../../../../packages/components/affix/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Affix from './src/affix.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElAffix: SFCWithInstall = withInstall(Affix)\nexport default ElAffix\n\nexport * from './src/affix'\n"],"mappings":";;;AAEY,MAACA,OAAO,GAAGC,WAAW,CAACC,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1efc66b8760186436b6aa159e9ce717494886c7c979d0df83ed0467e1e581462.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1efc66b8760186436b6aa159e9ce717494886c7c979d0df83ed0467e1e581462.json new file mode 100644 index 00000000..5596cb9f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1efc66b8760186436b6aa159e9ce717494886c7c979d0df83ed0467e1e581462.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles(parentId, list) {\n var styles = [];\n var newStyles = {};\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = item[0];\n var css = item[1];\n var media = item[2];\n var sourceMap = item[3];\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n };\n if (!newStyles[id]) {\n styles.push(newStyles[id] = {\n id: id,\n parts: [part]\n });\n } else {\n newStyles[id].parts.push(part);\n }\n }\n return styles;\n}","map":{"version":3,"names":["listToStyles","parentId","list","styles","newStyles","i","length","item","id","css","media","sourceMap","part","push","parts"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/vue-style-loader/lib/listToStyles.js"],"sourcesContent":["/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,eAAe,SAASA,YAAYA,CAAEC,QAAQ,EAAEC,IAAI,EAAE;EACpD,IAAIC,MAAM,GAAG,EAAE;EACf,IAAIC,SAAS,GAAG,CAAC,CAAC;EAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,IAAI,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,IAAIE,IAAI,GAAGL,IAAI,CAACG,CAAC,CAAC;IAClB,IAAIG,EAAE,GAAGD,IAAI,CAAC,CAAC,CAAC;IAChB,IAAIE,GAAG,GAAGF,IAAI,CAAC,CAAC,CAAC;IACjB,IAAIG,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAC;IACnB,IAAII,SAAS,GAAGJ,IAAI,CAAC,CAAC,CAAC;IACvB,IAAIK,IAAI,GAAG;MACTJ,EAAE,EAAEP,QAAQ,GAAG,GAAG,GAAGI,CAAC;MACtBI,GAAG,EAAEA,GAAG;MACRC,KAAK,EAAEA,KAAK;MACZC,SAAS,EAAEA;IACb,CAAC;IACD,IAAI,CAACP,SAAS,CAACI,EAAE,CAAC,EAAE;MAClBL,MAAM,CAACU,IAAI,CAACT,SAAS,CAACI,EAAE,CAAC,GAAG;QAAEA,EAAE,EAAEA,EAAE;QAAEM,KAAK,EAAE,CAACF,IAAI;MAAE,CAAC,CAAC;IACxD,CAAC,MAAM;MACLR,SAAS,CAACI,EAAE,CAAC,CAACM,KAAK,CAACD,IAAI,CAACD,IAAI,CAAC;IAChC;EACF;EACA,OAAOT,MAAM;AACf","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f3691e1b332ad48e6b00950c3820855f81423642c44f174ab3cd59dc3bfd0fc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f3691e1b332ad48e6b00950c3820855f81423642c44f174ab3cd59dc3bfd0fc.json new file mode 100644 index 00000000..c468a814 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f3691e1b332ad48e6b00950c3820855f81423642c44f174ab3cd59dc3bfd0fc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, inject, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, createCommentVNode, createBlock, withModifiers, withCtx, createElementVNode, createVNode, Fragment } from 'vue';\nimport { ElCheckbox } from '../../checkbox/index.mjs';\nimport { ElRadio } from '../../radio/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { Check, Loading, ArrowRight } from '@element-plus/icons-vue';\nimport NodeContent from './node-content.mjs';\nimport { CASCADER_PANEL_INJECTION_KEY } from './types.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst _sfc_main = defineComponent({\n name: \"ElCascaderNode\",\n components: {\n ElCheckbox,\n ElRadio,\n NodeContent,\n ElIcon,\n Check,\n Loading,\n ArrowRight\n },\n props: {\n node: {\n type: Object,\n required: true\n },\n menuId: String\n },\n emits: [\"expand\"],\n setup(props, {\n emit\n }) {\n const panel = inject(CASCADER_PANEL_INJECTION_KEY);\n const ns = useNamespace(\"cascader-node\");\n const isHoverMenu = computed(() => panel.isHoverMenu);\n const multiple = computed(() => panel.config.multiple);\n const checkStrictly = computed(() => panel.config.checkStrictly);\n const checkedNodeId = computed(() => {\n var _a;\n return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;\n });\n const isDisabled = computed(() => props.node.isDisabled);\n const isLeaf = computed(() => props.node.isLeaf);\n const expandable = computed(() => checkStrictly.value && !isLeaf.value || !isDisabled.value);\n const inExpandingPath = computed(() => isInPath(panel.expandingNode));\n const inCheckedPath = computed(() => checkStrictly.value && panel.checkedNodes.some(isInPath));\n const isInPath = node => {\n var _a;\n const {\n level,\n uid\n } = props.node;\n return ((_a = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a.uid) === uid;\n };\n const doExpand = () => {\n if (inExpandingPath.value) return;\n panel.expandNode(props.node);\n };\n const doCheck = checked => {\n const {\n node\n } = props;\n if (checked === node.checked) return;\n panel.handleCheckChange(node, checked);\n };\n const doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand();\n });\n };\n const handleHoverExpand = e => {\n if (!isHoverMenu.value) return;\n handleExpand();\n !isLeaf.value && emit(\"expand\", e);\n };\n const handleExpand = () => {\n const {\n node\n } = props;\n if (!expandable.value || node.loading) return;\n node.loaded ? doExpand() : doLoad();\n };\n const handleClick = () => {\n if (isHoverMenu.value && !isLeaf.value) return;\n if (isLeaf.value && !isDisabled.value && !checkStrictly.value && !multiple.value) {\n handleCheck(true);\n } else {\n handleExpand();\n }\n };\n const handleSelectCheck = checked => {\n if (checkStrictly.value) {\n doCheck(checked);\n if (props.node.loaded) {\n doExpand();\n }\n } else {\n handleCheck(checked);\n }\n };\n const handleCheck = checked => {\n if (!props.node.loaded) {\n doLoad();\n } else {\n doCheck(checked);\n !checkStrictly.value && doExpand();\n }\n };\n return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n ns,\n handleHoverExpand,\n handleExpand,\n handleClick,\n handleCheck,\n handleSelectCheck\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_checkbox = resolveComponent(\"el-checkbox\");\n const _component_el_radio = resolveComponent(\"el-radio\");\n const _component_check = resolveComponent(\"check\");\n const _component_el_icon = resolveComponent(\"el-icon\");\n const _component_node_content = resolveComponent(\"node-content\");\n const _component_loading = resolveComponent(\"loading\");\n const _component_arrow_right = resolveComponent(\"arrow-right\");\n return openBlock(), createElementBlock(\"li\", {\n id: `${_ctx.menuId}-${_ctx.node.uid}`,\n role: \"menuitem\",\n \"aria-haspopup\": !_ctx.isLeaf,\n \"aria-owns\": _ctx.isLeaf ? void 0 : _ctx.menuId,\n \"aria-expanded\": _ctx.inExpandingPath,\n tabindex: _ctx.expandable ? -1 : void 0,\n class: normalizeClass([_ctx.ns.b(), _ctx.ns.is(\"selectable\", _ctx.checkStrictly), _ctx.ns.is(\"active\", _ctx.node.checked), _ctx.ns.is(\"disabled\", !_ctx.expandable), _ctx.inExpandingPath && \"in-active-path\", _ctx.inCheckedPath && \"in-checked-path\"]),\n onMouseenter: _ctx.handleHoverExpand,\n onFocus: _ctx.handleHoverExpand,\n onClick: _ctx.handleClick\n }, [createCommentVNode(\" prefix \"), _ctx.multiple ? (openBlock(), createBlock(_component_el_checkbox, {\n key: 0,\n \"model-value\": _ctx.node.checked,\n indeterminate: _ctx.node.indeterminate,\n disabled: _ctx.isDisabled,\n onClick: withModifiers(() => {}, [\"stop\"]),\n \"onUpdate:modelValue\": _ctx.handleSelectCheck\n }, null, 8, [\"model-value\", \"indeterminate\", \"disabled\", \"onClick\", \"onUpdate:modelValue\"])) : _ctx.checkStrictly ? (openBlock(), createBlock(_component_el_radio, {\n key: 1,\n \"model-value\": _ctx.checkedNodeId,\n label: _ctx.node.uid,\n disabled: _ctx.isDisabled,\n \"onUpdate:modelValue\": _ctx.handleSelectCheck,\n onClick: withModifiers(() => {}, [\"stop\"])\n }, {\n default: withCtx(() => [createCommentVNode(\"\\n Add an empty element to avoid render label,\\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\\n \"), createElementVNode(\"span\")]),\n _: 1\n }, 8, [\"model-value\", \"label\", \"disabled\", \"onUpdate:modelValue\", \"onClick\"])) : _ctx.isLeaf && _ctx.node.checked ? (openBlock(), createBlock(_component_el_icon, {\n key: 2,\n class: normalizeClass(_ctx.ns.e(\"prefix\"))\n }, {\n default: withCtx(() => [createVNode(_component_check)]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true), createCommentVNode(\" content \"), createVNode(_component_node_content), createCommentVNode(\" postfix \"), !_ctx.isLeaf ? (openBlock(), createElementBlock(Fragment, {\n key: 3\n }, [_ctx.node.loading ? (openBlock(), createBlock(_component_el_icon, {\n key: 0,\n class: normalizeClass([_ctx.ns.is(\"loading\"), _ctx.ns.e(\"postfix\")])\n }, {\n default: withCtx(() => [createVNode(_component_loading)]),\n _: 1\n }, 8, [\"class\"])) : (openBlock(), createBlock(_component_el_icon, {\n key: 1,\n class: normalizeClass([\"arrow-right\", _ctx.ns.e(\"postfix\")])\n }, {\n default: withCtx(() => [createVNode(_component_arrow_right)]),\n _: 1\n }, 8, [\"class\"]))], 64)) : createCommentVNode(\"v-if\", true)], 42, [\"id\", \"aria-haspopup\", \"aria-owns\", \"aria-expanded\", \"tabindex\", \"onMouseenter\", \"onFocus\", \"onClick\"]);\n}\nvar ElCascaderNode = /* @__PURE__ */_export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"node.vue\"]]);\nexport { ElCascaderNode as default };","map":{"version":3,"names":["_sfc_main","defineComponent","name","components","ElCheckbox","ElRadio","NodeContent","ElIcon","Check","Loading","ArrowRight","props","node","type","Object","required","menuId","String","emits","setup","emit","panel","inject","CASCADER_PANEL_INJECTION_KEY","ns","useNamespace","isHoverMenu","computed","multiple","config","checkStrictly","checkedNodeId","_a","checkedNodes","uid","isDisabled","isLeaf","expandable","value","inExpandingPath","isInPath","expandingNode","inCheckedPath","some","level","pathNodes","doExpand","expandNode","doCheck","checked","handleCheckChange","doLoad","lazyLoad","handleHoverExpand","e","handleExpand","loading","loaded","handleClick","handleCheck","handleSelectCheck","resolveComponent","_component_check","_component_el_icon","_component_node_content","_component_loading","_component_arrow_right","openBlock","createElementBlock","id","_ctx","role","tabindex","class","normalizeClass","b","is","onMouseenter","onFocus","onClick","createCommentVNode","createBlock","_component_el_checkbox","key","indeterminate","disabled","withModifiers","_component_el_radio","createElementVNode","createVNode","_","Fragment","default","withCtx"],"sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f46a07e2087b2d991beb1e3ad67e6d4aee13a49952ea378517f97ae62ddb06f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f46a07e2087b2d991beb1e3ad67e6d4aee13a49952ea378517f97ae62ddb06f.json new file mode 100644 index 00000000..090c460b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f46a07e2087b2d991beb1e3ad67e6d4aee13a49952ea378517f97ae62ddb06f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getWrapDetails from './_getWrapDetails.js';\nimport insertWrapDetails from './_insertWrapDetails.js';\nimport setToString from './_setToString.js';\nimport updateWrapDetails from './_updateWrapDetails.js';\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = reference + '';\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\nexport default setWrapToString;","map":{"version":3,"names":["getWrapDetails","insertWrapDetails","setToString","updateWrapDetails","setWrapToString","wrapper","reference","bitmask","source"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_setWrapToString.js"],"sourcesContent":["import getWrapDetails from './_getWrapDetails.js';\nimport insertWrapDetails from './_insertWrapDetails.js';\nimport setToString from './_setToString.js';\nimport updateWrapDetails from './_updateWrapDetails.js';\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\n\nexport default setWrapToString;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,sBAAsB;AACjD,OAAOC,iBAAiB,MAAM,yBAAyB;AACvD,OAAOC,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,iBAAiB,MAAM,yBAAyB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,OAAO,EAAEC,SAAS,EAAEC,OAAO,EAAE;EACpD,IAAIC,MAAM,GAAIF,SAAS,GAAG,EAAG;EAC7B,OAAOJ,WAAW,CAACG,OAAO,EAAEJ,iBAAiB,CAACO,MAAM,EAAEL,iBAAiB,CAACH,cAAc,CAACQ,MAAM,CAAC,EAAED,OAAO,CAAC,CAAC,CAAC;AAC5G;AAEA,eAAeH,eAAe","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f72b90f0e2934e954d4fd92cb79a1acfdf8fb661577f05a8c7bbe7379200704.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f72b90f0e2934e954d4fd92cb79a1acfdf8fb661577f05a8c7bbe7379200704.json new file mode 100644 index 00000000..dc1a28b0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f72b90f0e2934e954d4fd92cb79a1acfdf8fb661577f05a8c7bbe7379200704.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\nexport default arrayAggregator;","map":{"version":3,"names":["arrayAggregator","array","setter","iteratee","accumulator","index","length","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_arrayAggregator.js"],"sourcesContent":["/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nexport default arrayAggregator;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,eAAeA,CAACC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,EAAE;EAC7D,IAAIC,KAAK,GAAG,CAAC,CAAC;IACVC,MAAM,GAAGL,KAAK,IAAI,IAAI,GAAG,CAAC,GAAGA,KAAK,CAACK,MAAM;EAE7C,OAAO,EAAED,KAAK,GAAGC,MAAM,EAAE;IACvB,IAAIC,KAAK,GAAGN,KAAK,CAACI,KAAK,CAAC;IACxBH,MAAM,CAACE,WAAW,EAAEG,KAAK,EAAEJ,QAAQ,CAACI,KAAK,CAAC,EAAEN,KAAK,CAAC;EACpD;EACA,OAAOG,WAAW;AACpB;AAEA,eAAeJ,eAAe","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f76b2f6608638ce3602bb2dd3cc5d6c7467e1b0506d03c326d4b3cf220427a5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f76b2f6608638ce3602bb2dd3cc5d6c7467e1b0506d03c326d4b3cf220427a5.json new file mode 100644 index 00000000..55c2e32a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1f76b2f6608638ce3602bb2dd3cc5d6c7467e1b0506d03c326d4b3cf220427a5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { isNumber } from '../../../utils/types.mjs';\nconst carouselProps = buildProps({\n initialIndex: {\n type: Number,\n default: 0\n },\n height: {\n type: String,\n default: \"\"\n },\n trigger: {\n type: String,\n values: [\"hover\", \"click\"],\n default: \"hover\"\n },\n autoplay: {\n type: Boolean,\n default: true\n },\n interval: {\n type: Number,\n default: 3e3\n },\n indicatorPosition: {\n type: String,\n values: [\"\", \"none\", \"outside\"],\n default: \"\"\n },\n arrow: {\n type: String,\n values: [\"always\", \"hover\", \"never\"],\n default: \"hover\"\n },\n type: {\n type: String,\n values: [\"\", \"card\"],\n default: \"\"\n },\n cardScale: {\n type: Number,\n default: 0.83\n },\n loop: {\n type: Boolean,\n default: true\n },\n direction: {\n type: String,\n values: [\"horizontal\", \"vertical\"],\n default: \"horizontal\"\n },\n pauseOnHover: {\n type: Boolean,\n default: true\n },\n motionBlur: Boolean\n});\nconst carouselEmits = {\n change: (current, prev) => [current, prev].every(isNumber)\n};\nexport { carouselEmits, carouselProps };","map":{"version":3,"names":["carouselProps","buildProps","initialIndex","type","Number","default","height","String","trigger","values","autoplay","Boolean","interval","indicatorPosition","arrow","cardScale","loop","direction","pauseOnHover","motionBlur","carouselEmits","change","current","prev","every","isNumber"],"sources":["../../../../../../packages/components/carousel/src/carousel.ts"],"sourcesContent":["import { buildProps, isNumber } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const carouselProps = buildProps({\n /**\n * @description index of the initially active slide (starting from 0)\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description height of the carousel\n */\n height: {\n type: String,\n default: '',\n },\n /**\n * @description how indicators are triggered\n */\n trigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n /**\n * @description whether automatically loop the slides\n */\n autoplay: {\n type: Boolean,\n default: true,\n },\n /**\n * @description interval of the auto loop, in milliseconds\n */\n interval: {\n type: Number,\n default: 3000,\n },\n /**\n * @description position of the indicators\n */\n indicatorPosition: {\n type: String,\n values: ['', 'none', 'outside'],\n default: '',\n },\n /**\n * @description when arrows are shown\n */\n arrow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: 'hover',\n },\n /**\n * @description type of the Carousel\n */\n type: {\n type: String,\n values: ['', 'card'],\n default: '',\n },\n /**\n * @description when type is card, scaled size of secondary cards\n */\n cardScale: {\n type: Number,\n default: 0.83,\n },\n /**\n * @description display the items in loop\n */\n loop: {\n type: Boolean,\n default: true,\n },\n /**\n * @description display direction\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description pause autoplay when hover\n */\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n /**\n * @description infuse dynamism and smoothness into the carousel\n */\n motionBlur: Boolean,\n} as const)\n\nexport const carouselEmits = {\n /**\n * @description triggers when the active slide switches\n * @param current index of the new active slide\n * @param prev index of the old active slide\n */\n change: (current: number, prev: number) => [current, prev].every(isNumber),\n}\n\nexport type CarouselProps = ExtractPropTypes\nexport type CarouselEmits = typeof carouselEmits\n"],"mappings":";;AACY,MAACA,aAAa,GAAGC,UAAU,CAAC;EACtCC,YAAY,EAAE;IACZC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDC,MAAM,EAAE;IACNH,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACb,CAAG;EACDG,OAAO,EAAE;IACPL,IAAI,EAAEI,MAAM;IACZE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1BJ,OAAO,EAAE;EACb,CAAG;EACDK,QAAQ,EAAE;IACRP,IAAI,EAAEQ,OAAO;IACbN,OAAO,EAAE;EACb,CAAG;EACDO,QAAQ,EAAE;IACRT,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDQ,iBAAiB,EAAE;IACjBV,IAAI,EAAEI,MAAM;IACZE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC;IAC/BJ,OAAO,EAAE;EACb,CAAG;EACDS,KAAK,EAAE;IACLX,IAAI,EAAEI,MAAM;IACZE,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;IACpCJ,OAAO,EAAE;EACb,CAAG;EACDF,IAAI,EAAE;IACJA,IAAI,EAAEI,MAAM;IACZE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;IACpBJ,OAAO,EAAE;EACb,CAAG;EACDU,SAAS,EAAE;IACTZ,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDW,IAAI,EAAE;IACJb,IAAI,EAAEQ,OAAO;IACbN,OAAO,EAAE;EACb,CAAG;EACDY,SAAS,EAAE;IACTd,IAAI,EAAEI,MAAM;IACZE,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;IAClCJ,OAAO,EAAE;EACb,CAAG;EACDa,YAAY,EAAE;IACZf,IAAI,EAAEQ,OAAO;IACbN,OAAO,EAAE;EACb,CAAG;EACDc,UAAU,EAAER;AACd,CAAC;AACW,MAACS,aAAa,GAAG;EAC3BC,MAAM,EAAEA,CAACC,OAAO,EAAEC,IAAI,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC,CAACC,KAAK,CAACC,QAAQ;AAC3D","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1fcd6a1f87cae4b07fbc4e733019f386e3ad24d822a91402e79f4ccd17f105bc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1fcd6a1f87cae4b07fbc4e733019f386e3ad24d822a91402e79f4ccd17f105bc.json new file mode 100644 index 00000000..4c789606 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1fcd6a1f87cae4b07fbc4e733019f386e3ad24d822a91402e79f4ccd17f105bc.json @@ -0,0 +1 @@ +{"ast":null,"code":"!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_advancedFormat = t();\n}(this, function () {\n \"use strict\";\n\n return function (e, t) {\n var r = t.prototype,\n n = r.format;\n r.format = function (e) {\n var t = this,\n r = this.$locale();\n if (!this.isValid()) return n.bind(this)(e);\n var s = this.$utils(),\n a = (e || \"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function (e) {\n switch (e) {\n case \"Q\":\n return Math.ceil((t.$M + 1) / 3);\n case \"Do\":\n return r.ordinal(t.$D);\n case \"gggg\":\n return t.weekYear();\n case \"GGGG\":\n return t.isoWeekYear();\n case \"wo\":\n return r.ordinal(t.week(), \"W\");\n case \"w\":\n case \"ww\":\n return s.s(t.week(), \"w\" === e ? 1 : 2, \"0\");\n case \"W\":\n case \"WW\":\n return s.s(t.isoWeek(), \"W\" === e ? 1 : 2, \"0\");\n case \"k\":\n case \"kk\":\n return s.s(String(0 === t.$H ? 24 : t.$H), \"k\" === e ? 1 : 2, \"0\");\n case \"X\":\n return Math.floor(t.$d.getTime() / 1e3);\n case \"x\":\n return t.$d.getTime();\n case \"z\":\n return \"[\" + t.offsetName() + \"]\";\n case \"zzz\":\n return \"[\" + t.offsetName(\"long\") + \"]\";\n default:\n return e;\n }\n });\n return n.bind(this)(a);\n };\n };\n});","map":{"version":3,"names":["e","t","exports","module","define","amd","globalThis","self","dayjs_plugin_advancedFormat","r","prototype","n","format","$locale","isValid","bind","s","$utils","a","replace","Math","ceil","$M","ordinal","$D","weekYear","isoWeekYear","week","isoWeek","String","$H","floor","$d","getTime","offsetName"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/dayjs/plugin/advancedFormat.js"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/203019aeb8d897e322a071d3406e39ed1ca37f06d81f6dbc9afdcbbd05cba786.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/203019aeb8d897e322a071d3406e39ed1ca37f06d81f6dbc9afdcbbd05cba786.json new file mode 100644 index 00000000..624c329a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/203019aeb8d897e322a071d3406e39ed1ca37f06d81f6dbc9afdcbbd05cba786.json @@ -0,0 +1 @@ +{"ast":null,"code":"import countBy from './countBy.js';\nimport each from './each.js';\nimport eachRight from './eachRight.js';\nimport every from './every.js';\nimport filter from './filter.js';\nimport find from './find.js';\nimport findLast from './findLast.js';\nimport flatMap from './flatMap.js';\nimport flatMapDeep from './flatMapDeep.js';\nimport flatMapDepth from './flatMapDepth.js';\nimport forEach from './forEach.js';\nimport forEachRight from './forEachRight.js';\nimport groupBy from './groupBy.js';\nimport includes from './includes.js';\nimport invokeMap from './invokeMap.js';\nimport keyBy from './keyBy.js';\nimport map from './map.js';\nimport orderBy from './orderBy.js';\nimport partition from './partition.js';\nimport reduce from './reduce.js';\nimport reduceRight from './reduceRight.js';\nimport reject from './reject.js';\nimport sample from './sample.js';\nimport sampleSize from './sampleSize.js';\nimport shuffle from './shuffle.js';\nimport size from './size.js';\nimport some from './some.js';\nimport sortBy from './sortBy.js';\nexport default {\n countBy,\n each,\n eachRight,\n every,\n filter,\n find,\n findLast,\n flatMap,\n flatMapDeep,\n flatMapDepth,\n forEach,\n forEachRight,\n groupBy,\n includes,\n invokeMap,\n keyBy,\n map,\n orderBy,\n partition,\n reduce,\n reduceRight,\n reject,\n sample,\n sampleSize,\n shuffle,\n size,\n some,\n sortBy\n};","map":{"version":3,"names":["countBy","each","eachRight","every","filter","find","findLast","flatMap","flatMapDeep","flatMapDepth","forEach","forEachRight","groupBy","includes","invokeMap","keyBy","map","orderBy","partition","reduce","reduceRight","reject","sample","sampleSize","shuffle","size","some","sortBy"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/collection.default.js"],"sourcesContent":["import countBy from './countBy.js';\nimport each from './each.js';\nimport eachRight from './eachRight.js';\nimport every from './every.js';\nimport filter from './filter.js';\nimport find from './find.js';\nimport findLast from './findLast.js';\nimport flatMap from './flatMap.js';\nimport flatMapDeep from './flatMapDeep.js';\nimport flatMapDepth from './flatMapDepth.js';\nimport forEach from './forEach.js';\nimport forEachRight from './forEachRight.js';\nimport groupBy from './groupBy.js';\nimport includes from './includes.js';\nimport invokeMap from './invokeMap.js';\nimport keyBy from './keyBy.js';\nimport map from './map.js';\nimport orderBy from './orderBy.js';\nimport partition from './partition.js';\nimport reduce from './reduce.js';\nimport reduceRight from './reduceRight.js';\nimport reject from './reject.js';\nimport sample from './sample.js';\nimport sampleSize from './sampleSize.js';\nimport shuffle from './shuffle.js';\nimport size from './size.js';\nimport some from './some.js';\nimport sortBy from './sortBy.js';\n\nexport default {\n countBy, each, eachRight, every, filter,\n find, findLast, flatMap, flatMapDeep, flatMapDepth,\n forEach, forEachRight, groupBy, includes, invokeMap,\n keyBy, map, orderBy, partition, reduce,\n reduceRight, reject, sample, sampleSize, shuffle,\n size, some, sortBy\n};\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,cAAc;AAClC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAOC,SAAS,MAAM,gBAAgB;AACtC,OAAOC,KAAK,MAAM,YAAY;AAC9B,OAAOC,MAAM,MAAM,aAAa;AAChC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAOC,QAAQ,MAAM,eAAe;AACpC,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,WAAW,MAAM,kBAAkB;AAC1C,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,QAAQ,MAAM,eAAe;AACpC,OAAOC,SAAS,MAAM,gBAAgB;AACtC,OAAOC,KAAK,MAAM,YAAY;AAC9B,OAAOC,GAAG,MAAM,UAAU;AAC1B,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,SAAS,MAAM,gBAAgB;AACtC,OAAOC,MAAM,MAAM,aAAa;AAChC,OAAOC,WAAW,MAAM,kBAAkB;AAC1C,OAAOC,MAAM,MAAM,aAAa;AAChC,OAAOC,MAAM,MAAM,aAAa;AAChC,OAAOC,UAAU,MAAM,iBAAiB;AACxC,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAOC,MAAM,MAAM,aAAa;AAEhC,eAAe;EACb3B,OAAO;EAAEC,IAAI;EAAEC,SAAS;EAAEC,KAAK;EAAEC,MAAM;EACvCC,IAAI;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,WAAW;EAAEC,YAAY;EAClDC,OAAO;EAAEC,YAAY;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EACnDC,KAAK;EAAEC,GAAG;EAAEC,OAAO;EAAEC,SAAS;EAAEC,MAAM;EACtCC,WAAW;EAAEC,MAAM;EAAEC,MAAM;EAAEC,UAAU;EAAEC,OAAO;EAChDC,IAAI;EAAEC,IAAI;EAAEC;AACd,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2061cbe48a35c522a91a17e7ef6fc68d8f7e8dd7d4ab66f91a4c1f585f1be66f.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2061cbe48a35c522a91a17e7ef6fc68d8f7e8dd7d4ab66f91a4c1f585f1be66f.json new file mode 100644 index 00000000..384586ef --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2061cbe48a35c522a91a17e7ef6fc68d8f7e8dd7d4ab66f91a4c1f585f1be66f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_table = _resolveComponent(\"el-table\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createBlock(_component_el_card, null, {\n default: _withCtx(() => [_cache[0] || (_cache[0] = _createElementVNode(\"h2\", null, \"通信状态监控\", -1 /* HOISTED */)), _createVNode(_component_el_table, {\n data: $data.drones,\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"name\",\n label: \"无人机\"\n }), _createVNode(_component_el_table_column, {\n prop: \"status\",\n label: \"连接状态\"\n }), _createVNode(_component_el_table_column, {\n prop: \"last_heartbeat_at\",\n label: \"最后更新时间\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"data\"])]),\n _: 1 /* STABLE */,\n __: [0]\n });\n}","map":{"version":3,"names":["_createBlock","_component_el_card","_createElementVNode","_createVNode","_component_el_table","data","$data","drones","style","_component_el_table_column","prop","label"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\CommStatusView.vue"],"sourcesContent":["\r\n "],"mappings":";;;;;uBACEA,YAAA,CAOUC,kBAAA;sBANR,MAAe,C,0BAAfC,mBAAA,CAAe,YAAX,QAAM,sBACVC,YAAA,CAIWC,mBAAA;MAJAC,IAAI,EAAEC,KAAA,CAAAC,MAAM;MAAEC,KAAmB,EAAnB;QAAA;MAAA;;wBACvB,MAA2C,CAA3CL,YAAA,CAA2CM,0BAAA;QAA1BC,IAAI,EAAC,MAAM;QAACC,KAAK,EAAC;UACnCR,YAAA,CAA8CM,0BAAA;QAA7BC,IAAI,EAAC,QAAQ;QAACC,KAAK,EAAC;UACrCR,YAAA,CAA2DM,0BAAA;QAA1CC,IAAI,EAAC,mBAAmB;QAACC,KAAK,EAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2063c172819268f5762e8516d8ea47197211e7a3481c9cc0d966d293729b16a7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2063c172819268f5762e8516d8ea47197211e7a3481c9cc0d966d293729b16a7.json new file mode 100644 index 00000000..ad65126a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2063c172819268f5762e8516d8ea47197211e7a3481c9cc0d966d293729b16a7.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = ansiHTML;\n\n// Reference to https://github.com/sindresorhus/ansi-regex\nvar _regANSI = /(?:(?:\\u001b\\[)|\\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\\u001b[A-M]/;\nvar _defColors = {\n reset: ['fff', '000'],\n // [FOREGROUD_COLOR, BACKGROUND_COLOR]\n black: '000',\n red: 'ff0000',\n green: '209805',\n yellow: 'e8bf03',\n blue: '0000ff',\n magenta: 'ff00ff',\n cyan: '00ffee',\n lightgrey: 'f0f0f0',\n darkgrey: '888'\n};\nvar _styles = {\n 30: 'black',\n 31: 'red',\n 32: 'green',\n 33: 'yellow',\n 34: 'blue',\n 35: 'magenta',\n 36: 'cyan',\n 37: 'lightgrey'\n};\nvar _openTags = {\n '1': 'font-weight:bold',\n // bold\n '2': 'opacity:0.5',\n // dim\n '3': '',\n // italic\n '4': '',\n // underscore\n '8': 'display:none',\n // hidden\n '9': '' // delete\n};\nvar _closeTags = {\n '23': '',\n // reset italic\n '24': '',\n // reset underscore\n '29': '' // reset delete\n};\n[0, 21, 22, 27, 28, 39, 49].forEach(function (n) {\n _closeTags[n] = '';\n});\n\n/**\n * Converts text with ANSI color codes to HTML markup.\n * @param {String} text\n * @returns {*}\n */\nfunction ansiHTML(text) {\n // Returns the text if the string has no ANSI escape code.\n if (!_regANSI.test(text)) {\n return text;\n }\n\n // Cache opened sequence.\n var ansiCodes = [];\n // Replace with markup.\n var ret = text.replace(/\\033\\[(\\d+)m/g, function (match, seq) {\n var ot = _openTags[seq];\n if (ot) {\n // If current sequence has been opened, close it.\n if (!!~ansiCodes.indexOf(seq)) {\n // eslint-disable-line no-extra-boolean-cast\n ansiCodes.pop();\n return '';\n }\n // Open tag.\n ansiCodes.push(seq);\n return ot[0] === '<' ? ot : '';\n }\n var ct = _closeTags[seq];\n if (ct) {\n // Pop sequence\n ansiCodes.pop();\n return ct;\n }\n return '';\n });\n\n // Make sure tags are closed.\n var l = ansiCodes.length;\n l > 0 && (ret += Array(l + 1).join(''));\n return ret;\n}\n\n/**\n * Customize colors.\n * @param {Object} colors reference to _defColors\n */\nansiHTML.setColors = function (colors) {\n if (typeof colors !== 'object') {\n throw new Error('`colors` parameter must be an Object.');\n }\n var _finalColors = {};\n for (var key in _defColors) {\n var hex = colors.hasOwnProperty(key) ? colors[key] : null;\n if (!hex) {\n _finalColors[key] = _defColors[key];\n continue;\n }\n if ('reset' === key) {\n if (typeof hex === 'string') {\n hex = [hex];\n }\n if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) {\n return typeof h !== 'string';\n })) {\n throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000');\n }\n var defHexColor = _defColors[key];\n if (!hex[0]) {\n hex[0] = defHexColor[0];\n }\n if (hex.length === 1 || !hex[1]) {\n hex = [hex[0]];\n hex.push(defHexColor[1]);\n }\n hex = hex.slice(0, 2);\n } else if (typeof hex !== 'string') {\n throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000');\n }\n _finalColors[key] = hex;\n }\n _setTags(_finalColors);\n};\n\n/**\n * Reset colors.\n */\nansiHTML.reset = function () {\n _setTags(_defColors);\n};\n\n/**\n * Expose tags, including open and close.\n * @type {Object}\n */\nansiHTML.tags = {};\nif (Object.defineProperty) {\n Object.defineProperty(ansiHTML.tags, 'open', {\n get: function () {\n return _openTags;\n }\n });\n Object.defineProperty(ansiHTML.tags, 'close', {\n get: function () {\n return _closeTags;\n }\n });\n} else {\n ansiHTML.tags.open = _openTags;\n ansiHTML.tags.close = _closeTags;\n}\nfunction _setTags(colors) {\n // reset all\n _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1];\n // inverse\n _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0];\n // dark grey\n _openTags['90'] = 'color:#' + colors.darkgrey;\n for (var code in _styles) {\n var color = _styles[code];\n var oriColor = colors[color] || '000';\n _openTags[code] = 'color:#' + oriColor;\n code = parseInt(code);\n _openTags[(code + 10).toString()] = 'background:#' + oriColor;\n }\n}\nansiHTML.reset();","map":{"version":3,"names":["module","exports","ansiHTML","_regANSI","_defColors","reset","black","red","green","yellow","blue","magenta","cyan","lightgrey","darkgrey","_styles","_openTags","_closeTags","forEach","n","text","test","ansiCodes","ret","replace","match","seq","ot","indexOf","pop","push","ct","l","length","Array","join","setColors","colors","Error","_finalColors","key","hex","hasOwnProperty","isArray","some","h","defHexColor","slice","_setTags","tags","Object","defineProperty","get","open","close","code","color","oriColor","parseInt","toString"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/ansi-html-community/index.js"],"sourcesContent":["'use strict'\n\nmodule.exports = ansiHTML\n\n// Reference to https://github.com/sindresorhus/ansi-regex\nvar _regANSI = /(?:(?:\\u001b\\[)|\\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\\u001b[A-M]/\n\nvar _defColors = {\n reset: ['fff', '000'], // [FOREGROUD_COLOR, BACKGROUND_COLOR]\n black: '000',\n red: 'ff0000',\n green: '209805',\n yellow: 'e8bf03',\n blue: '0000ff',\n magenta: 'ff00ff',\n cyan: '00ffee',\n lightgrey: 'f0f0f0',\n darkgrey: '888'\n}\nvar _styles = {\n 30: 'black',\n 31: 'red',\n 32: 'green',\n 33: 'yellow',\n 34: 'blue',\n 35: 'magenta',\n 36: 'cyan',\n 37: 'lightgrey'\n}\nvar _openTags = {\n '1': 'font-weight:bold', // bold\n '2': 'opacity:0.5', // dim\n '3': '', // italic\n '4': '', // underscore\n '8': 'display:none', // hidden\n '9': '' // delete\n}\nvar _closeTags = {\n '23': '', // reset italic\n '24': '', // reset underscore\n '29': '' // reset delete\n}\n\n;[0, 21, 22, 27, 28, 39, 49].forEach(function (n) {\n _closeTags[n] = ''\n})\n\n/**\n * Converts text with ANSI color codes to HTML markup.\n * @param {String} text\n * @returns {*}\n */\nfunction ansiHTML (text) {\n // Returns the text if the string has no ANSI escape code.\n if (!_regANSI.test(text)) {\n return text\n }\n\n // Cache opened sequence.\n var ansiCodes = []\n // Replace with markup.\n var ret = text.replace(/\\033\\[(\\d+)m/g, function (match, seq) {\n var ot = _openTags[seq]\n if (ot) {\n // If current sequence has been opened, close it.\n if (!!~ansiCodes.indexOf(seq)) { // eslint-disable-line no-extra-boolean-cast\n ansiCodes.pop()\n return ''\n }\n // Open tag.\n ansiCodes.push(seq)\n return ot[0] === '<' ? ot : ''\n }\n\n var ct = _closeTags[seq]\n if (ct) {\n // Pop sequence\n ansiCodes.pop()\n return ct\n }\n return ''\n })\n\n // Make sure tags are closed.\n var l = ansiCodes.length\n ;(l > 0) && (ret += Array(l + 1).join(''))\n\n return ret\n}\n\n/**\n * Customize colors.\n * @param {Object} colors reference to _defColors\n */\nansiHTML.setColors = function (colors) {\n if (typeof colors !== 'object') {\n throw new Error('`colors` parameter must be an Object.')\n }\n\n var _finalColors = {}\n for (var key in _defColors) {\n var hex = colors.hasOwnProperty(key) ? colors[key] : null\n if (!hex) {\n _finalColors[key] = _defColors[key]\n continue\n }\n if ('reset' === key) {\n if (typeof hex === 'string') {\n hex = [hex]\n }\n if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) {\n return typeof h !== 'string'\n })) {\n throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000')\n }\n var defHexColor = _defColors[key]\n if (!hex[0]) {\n hex[0] = defHexColor[0]\n }\n if (hex.length === 1 || !hex[1]) {\n hex = [hex[0]]\n hex.push(defHexColor[1])\n }\n\n hex = hex.slice(0, 2)\n } else if (typeof hex !== 'string') {\n throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000')\n }\n _finalColors[key] = hex\n }\n _setTags(_finalColors)\n}\n\n/**\n * Reset colors.\n */\nansiHTML.reset = function () {\n _setTags(_defColors)\n}\n\n/**\n * Expose tags, including open and close.\n * @type {Object}\n */\nansiHTML.tags = {}\n\nif (Object.defineProperty) {\n Object.defineProperty(ansiHTML.tags, 'open', {\n get: function () { return _openTags }\n })\n Object.defineProperty(ansiHTML.tags, 'close', {\n get: function () { return _closeTags }\n })\n} else {\n ansiHTML.tags.open = _openTags\n ansiHTML.tags.close = _closeTags\n}\n\nfunction _setTags (colors) {\n // reset all\n _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1]\n // inverse\n _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0]\n // dark grey\n _openTags['90'] = 'color:#' + colors.darkgrey\n\n for (var code in _styles) {\n var color = _styles[code]\n var oriColor = colors[color] || '000'\n _openTags[code] = 'color:#' + oriColor\n code = parseInt(code)\n _openTags[(code + 10).toString()] = 'background:#' + oriColor\n }\n}\n\nansiHTML.reset()\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20706230af7556cf4d0a423cb6982920a751b9a60c6cf64dc6c589dcd92af60c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20706230af7556cf4d0a423cb6982920a751b9a60c6cf64dc6c589dcd92af60c.json new file mode 100644 index 00000000..0dd131a9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20706230af7556cf4d0a423cb6982920a751b9a60c6cf64dc6c589dcd92af60c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, nextTick } from 'vue';\nimport { useEventListener } from '@vueuse/core';\nimport { isArray } from '@vue/shared';\nimport { isNumber } from '../../../../utils/types.mjs';\nconst useLifecycle = (props, initData, resetSize) => {\n const sliderWrapper = ref();\n onMounted(async () => {\n if (props.range) {\n if (isArray(props.modelValue)) {\n initData.firstValue = Math.max(props.min, props.modelValue[0]);\n initData.secondValue = Math.min(props.max, props.modelValue[1]);\n } else {\n initData.firstValue = props.min;\n initData.secondValue = props.max;\n }\n initData.oldValue = [initData.firstValue, initData.secondValue];\n } else {\n if (!isNumber(props.modelValue) || Number.isNaN(props.modelValue)) {\n initData.firstValue = props.min;\n } else {\n initData.firstValue = Math.min(props.max, Math.max(props.min, props.modelValue));\n }\n initData.oldValue = initData.firstValue;\n }\n useEventListener(window, \"resize\", resetSize);\n await nextTick();\n resetSize();\n });\n return {\n sliderWrapper\n };\n};\nexport { useLifecycle };","map":{"version":3,"names":["useLifecycle","props","initData","resetSize","sliderWrapper","ref","onMounted","range","isArray","modelValue","firstValue","Math","max","min","secondValue","oldValue","isNumber","Number","isNaN","useEventListener","window","nextTick"],"sources":["../../../../../../../packages/components/slider/src/composables/use-lifecycle.ts"],"sourcesContent":["import { nextTick, onMounted, ref } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isArray, isNumber } from '@element-plus/utils'\nimport type { SliderInitData, SliderProps } from '../slider'\n\nexport const useLifecycle = (\n props: SliderProps,\n initData: SliderInitData,\n resetSize: () => void\n) => {\n const sliderWrapper = ref()\n\n onMounted(async () => {\n if (props.range) {\n if (isArray(props.modelValue)) {\n initData.firstValue = Math.max(props.min, props.modelValue[0])\n initData.secondValue = Math.min(props.max, props.modelValue[1])\n } else {\n initData.firstValue = props.min\n initData.secondValue = props.max\n }\n initData.oldValue = [initData.firstValue, initData.secondValue]\n } else {\n if (!isNumber(props.modelValue) || Number.isNaN(props.modelValue)) {\n initData.firstValue = props.min\n } else {\n initData.firstValue = Math.min(\n props.max,\n Math.max(props.min, props.modelValue)\n )\n }\n initData.oldValue = initData.firstValue\n }\n\n useEventListener(window, 'resize', resetSize)\n\n await nextTick()\n resetSize()\n })\n\n return {\n sliderWrapper,\n }\n}\n"],"mappings":";;;;AAGY,MAACA,YAAY,GAAGA,CAACC,KAAK,EAAEC,QAAQ,EAAEC,SAAS,KAAK;EAC1D,MAAMC,aAAa,GAAGC,GAAG,EAAE;EAC3BC,SAAS,CAAC,YAAY;IACpB,IAAIL,KAAK,CAACM,KAAK,EAAE;MACf,IAAIC,OAAO,CAACP,KAAK,CAACQ,UAAU,CAAC,EAAE;QAC7BP,QAAQ,CAACQ,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACX,KAAK,CAACY,GAAG,EAAEZ,KAAK,CAACQ,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9DP,QAAQ,CAACY,WAAW,GAAGH,IAAI,CAACE,GAAG,CAACZ,KAAK,CAACW,GAAG,EAAEX,KAAK,CAACQ,UAAU,CAAC,CAAC,CAAC,CAAC;MACvE,CAAO,MAAM;QACLP,QAAQ,CAACQ,UAAU,GAAGT,KAAK,CAACY,GAAG;QAC/BX,QAAQ,CAACY,WAAW,GAAGb,KAAK,CAACW,GAAG;MACxC;MACMV,QAAQ,CAACa,QAAQ,GAAG,CAACb,QAAQ,CAACQ,UAAU,EAAER,QAAQ,CAACY,WAAW,CAAC;IACrE,CAAK,MAAM;MACL,IAAI,CAACE,QAAQ,CAACf,KAAK,CAACQ,UAAU,CAAC,IAAIQ,MAAM,CAACC,KAAK,CAACjB,KAAK,CAACQ,UAAU,CAAC,EAAE;QACjEP,QAAQ,CAACQ,UAAU,GAAGT,KAAK,CAACY,GAAG;MACvC,CAAO,MAAM;QACLX,QAAQ,CAACQ,UAAU,GAAGC,IAAI,CAACE,GAAG,CAACZ,KAAK,CAACW,GAAG,EAAED,IAAI,CAACC,GAAG,CAACX,KAAK,CAACY,GAAG,EAAEZ,KAAK,CAACQ,UAAU,CAAC,CAAC;MACxF;MACMP,QAAQ,CAACa,QAAQ,GAAGb,QAAQ,CAACQ,UAAU;IAC7C;IACIS,gBAAgB,CAACC,MAAM,EAAE,QAAQ,EAAEjB,SAAS,CAAC;IAC7C,MAAMkB,QAAQ,EAAE;IAChBlB,SAAS,EAAE;EACf,CAAG,CAAC;EACF,OAAO;IACLC;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20bd087f276c61e4b36372412be9a0f06ac8a9c5936f3c7806d8b451a35acba3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20bd087f276c61e4b36372412be9a0f06ac8a9c5936f3c7806d8b451a35acba3.json new file mode 100644 index 00000000..f1c4c082 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20bd087f276c61e4b36372412be9a0f06ac8a9c5936f3c7806d8b451a35acba3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n baseEach(collection, function (value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\nexport default baseMap;","map":{"version":3,"names":["baseEach","isArrayLike","baseMap","collection","iteratee","index","result","Array","length","value","key"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseMap.js"],"sourcesContent":["import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,WAAW,MAAM,kBAAkB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,UAAU,EAAEC,QAAQ,EAAE;EACrC,IAAIC,KAAK,GAAG,CAAC,CAAC;IACVC,MAAM,GAAGL,WAAW,CAACE,UAAU,CAAC,GAAGI,KAAK,CAACJ,UAAU,CAACK,MAAM,CAAC,GAAG,EAAE;EAEpER,QAAQ,CAACG,UAAU,EAAE,UAASM,KAAK,EAAEC,GAAG,EAAEP,UAAU,EAAE;IACpDG,MAAM,CAAC,EAAED,KAAK,CAAC,GAAGD,QAAQ,CAACK,KAAK,EAAEC,GAAG,EAAEP,UAAU,CAAC;EACpD,CAAC,CAAC;EACF,OAAOG,MAAM;AACf;AAEA,eAAeJ,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20c868cbe01e5d069589fbcba9f8ce5ad3657d2f9c78e0356ff8f2c74fbcf479.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20c868cbe01e5d069589fbcba9f8ce5ad3657d2f9c78e0356ff8f2c74fbcf479.json new file mode 100644 index 00000000..263895c4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20c868cbe01e5d069589fbcba9f8ce5ad3657d2f9c78e0356ff8f2c74fbcf479.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, useSlots, computed, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, renderSlot, createCommentVNode, createElementVNode, Fragment, renderList, createBlock, withModifiers, withCtx, createTextVNode, toDisplayString, withDirectives, mergeProps, isRef, vModelText, vShow, createVNode, resolveDynamicComponent } from 'vue';\nimport { CircleClose } from '@element-plus/icons-vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { ElTag } from '../../tag/index.mjs';\nimport { inputTagProps, inputTagEmits } from './input-tag.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useInputTag } from './composables/use-input-tag.mjs';\nimport { useHovering } from './composables/use-hovering.mjs';\nimport { useCalcInputWidth } from '../../../hooks/use-calc-input-width/index.mjs';\nimport { useDragTag } from './composables/use-drag-tag.mjs';\nimport { useInputTagDom } from './composables/use-input-tag-dom.mjs';\nimport { useAttrs } from '../../../hooks/use-attrs/index.mjs';\nimport { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';\nimport { ValidateComponentsMap } from '../../../utils/vue/icon.mjs';\nimport { NOOP } from '@vue/shared';\nconst __default__ = defineComponent({\n name: \"ElInputTag\",\n inheritAttrs: false\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: inputTagProps,\n emits: inputTagEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const attrs = useAttrs();\n const slots = useSlots();\n const {\n form,\n formItem\n } = useFormItem();\n const {\n inputId\n } = useFormItemInputId(props, {\n formItemContext: formItem\n });\n const needStatusIcon = computed(() => {\n var _a;\n return (_a = form == null ? void 0 : form.statusIcon) != null ? _a : false;\n });\n const validateState = computed(() => (formItem == null ? void 0 : formItem.validateState) || \"\");\n const validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value];\n });\n const {\n inputRef,\n wrapperRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n handleDragged,\n handleInput,\n handleKeydown,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur\n } = useInputTag({\n props,\n emit,\n formItem\n });\n const {\n hovering,\n handleMouseEnter,\n handleMouseLeave\n } = useHovering();\n const {\n calculatorRef,\n inputStyle\n } = useCalcInputWidth();\n const {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd\n } = useDragTag({\n wrapperRef,\n handleDragged,\n afterDragged: focus\n });\n const {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix\n } = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon\n });\n expose({\n focus,\n blur\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"wrapperRef\",\n ref: wrapperRef,\n class: normalizeClass(unref(containerKls)),\n style: normalizeStyle(unref(containerStyle)),\n onMouseenter: unref(handleMouseEnter),\n onMouseleave: unref(handleMouseLeave)\n }, [unref(slots).prefix ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"prefix\"))\n }, [renderSlot(_ctx.$slots, \"prefix\")], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n class: normalizeClass(unref(innerKls))\n }, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, (item, index) => {\n return openBlock(), createBlock(unref(ElTag), {\n key: index,\n size: unref(tagSize),\n closable: unref(closable),\n type: _ctx.tagType,\n effect: _ctx.tagEffect,\n draggable: unref(closable) && _ctx.draggable,\n \"disable-transitions\": \"\",\n onClose: $event => unref(handleRemoveTag)(index),\n onDragstart: event => unref(handleDragStart)(event, index),\n onDragover: event => unref(handleDragOver)(event, index),\n onDragend: unref(handleDragEnd),\n onDrop: withModifiers(() => {}, [\"stop\"])\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"tag\", {\n value: item,\n index\n }, () => [createTextVNode(toDisplayString(item), 1)])]),\n _: 2\n }, 1032, [\"size\", \"closable\", \"type\", \"effect\", \"draggable\", \"onClose\", \"onDragstart\", \"onDragover\", \"onDragend\", \"onDrop\"]);\n }), 128)), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"input-wrapper\"))\n }, [withDirectives(createElementVNode(\"input\", mergeProps({\n id: unref(inputId),\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": $event => isRef(inputValue) ? inputValue.value = $event : null\n }, unref(attrs), {\n type: \"text\",\n minlength: _ctx.minlength,\n maxlength: _ctx.maxlength,\n disabled: unref(disabled),\n readonly: _ctx.readonly,\n autocomplete: _ctx.autocomplete,\n tabindex: _ctx.tabindex,\n placeholder: unref(placeholder),\n autofocus: _ctx.autofocus,\n ariaLabel: _ctx.ariaLabel,\n class: unref(ns).e(\"input\"),\n style: unref(inputStyle),\n onCompositionstart: unref(handleCompositionStart),\n onCompositionupdate: unref(handleCompositionUpdate),\n onCompositionend: unref(handleCompositionEnd),\n onInput: unref(handleInput),\n onKeydown: unref(handleKeydown)\n }), null, 16, [\"id\", \"onUpdate:modelValue\", \"minlength\", \"maxlength\", \"disabled\", \"readonly\", \"autocomplete\", \"tabindex\", \"placeholder\", \"autofocus\", \"ariaLabel\", \"onCompositionstart\", \"onCompositionupdate\", \"onCompositionend\", \"onInput\", \"onKeydown\"]), [[vModelText, unref(inputValue)]]), createElementVNode(\"span\", {\n ref_key: \"calculatorRef\",\n ref: calculatorRef,\n \"aria-hidden\": \"true\",\n class: normalizeClass(unref(ns).e(\"input-calculator\")),\n textContent: toDisplayString(unref(inputValue))\n }, null, 10, [\"textContent\"])], 2), withDirectives(createElementVNode(\"div\", {\n ref_key: \"dropIndicatorRef\",\n ref: dropIndicatorRef,\n class: normalizeClass(unref(ns).e(\"drop-indicator\"))\n }, null, 2), [[vShow, unref(showDropIndicator)]])], 2), unref(showSuffix) ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(ns).e(\"suffix\"))\n }, [renderSlot(_ctx.$slots, \"suffix\"), unref(showClear) ? (openBlock(), createBlock(unref(ElIcon), {\n key: 0,\n class: normalizeClass([unref(ns).e(\"icon\"), unref(ns).e(\"clear\")]),\n onMousedown: withModifiers(unref(NOOP), [\"prevent\"]),\n onClick: unref(handleClear)\n }, {\n default: withCtx(() => [createVNode(unref(CircleClose))]),\n _: 1\n }, 8, [\"class\", \"onMousedown\", \"onClick\"])) : createCommentVNode(\"v-if\", true), unref(validateState) && unref(validateIcon) && unref(needStatusIcon) ? (openBlock(), createBlock(unref(ElIcon), {\n key: 1,\n class: normalizeClass([unref(nsInput).e(\"icon\"), unref(nsInput).e(\"validateIcon\"), unref(nsInput).is(\"loading\", unref(validateState) === \"validating\")])\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(validateIcon))))]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true)], 2)) : createCommentVNode(\"v-if\", true)], 46, [\"onMouseenter\", \"onMouseleave\"]);\n };\n }\n});\nvar InputTag = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"input-tag.vue\"]]);\nexport { InputTag as default };","map":{"version":3,"names":["name","inheritAttrs","attrs","useAttrs","slots","useSlots","form","formItem","useFormItem","inputId","useFormItemInputId","props","formItemContext","needStatusIcon","computed","_a","statusIcon","validateState","validateIcon","value","ValidateComponentsMap","inputRef","wrapperRef","isFocused","inputValue","size","tagSize","placeholder","closable","disabled","handleDragged","handleInput","handleKeydown","handleRemoveTag","handleClear","handleCompositionStart","handleCompositionUpdate","handleCompositionEnd","focus","blur","useInputTag","emit","hovering","handleMouseEnter","handleMouseLeave","useHovering","calculatorRef","inputStyle","useCalcInputWidth","dropIndicatorRef","showDropIndicator","handleDragStart","handleDragOver","handleDragEnd","useDragTag","afterDragged","ns","nsInput","containerKls","containerStyle","innerKls","showClear","showSuffix","useInputTagDom","expose"],"sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;;;;;;;;;;;;;mCA4Gc;EACZA,IAAM;EACNC,YAAc;AAChB;;;;;;;;;;IAKA,MAAMC,KAAA,GAAQC,QAAS;IACvB,MAAMC,KAAA,GAAQC,QAAS;IACvB,MAAM;MAAEC,IAAA;MAAMC;IAAS,IAAIC,WAAY;IACjC;MAAEC;IAAA,CAAY,GAAAC,kBAAA,CAAmBC,KAAA,EAAO;MAAEC,eAAA,EAAiBL;IAAA,CAAU;IAE3E,MAAMM,cAAiB,GAAAC,QAAA,CAAS,MAAM;MACtC,IAAMC,EAAgB;MAChB,QAAAA,EAAA,GAAAT,IAAA,WAAwB,KAAM,IAAAA,IAAA,CAAAU,UAAA,YAAAD,EAAA;IAClC;IACF,MAACE,aAAA,GAAAH,QAAA,QAAAP,QAAA,oBAAAA,QAAA,CAAAU,aAAA;IAEK,MAAAC,YAAA,GAAAJ,QAAA;MACJ,OAAAG,aAAA,CAAAE,KAAA,IAAAC,qBAAA,CAAAH,aAAA,CAAAE,KAAA;IAAA,CACA;IACA;MACAE,QAAA;MACAC,UAAA;MACAC,SAAA;MACAC,UAAA;MACAC,IAAA;MACAC,OAAA;MACAC,WAAA;MACAC,QAAA;MACAC,QAAA;MACAC,aAAA;MACAC,WAAA;MACAC,aAAA;MACAC,eAAA;MACAC,WAAA;MACAC,sBAAA;MACAC,uBAAA;MAAAC,oBACuB;MACzBC,KAAQ;MACRC;IACA,CAAM,GAAAC,WAAA;MAAA7B,KAAA;MAAA8B,IAAA;MAAAlC;IAAA;IACJ;MAAAmC,QAAA;MAAAC,gBAAA;MAAAC;IAAA,IAAAC,WAAA;IACA;MAAAC,aAAA;MAAAC;IAAA,IAAAC,iBAAA;IACA;MACAC,gBAAA;MACAC,iBAAA;MAAAC,eACe;MACXC,cAAA;MACJC;IAAA,CACA,GAAAC,UAAA;MAAAhC,UAAA;MAAAQ,aAAA;MAAAyB,YAAA,EAAAjB;IAAA;IACA;MACAkB,EAAA;MACAC,OAAA;MACAC,YAAA;MACAC,cAAA;MAAAC,QACiB;MACjBC,SAAA;MACAC;IAAA,CACA,GAAAC,cAAA;MACApD,KAAA;MACA+B,QAAA;MACAnB,SAAA;MACAC,UAAA;MACAK,QAAA;MACAJ,IAAA;MACDR,aAAA;MAEYC,YAAA;MACXL;IAAA,CACA;IACFmD,MAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20ece7bf332d5d55854d664f8ec68e6eb46d1470bddcaaf29064dab39d9f4c6e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20ece7bf332d5d55854d664f8ec68e6eb46d1470bddcaaf29064dab39d9f4c6e.json new file mode 100644 index 00000000..fd23a85a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/20ece7bf332d5d55854d664f8ec68e6eb46d1470bddcaaf29064dab39d9f4c6e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps, definePropType } from '../../../../utils/vue/props/runtime.mjs';\nimport { datePickTypes } from '../../../../constants/date.mjs';\nimport { isArray } from '@vue/shared';\nconst selectionModes = [\"date\", \"dates\", \"year\", \"years\", \"month\", \"months\", \"week\", \"range\"];\nconst datePickerSharedProps = buildProps({\n disabledDate: {\n type: definePropType(Function)\n },\n date: {\n type: definePropType(Object),\n required: true\n },\n minDate: {\n type: definePropType(Object)\n },\n maxDate: {\n type: definePropType(Object)\n },\n parsedValue: {\n type: definePropType([Object, Array])\n },\n rangeState: {\n type: definePropType(Object),\n default: () => ({\n endDate: null,\n selecting: false\n })\n }\n});\nconst panelSharedProps = buildProps({\n type: {\n type: definePropType(String),\n required: true,\n values: datePickTypes\n },\n dateFormat: String,\n timeFormat: String,\n showNow: {\n type: Boolean,\n default: true\n }\n});\nconst panelRangeSharedProps = buildProps({\n unlinkPanels: Boolean,\n visible: Boolean,\n parsedValue: {\n type: definePropType(Array)\n }\n});\nconst selectionModeWithDefault = mode => {\n return {\n type: String,\n values: selectionModes,\n default: mode\n };\n};\nconst rangePickerSharedEmits = {\n pick: range => isArray(range)\n};\nexport { datePickerSharedProps, panelRangeSharedProps, panelSharedProps, rangePickerSharedEmits, selectionModeWithDefault };","map":{"version":3,"names":["selectionModes","datePickerSharedProps","buildProps","disabledDate","type","definePropType","Function","date","Object","required","minDate","maxDate","parsedValue","Array","rangeState","default","endDate","selecting","panelSharedProps","String","values","datePickTypes","dateFormat","timeFormat","showNow","Boolean","panelRangeSharedProps","unlinkPanels","visible","selectionModeWithDefault","mode","rangePickerSharedEmits","pick","range","isArray"],"sources":["../../../../../../../packages/components/date-picker/src/props/shared.ts"],"sourcesContent":["import { buildProps, definePropType, isArray } from '@element-plus/utils'\nimport { datePickTypes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DatePickType } from '@element-plus/constants'\n\nconst selectionModes = [\n 'date',\n 'dates',\n 'year',\n 'years',\n 'month',\n 'months',\n 'week',\n 'range',\n]\n\nexport type RangeState = {\n endDate: null | Dayjs\n selecting: boolean\n}\n\nexport type DisabledDateType = (date: Date) => boolean\n\nexport const datePickerSharedProps = buildProps({\n disabledDate: {\n type: definePropType(Function),\n },\n date: {\n type: definePropType(Object),\n required: true,\n },\n minDate: {\n type: definePropType(Object),\n },\n maxDate: {\n type: definePropType(Object),\n },\n parsedValue: {\n type: definePropType([Object, Array]),\n },\n rangeState: {\n type: definePropType(Object),\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n} as const)\n\nexport const panelSharedProps = buildProps({\n type: {\n type: definePropType(String),\n required: true,\n values: datePickTypes,\n },\n dateFormat: String,\n timeFormat: String,\n showNow: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport const panelRangeSharedProps = buildProps({\n unlinkPanels: Boolean,\n visible: Boolean,\n parsedValue: {\n type: definePropType(Array),\n },\n} as const)\n\nexport const selectionModeWithDefault = (\n mode: typeof selectionModes[number]\n) => {\n return {\n type: String,\n values: selectionModes,\n default: mode,\n }\n}\n\nexport const rangePickerSharedEmits = {\n pick: (range: [Dayjs, Dayjs]) => isArray(range),\n}\n\nexport type RangePickerSharedEmits = typeof rangePickerSharedEmits\nexport type PanelRangeSharedProps = ExtractPropTypes<\n typeof panelRangeSharedProps\n>\n"],"mappings":";;;AAEA,MAAMA,cAAc,GAAG,CACrB,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,CACR;AACW,MAACC,qBAAqB,GAAGC,UAAU,CAAC;EAC9CC,YAAY,EAAE;IACZC,IAAI,EAAEC,cAAc,CAACC,QAAQ;EACjC,CAAG;EACDC,IAAI,EAAE;IACJH,IAAI,EAAEC,cAAc,CAACG,MAAM,CAAC;IAC5BC,QAAQ,EAAE;EACd,CAAG;EACDC,OAAO,EAAE;IACPN,IAAI,EAAEC,cAAc,CAACG,MAAM;EAC/B,CAAG;EACDG,OAAO,EAAE;IACPP,IAAI,EAAEC,cAAc,CAACG,MAAM;EAC/B,CAAG;EACDI,WAAW,EAAE;IACXR,IAAI,EAAEC,cAAc,CAAC,CAACG,MAAM,EAAEK,KAAK,CAAC;EACxC,CAAG;EACDC,UAAU,EAAE;IACVV,IAAI,EAAEC,cAAc,CAACG,MAAM,CAAC;IAC5BO,OAAO,EAAEA,CAAA,MAAO;MACdC,OAAO,EAAE,IAAI;MACbC,SAAS,EAAE;IACjB,CAAK;EACL;AACA,CAAC;AACW,MAACC,gBAAgB,GAAGhB,UAAU,CAAC;EACzCE,IAAI,EAAE;IACJA,IAAI,EAAEC,cAAc,CAACc,MAAM,CAAC;IAC5BV,QAAQ,EAAE,IAAI;IACdW,MAAM,EAAEC;EACZ,CAAG;EACDC,UAAU,EAAEH,MAAM;EAClBI,UAAU,EAAEJ,MAAM;EAClBK,OAAO,EAAE;IACPpB,IAAI,EAAEqB,OAAO;IACbV,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACW,qBAAqB,GAAGxB,UAAU,CAAC;EAC9CyB,YAAY,EAAEF,OAAO;EACrBG,OAAO,EAAEH,OAAO;EAChBb,WAAW,EAAE;IACXR,IAAI,EAAEC,cAAc,CAACQ,KAAK;EAC9B;AACA,CAAC;AACW,MAACgB,wBAAwB,GAAIC,IAAI,IAAK;EAChD,OAAO;IACL1B,IAAI,EAAEe,MAAM;IACZC,MAAM,EAAEpB,cAAc;IACtBe,OAAO,EAAEe;EACb,CAAG;AACH;AACY,MAACC,sBAAsB,GAAG;EACpCC,IAAI,EAAGC,KAAK,IAAKC,OAAO,CAACD,KAAK;AAChC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2112e416a3c6d967f0908a1e2f892f86105bc9146a1640aa19bd442d4edec1da.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2112e416a3c6d967f0908a1e2f892f86105bc9146a1640aa19bd442d4edec1da.json new file mode 100644 index 00000000..5c494c39 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2112e416a3c6d967f0908a1e2f892f86105bc9146a1640aa19bd442d4edec1da.json @@ -0,0 +1 @@ +{"ast":null,"code":"const isKorean = text => /([\\uAC00-\\uD7AF\\u3130-\\u318F])+/gi.test(text);\nexport { isKorean };","map":{"version":3,"names":["isKorean","text","test"],"sources":["../../../../packages/utils/i18n.ts"],"sourcesContent":["export const isKorean = (text: string) =>\n /([\\uAC00-\\uD7AF\\u3130-\\u318F])+/gi.test(text)\n"],"mappings":"AAAY,MAACA,QAAQ,GAAIC,IAAI,IAAK,mCAAmC,CAACC,IAAI,CAACD,IAAI","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/215c6e5d77c3aa4806866b57cd6cd277234e11d1fa92ea6547c18ce2e818e6ea.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/215c6e5d77c3aa4806866b57cd6cd277234e11d1fa92ea6547c18ce2e818e6ea.json new file mode 100644 index 00000000..5c87af41 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/215c6e5d77c3aa4806866b57cd6cd277234e11d1fa92ea6547c18ce2e818e6ea.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { Close, SuccessFilled, InfoFilled, WarningFilled, CircleCloseFilled, Loading, CircleCheck, CircleClose } from '@element-plus/icons-vue';\nimport { definePropType } from './props/runtime.mjs';\nconst iconPropType = definePropType([String, Object, Function]);\nconst CloseComponents = {\n Close\n};\nconst TypeComponents = {\n Close,\n SuccessFilled,\n InfoFilled,\n WarningFilled,\n CircleCloseFilled\n};\nconst TypeComponentsMap = {\n primary: InfoFilled,\n success: SuccessFilled,\n warning: WarningFilled,\n error: CircleCloseFilled,\n info: InfoFilled\n};\nconst ValidateComponentsMap = {\n validating: Loading,\n success: CircleCheck,\n error: CircleClose\n};\nexport { CloseComponents, TypeComponents, TypeComponentsMap, ValidateComponentsMap, iconPropType };","map":{"version":3,"names":["iconPropType","definePropType","String","Object","Function","CloseComponents","Close","TypeComponents","SuccessFilled","InfoFilled","WarningFilled","CircleCloseFilled","TypeComponentsMap","primary","success","warning","error","info","ValidateComponentsMap","validating","Loading","CircleCheck","CircleClose"],"sources":["../../../../../packages/utils/vue/icon.ts"],"sourcesContent":["import {\n CircleCheck,\n CircleClose,\n CircleCloseFilled,\n Close,\n InfoFilled,\n Loading,\n SuccessFilled,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { definePropType } from './props'\n\nimport type { Component } from 'vue'\n\nexport const iconPropType = definePropType([\n String,\n Object,\n Function,\n])\n\nexport const CloseComponents = {\n Close,\n}\n\nexport const TypeComponents = {\n Close,\n SuccessFilled,\n InfoFilled,\n WarningFilled,\n CircleCloseFilled,\n}\n\nexport const TypeComponentsMap = {\n primary: InfoFilled,\n success: SuccessFilled,\n warning: WarningFilled,\n error: CircleCloseFilled,\n info: InfoFilled,\n}\n\nexport const ValidateComponentsMap = {\n validating: Loading,\n success: CircleCheck,\n error: CircleClose,\n}\n"],"mappings":";;AAWY,MAACA,YAAY,GAAGC,cAAc,CAAC,CACzCC,MAAM,EACNC,MAAM,EACNC,QAAQ,CACT;AACW,MAACC,eAAe,GAAG;EAC7BC;AACF;AACY,MAACC,cAAc,GAAG;EAC5BD,KAAK;EACLE,aAAa;EACbC,UAAU;EACVC,aAAa;EACbC;AACF;AACY,MAACC,iBAAiB,GAAG;EAC/BC,OAAO,EAAEJ,UAAU;EACnBK,OAAO,EAAEN,aAAa;EACtBO,OAAO,EAAEL,aAAa;EACtBM,KAAK,EAAEL,iBAAiB;EACxBM,IAAI,EAAER;AACR;AACY,MAACS,qBAAqB,GAAG;EACnCC,UAAU,EAAEC,OAAO;EACnBN,OAAO,EAAEO,WAAW;EACpBL,KAAK,EAAEM;AACT","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2179b5188d71b6bf5f2db7e6337e58c471032a8f880feeaed3ab6b50829c504d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2179b5188d71b6bf5f2db7e6337e58c471032a8f880feeaed3ab6b50829c504d.json new file mode 100644 index 00000000..db249d7b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2179b5188d71b6bf5f2db7e6337e58c471032a8f880feeaed3ab6b50829c504d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n return this;\n}\nexport default hashSet;","map":{"version":3,"names":["nativeCreate","HASH_UNDEFINED","hashSet","key","value","data","__data__","size","has","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_hashSet.js"],"sourcesContent":["import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;;AAE7C;AACA,IAAIC,cAAc,GAAG,2BAA2B;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,GAAG,EAAEC,KAAK,EAAE;EAC3B,IAAIC,IAAI,GAAG,IAAI,CAACC,QAAQ;EACxB,IAAI,CAACC,IAAI,IAAI,IAAI,CAACC,GAAG,CAACL,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;EAClCE,IAAI,CAACF,GAAG,CAAC,GAAIH,YAAY,IAAII,KAAK,KAAKK,SAAS,GAAIR,cAAc,GAAGG,KAAK;EAC1E,OAAO,IAAI;AACb;AAEA,eAAeF,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/21d5a29fdf3492c526acc7007bb26c2e620021558bcee6b607ee30594f93f8d3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/21d5a29fdf3492c526acc7007bb26c2e620021558bcee6b607ee30594f93f8d3.json new file mode 100644 index 00000000..e818d4e4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/21d5a29fdf3492c526acc7007bb26c2e620021558bcee6b607ee30594f93f8d3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Steps from './src/steps2.mjs';\nimport Step from './src/item2.mjs';\nexport { stepProps } from './src/item.mjs';\nexport { stepsEmits, stepsProps } from './src/steps.mjs';\nexport { STEPS_INJECTION_KEY } from './src/tokens.mjs';\nimport { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';\nconst ElSteps = withInstall(Steps, {\n Step\n});\nconst ElStep = withNoopInstall(Step);\nexport { ElStep, ElSteps, ElSteps as default };","map":{"version":3,"names":["ElSteps","withInstall","Steps","Step","ElStep","withNoopInstall"],"sources":["../../../../../packages/components/steps/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Steps from './src/steps.vue'\nimport Step from './src/item.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElSteps: SFCWithInstall & {\n Step: typeof Step\n} = withInstall(Steps, {\n Step,\n})\nexport default ElSteps\nexport const ElStep: SFCWithInstall = withNoopInstall(Step)\n\nexport * from './src/item'\nexport * from './src/steps'\nexport * from './src/tokens'\n"],"mappings":";;;;;;AAGY,MAACA,OAAO,GAAGC,WAAW,CAACC,KAAK,EAAE;EACxCC;AACF,CAAC;AAEW,MAACC,MAAM,GAAGC,eAAe,CAACF,IAAI","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/221f814a27f861367bf32edb063b701ac45a483769c5c08fdece4ec2b40048fd.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/221f814a27f861367bf32edb063b701ac45a483769c5c08fdece4ec2b40048fd.json new file mode 100644 index 00000000..49528819 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/221f814a27f861367bf32edb063b701ac45a483769c5c08fdece4ec2b40048fd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: 3 // 固定为3m/s\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n // 检查是否有到达目标点的提示\n if (res.data.reachedTarget) {\n ElMessageBox.alert('无人机已到达目标点', '提示', {\n type: 'success'\n });\n }\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('暂停失败');\n }\n };\n\n // 新增resumePath方法\n const resumePath = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/resume-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('无人机已继续飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('继续失败');\n }\n };\n\n // 获取当前选中无人机对象\n const currentDrone = computed(() => {\n return drones.value.find(d => d.id === selectedDroneId.value) || {};\n });\n // 路径执行控制按钮文本\n const pathControlButtonText = computed(() => {\n if (currentDrone.value.status === 'paused') return '继续';\n if (currentDrone.value.status === 'flying') return '暂停';\n return '暂停';\n });\n // 路径执行控制方法\n const pathControl = async () => {\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (currentDrone.value.status === 'paused') {\n // 继续\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/resume-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('无人机已继续飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('继续失败');\n }\n } else if (currentDrone.value.status === 'flying') {\n // 暂停\n try {\n await axios.post(`/api/drones/${selectedDroneId.value}/pause-path`, {}, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n ElMessage.success('已暂停无人机飞行');\n await fetchDrones();\n } catch (e) {\n ElMessage.error('暂停失败');\n }\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId,\n resumePath,\n pathControl,\n pathControlButtonText\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","reachedTarget","alert","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","resumePath","currentDrone","d","pathControlButtonText","pathControl","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2238d52ad908b5e223cbfc22d1c9c9252c5b1c647e423abd677268f2a017f012.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2238d52ad908b5e223cbfc22d1c9c9252c5b1c647e423abd677268f2a017f012.json new file mode 100644 index 00000000..c1527649 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2238d52ad908b5e223cbfc22d1c9c9252c5b1c647e423abd677268f2a017f012.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as camelCase } from './camelCase.js';\nexport { default as capitalize } from './capitalize.js';\nexport { default as deburr } from './deburr.js';\nexport { default as endsWith } from './endsWith.js';\nexport { default as escape } from './escape.js';\nexport { default as escapeRegExp } from './escapeRegExp.js';\nexport { default as kebabCase } from './kebabCase.js';\nexport { default as lowerCase } from './lowerCase.js';\nexport { default as lowerFirst } from './lowerFirst.js';\nexport { default as pad } from './pad.js';\nexport { default as padEnd } from './padEnd.js';\nexport { default as padStart } from './padStart.js';\nexport { default as parseInt } from './parseInt.js';\nexport { default as repeat } from './repeat.js';\nexport { default as replace } from './replace.js';\nexport { default as snakeCase } from './snakeCase.js';\nexport { default as split } from './split.js';\nexport { default as startCase } from './startCase.js';\nexport { default as startsWith } from './startsWith.js';\nexport { default as template } from './template.js';\nexport { default as templateSettings } from './templateSettings.js';\nexport { default as toLower } from './toLower.js';\nexport { default as toUpper } from './toUpper.js';\nexport { default as trim } from './trim.js';\nexport { default as trimEnd } from './trimEnd.js';\nexport { default as trimStart } from './trimStart.js';\nexport { default as truncate } from './truncate.js';\nexport { default as unescape } from './unescape.js';\nexport { default as upperCase } from './upperCase.js';\nexport { default as upperFirst } from './upperFirst.js';\nexport { default as words } from './words.js';\nexport { default } from './string.default.js';","map":{"version":3,"names":["default","camelCase","capitalize","deburr","endsWith","escape","escapeRegExp","kebabCase","lowerCase","lowerFirst","pad","padEnd","padStart","parseInt","repeat","replace","snakeCase","split","startCase","startsWith","template","templateSettings","toLower","toUpper","trim","trimEnd","trimStart","truncate","unescape","upperCase","upperFirst","words"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/string.js"],"sourcesContent":["export { default as camelCase } from './camelCase.js';\nexport { default as capitalize } from './capitalize.js';\nexport { default as deburr } from './deburr.js';\nexport { default as endsWith } from './endsWith.js';\nexport { default as escape } from './escape.js';\nexport { default as escapeRegExp } from './escapeRegExp.js';\nexport { default as kebabCase } from './kebabCase.js';\nexport { default as lowerCase } from './lowerCase.js';\nexport { default as lowerFirst } from './lowerFirst.js';\nexport { default as pad } from './pad.js';\nexport { default as padEnd } from './padEnd.js';\nexport { default as padStart } from './padStart.js';\nexport { default as parseInt } from './parseInt.js';\nexport { default as repeat } from './repeat.js';\nexport { default as replace } from './replace.js';\nexport { default as snakeCase } from './snakeCase.js';\nexport { default as split } from './split.js';\nexport { default as startCase } from './startCase.js';\nexport { default as startsWith } from './startsWith.js';\nexport { default as template } from './template.js';\nexport { default as templateSettings } from './templateSettings.js';\nexport { default as toLower } from './toLower.js';\nexport { default as toUpper } from './toUpper.js';\nexport { default as trim } from './trim.js';\nexport { default as trimEnd } from './trimEnd.js';\nexport { default as trimStart } from './trimStart.js';\nexport { default as truncate } from './truncate.js';\nexport { default as unescape } from './unescape.js';\nexport { default as upperCase } from './upperCase.js';\nexport { default as upperFirst } from './upperFirst.js';\nexport { default as words } from './words.js';\nexport { default } from './string.default.js';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,gBAAgB;AACrD,SAASD,OAAO,IAAIE,UAAU,QAAQ,iBAAiB;AACvD,SAASF,OAAO,IAAIG,MAAM,QAAQ,aAAa;AAC/C,SAASH,OAAO,IAAII,QAAQ,QAAQ,eAAe;AACnD,SAASJ,OAAO,IAAIK,MAAM,QAAQ,aAAa;AAC/C,SAASL,OAAO,IAAIM,YAAY,QAAQ,mBAAmB;AAC3D,SAASN,OAAO,IAAIO,SAAS,QAAQ,gBAAgB;AACrD,SAASP,OAAO,IAAIQ,SAAS,QAAQ,gBAAgB;AACrD,SAASR,OAAO,IAAIS,UAAU,QAAQ,iBAAiB;AACvD,SAAST,OAAO,IAAIU,GAAG,QAAQ,UAAU;AACzC,SAASV,OAAO,IAAIW,MAAM,QAAQ,aAAa;AAC/C,SAASX,OAAO,IAAIY,QAAQ,QAAQ,eAAe;AACnD,SAASZ,OAAO,IAAIa,QAAQ,QAAQ,eAAe;AACnD,SAASb,OAAO,IAAIc,MAAM,QAAQ,aAAa;AAC/C,SAASd,OAAO,IAAIe,OAAO,QAAQ,cAAc;AACjD,SAASf,OAAO,IAAIgB,SAAS,QAAQ,gBAAgB;AACrD,SAAShB,OAAO,IAAIiB,KAAK,QAAQ,YAAY;AAC7C,SAASjB,OAAO,IAAIkB,SAAS,QAAQ,gBAAgB;AACrD,SAASlB,OAAO,IAAImB,UAAU,QAAQ,iBAAiB;AACvD,SAASnB,OAAO,IAAIoB,QAAQ,QAAQ,eAAe;AACnD,SAASpB,OAAO,IAAIqB,gBAAgB,QAAQ,uBAAuB;AACnE,SAASrB,OAAO,IAAIsB,OAAO,QAAQ,cAAc;AACjD,SAAStB,OAAO,IAAIuB,OAAO,QAAQ,cAAc;AACjD,SAASvB,OAAO,IAAIwB,IAAI,QAAQ,WAAW;AAC3C,SAASxB,OAAO,IAAIyB,OAAO,QAAQ,cAAc;AACjD,SAASzB,OAAO,IAAI0B,SAAS,QAAQ,gBAAgB;AACrD,SAAS1B,OAAO,IAAI2B,QAAQ,QAAQ,eAAe;AACnD,SAAS3B,OAAO,IAAI4B,QAAQ,QAAQ,eAAe;AACnD,SAAS5B,OAAO,IAAI6B,SAAS,QAAQ,gBAAgB;AACrD,SAAS7B,OAAO,IAAI8B,UAAU,QAAQ,iBAAiB;AACvD,SAAS9B,OAAO,IAAI+B,KAAK,QAAQ,YAAY;AAC7C,SAAS/B,OAAO,QAAQ,qBAAqB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22a0d5e948166197f421bba80d93a89a354695be239e58d076352e72010b880d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22a0d5e948166197f421bba80d93a89a354695be239e58d076352e72010b880d.json new file mode 100644 index 00000000..6c26596b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22a0d5e948166197f421bba80d93a89a354695be239e58d076352e72010b880d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseClamp from './_baseClamp.js';\nimport toInteger from './toInteger.js';\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\nfunction toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n}\nexport default toLength;","map":{"version":3,"names":["baseClamp","toInteger","MAX_ARRAY_LENGTH","toLength","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/toLength.js"],"sourcesContent":["import baseClamp from './_baseClamp.js';\nimport toInteger from './toInteger.js';\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\nfunction toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n}\n\nexport default toLength;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,SAAS,MAAM,gBAAgB;;AAEtC;AACA,IAAIC,gBAAgB,GAAG,UAAU;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,KAAK,EAAE;EACvB,OAAOA,KAAK,GAAGJ,SAAS,CAACC,SAAS,CAACG,KAAK,CAAC,EAAE,CAAC,EAAEF,gBAAgB,CAAC,GAAG,CAAC;AACrE;AAEA,eAAeC,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22babbcb5f7c785da46cbbc51e5730beaa141cd6fbc0d8f78a55fc4da2d3e5b3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22babbcb5f7c785da46cbbc51e5730beaa141cd6fbc0d8f78a55fc4da2d3e5b3.json new file mode 100644 index 00000000..a6d3a7ab --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22babbcb5f7c785da46cbbc51e5730beaa141cd6fbc0d8f78a55fc4da2d3e5b3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, useAttrs, useSlots, computed, shallowRef, ref, watch, nextTick, onMounted, toRef, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, createCommentVNode, Fragment, renderSlot, createElementVNode, createBlock, withCtx, resolveDynamicComponent, mergeProps, withModifiers, createVNode, toDisplayString } from 'vue';\nimport { useResizeObserver, isClient } from '@vueuse/core';\nimport { isNil } from 'lodash-unified';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { View, Hide, CircleClose } from '@element-plus/icons-vue';\nimport { calcTextareaHeight } from './utils.mjs';\nimport { inputProps, inputEmits } from './input.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useAttrs as useAttrs$1 } from '../../../hooks/use-attrs/index.mjs';\nimport { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';\nimport { useFormSize, useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';\nimport { useFocusController } from '../../../hooks/use-focus-controller/index.mjs';\nimport { ValidateComponentsMap } from '../../../utils/vue/icon.mjs';\nimport { useComposition } from '../../../hooks/use-composition/index.mjs';\nimport { UPDATE_MODEL_EVENT, INPUT_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';\nimport { useCursor } from '../../../hooks/use-cursor/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { NOOP, isObject } from '@vue/shared';\nconst COMPONENT_NAME = \"ElInput\";\nconst __default__ = defineComponent({\n name: COMPONENT_NAME,\n inheritAttrs: false\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: inputProps,\n emits: inputEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const rawAttrs = useAttrs();\n const attrs = useAttrs$1();\n const slots = useSlots();\n const containerKls = computed(() => [props.type === \"textarea\" ? nsTextarea.b() : nsInput.b(), nsInput.m(inputSize.value), nsInput.is(\"disabled\", inputDisabled.value), nsInput.is(\"exceed\", inputExceed.value), {\n [nsInput.b(\"group\")]: slots.prepend || slots.append,\n [nsInput.m(\"prefix\")]: slots.prefix || props.prefixIcon,\n [nsInput.m(\"suffix\")]: slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm(\"suffix\", \"password-clear\")]: showClear.value && showPwdVisible.value,\n [nsInput.b(\"hidden\")]: props.type === \"hidden\"\n }, rawAttrs.class]);\n const wrapperKls = computed(() => [nsInput.e(\"wrapper\"), nsInput.is(\"focus\", isFocused.value)]);\n const {\n form: elForm,\n formItem: elFormItem\n } = useFormItem();\n const {\n inputId\n } = useFormItemInputId(props, {\n formItemContext: elFormItem\n });\n const inputSize = useFormSize();\n const inputDisabled = useFormDisabled();\n const nsInput = useNamespace(\"input\");\n const nsTextarea = useNamespace(\"textarea\");\n const input = shallowRef();\n const textarea = shallowRef();\n const hovering = ref(false);\n const passwordVisible = ref(false);\n const countStyle = ref();\n const textareaCalcStyle = shallowRef(props.inputStyle);\n const _ref = computed(() => input.value || textarea.value);\n const {\n wrapperRef,\n isFocused,\n handleFocus,\n handleBlur\n } = useFocusController(_ref, {\n beforeFocus() {\n return inputDisabled.value;\n },\n afterBlur() {\n var _a;\n if (props.validateEvent) {\n (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, \"blur\").catch(err => debugWarn(err));\n }\n }\n });\n const needStatusIcon = computed(() => {\n var _a;\n return (_a = elForm == null ? void 0 : elForm.statusIcon) != null ? _a : false;\n });\n const validateState = computed(() => (elFormItem == null ? void 0 : elFormItem.validateState) || \"\");\n const validateIcon = computed(() => validateState.value && ValidateComponentsMap[validateState.value]);\n const passwordIcon = computed(() => passwordVisible.value ? View : Hide);\n const containerStyle = computed(() => [rawAttrs.style]);\n const textareaStyle = computed(() => [props.inputStyle, textareaCalcStyle.value, {\n resize: props.resize\n }]);\n const nativeInputValue = computed(() => isNil(props.modelValue) ? \"\" : String(props.modelValue));\n const showClear = computed(() => props.clearable && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (isFocused.value || hovering.value));\n const showPwdVisible = computed(() => props.showPassword && !inputDisabled.value && !!nativeInputValue.value);\n const isWordLimitVisible = computed(() => props.showWordLimit && !!props.maxlength && (props.type === \"text\" || props.type === \"textarea\") && !inputDisabled.value && !props.readonly && !props.showPassword);\n const textLength = computed(() => nativeInputValue.value.length);\n const inputExceed = computed(() => !!isWordLimitVisible.value && textLength.value > Number(props.maxlength));\n const suffixVisible = computed(() => !!slots.suffix || !!props.suffixIcon || showClear.value || props.showPassword || isWordLimitVisible.value || !!validateState.value && needStatusIcon.value);\n const [recordCursor, setCursor] = useCursor(input);\n useResizeObserver(textarea, entries => {\n onceInitSizeTextarea();\n if (!isWordLimitVisible.value || props.resize !== \"both\") return;\n const entry = entries[0];\n const {\n width\n } = entry.contentRect;\n countStyle.value = {\n right: `calc(100% - ${width + 15 + 6}px)`\n };\n });\n const resizeTextarea = () => {\n const {\n type,\n autosize\n } = props;\n if (!isClient || type !== \"textarea\" || !textarea.value) return;\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : void 0;\n const maxRows = isObject(autosize) ? autosize.maxRows : void 0;\n const textareaStyle2 = calcTextareaHeight(textarea.value, minRows, maxRows);\n textareaCalcStyle.value = {\n overflowY: \"hidden\",\n ...textareaStyle2\n };\n nextTick(() => {\n textarea.value.offsetHeight;\n textareaCalcStyle.value = textareaStyle2;\n });\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight\n };\n }\n };\n const createOnceInitResize = resizeTextarea2 => {\n let isInit = false;\n return () => {\n var _a;\n if (isInit || !props.autosize) return;\n const isElHidden = ((_a = textarea.value) == null ? void 0 : _a.offsetParent) === null;\n if (!isElHidden) {\n resizeTextarea2();\n isInit = true;\n }\n };\n };\n const onceInitSizeTextarea = createOnceInitResize(resizeTextarea);\n const setNativeInputValue = () => {\n const input2 = _ref.value;\n const formatterValue = props.formatter ? props.formatter(nativeInputValue.value) : nativeInputValue.value;\n if (!input2 || input2.value === formatterValue) return;\n input2.value = formatterValue;\n };\n const handleInput = async event => {\n recordCursor();\n let {\n value\n } = event.target;\n if (props.formatter && props.parser) {\n value = props.parser(value);\n }\n if (isComposing.value) return;\n if (value === nativeInputValue.value) {\n setNativeInputValue();\n return;\n }\n emit(UPDATE_MODEL_EVENT, value);\n emit(INPUT_EVENT, value);\n await nextTick();\n setNativeInputValue();\n setCursor();\n };\n const handleChange = event => {\n let {\n value\n } = event.target;\n if (props.formatter && props.parser) {\n value = props.parser(value);\n }\n emit(CHANGE_EVENT, value);\n };\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd\n } = useComposition({\n emit,\n afterComposition: handleInput\n });\n const handlePasswordVisible = () => {\n recordCursor();\n passwordVisible.value = !passwordVisible.value;\n setTimeout(setCursor);\n };\n const focus = () => {\n var _a;\n return (_a = _ref.value) == null ? void 0 : _a.focus();\n };\n const blur = () => {\n var _a;\n return (_a = _ref.value) == null ? void 0 : _a.blur();\n };\n const handleMouseLeave = evt => {\n hovering.value = false;\n emit(\"mouseleave\", evt);\n };\n const handleMouseEnter = evt => {\n hovering.value = true;\n emit(\"mouseenter\", evt);\n };\n const handleKeydown = evt => {\n emit(\"keydown\", evt);\n };\n const select = () => {\n var _a;\n (_a = _ref.value) == null ? void 0 : _a.select();\n };\n const clear = () => {\n emit(UPDATE_MODEL_EVENT, \"\");\n emit(CHANGE_EVENT, \"\");\n emit(\"clear\");\n emit(INPUT_EVENT, \"\");\n };\n watch(() => props.modelValue, () => {\n var _a;\n nextTick(() => resizeTextarea());\n if (props.validateEvent) {\n (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, \"change\").catch(err => debugWarn(err));\n }\n });\n watch(nativeInputValue, () => setNativeInputValue());\n watch(() => props.type, async () => {\n await nextTick();\n setNativeInputValue();\n resizeTextarea();\n });\n onMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(COMPONENT_NAME, \"If you set the parser, you also need to set the formatter.\");\n }\n setNativeInputValue();\n nextTick(resizeTextarea);\n });\n expose({\n input,\n textarea,\n ref: _ref,\n textareaStyle,\n autosize: toRef(props, \"autosize\"),\n isComposing,\n focus,\n blur,\n select,\n clear,\n resizeTextarea\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(containerKls), {\n [unref(nsInput).bm(\"group\", \"append\")]: _ctx.$slots.append,\n [unref(nsInput).bm(\"group\", \"prepend\")]: _ctx.$slots.prepend\n }]),\n style: normalizeStyle(unref(containerStyle)),\n onMouseenter: handleMouseEnter,\n onMouseleave: handleMouseLeave\n }, [createCommentVNode(\" input \"), _ctx.type !== \"textarea\" ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [createCommentVNode(\" prepend slot \"), _ctx.$slots.prepend ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(nsInput).be(\"group\", \"prepend\"))\n }, [renderSlot(_ctx.$slots, \"prepend\")], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n ref_key: \"wrapperRef\",\n ref: wrapperRef,\n class: normalizeClass(unref(wrapperKls))\n }, [createCommentVNode(\" prefix slot \"), _ctx.$slots.prefix || _ctx.prefixIcon ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass(unref(nsInput).e(\"prefix\"))\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(nsInput).e(\"prefix-inner\"))\n }, [renderSlot(_ctx.$slots, \"prefix\"), _ctx.prefixIcon ? (openBlock(), createBlock(unref(ElIcon), {\n key: 0,\n class: normalizeClass(unref(nsInput).e(\"icon\"))\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon)))]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true)], 2)], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"input\", mergeProps({\n id: unref(inputId),\n ref_key: \"input\",\n ref: input,\n class: unref(nsInput).e(\"inner\")\n }, unref(attrs), {\n minlength: _ctx.minlength,\n maxlength: _ctx.maxlength,\n type: _ctx.showPassword ? passwordVisible.value ? \"text\" : \"password\" : _ctx.type,\n disabled: unref(inputDisabled),\n readonly: _ctx.readonly,\n autocomplete: _ctx.autocomplete,\n tabindex: _ctx.tabindex,\n \"aria-label\": _ctx.ariaLabel,\n placeholder: _ctx.placeholder,\n style: _ctx.inputStyle,\n form: _ctx.form,\n autofocus: _ctx.autofocus,\n role: _ctx.containerRole,\n onCompositionstart: unref(handleCompositionStart),\n onCompositionupdate: unref(handleCompositionUpdate),\n onCompositionend: unref(handleCompositionEnd),\n onInput: handleInput,\n onChange: handleChange,\n onKeydown: handleKeydown\n }), null, 16, [\"id\", \"minlength\", \"maxlength\", \"type\", \"disabled\", \"readonly\", \"autocomplete\", \"tabindex\", \"aria-label\", \"placeholder\", \"form\", \"autofocus\", \"role\", \"onCompositionstart\", \"onCompositionupdate\", \"onCompositionend\"]), createCommentVNode(\" suffix slot \"), unref(suffixVisible) ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: normalizeClass(unref(nsInput).e(\"suffix\"))\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(nsInput).e(\"suffix-inner\"))\n }, [!unref(showClear) || !unref(showPwdVisible) || !unref(isWordLimitVisible) ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [renderSlot(_ctx.$slots, \"suffix\"), _ctx.suffixIcon ? (openBlock(), createBlock(unref(ElIcon), {\n key: 0,\n class: normalizeClass(unref(nsInput).e(\"icon\"))\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.suffixIcon)))]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true)], 64)) : createCommentVNode(\"v-if\", true), unref(showClear) ? (openBlock(), createBlock(unref(ElIcon), {\n key: 1,\n class: normalizeClass([unref(nsInput).e(\"icon\"), unref(nsInput).e(\"clear\")]),\n onMousedown: withModifiers(unref(NOOP), [\"prevent\"]),\n onClick: clear\n }, {\n default: withCtx(() => [createVNode(unref(CircleClose))]),\n _: 1\n }, 8, [\"class\", \"onMousedown\"])) : createCommentVNode(\"v-if\", true), unref(showPwdVisible) ? (openBlock(), createBlock(unref(ElIcon), {\n key: 2,\n class: normalizeClass([unref(nsInput).e(\"icon\"), unref(nsInput).e(\"password\")]),\n onClick: handlePasswordVisible\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(passwordIcon))))]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true), unref(isWordLimitVisible) ? (openBlock(), createElementBlock(\"span\", {\n key: 3,\n class: normalizeClass(unref(nsInput).e(\"count\"))\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(nsInput).e(\"count-inner\"))\n }, toDisplayString(unref(textLength)) + \" / \" + toDisplayString(_ctx.maxlength), 3)], 2)) : createCommentVNode(\"v-if\", true), unref(validateState) && unref(validateIcon) && unref(needStatusIcon) ? (openBlock(), createBlock(unref(ElIcon), {\n key: 4,\n class: normalizeClass([unref(nsInput).e(\"icon\"), unref(nsInput).e(\"validateIcon\"), unref(nsInput).is(\"loading\", unref(validateState) === \"validating\")])\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(validateIcon))))]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true)], 2)], 2)) : createCommentVNode(\"v-if\", true)], 2), createCommentVNode(\" append slot \"), _ctx.$slots.append ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(nsInput).be(\"group\", \"append\"))\n }, [renderSlot(_ctx.$slots, \"append\")], 2)) : createCommentVNode(\"v-if\", true)], 64)) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [createCommentVNode(\" textarea \"), createElementVNode(\"textarea\", mergeProps({\n id: unref(inputId),\n ref_key: \"textarea\",\n ref: textarea,\n class: [unref(nsTextarea).e(\"inner\"), unref(nsInput).is(\"focus\", unref(isFocused))]\n }, unref(attrs), {\n minlength: _ctx.minlength,\n maxlength: _ctx.maxlength,\n tabindex: _ctx.tabindex,\n disabled: unref(inputDisabled),\n readonly: _ctx.readonly,\n autocomplete: _ctx.autocomplete,\n style: unref(textareaStyle),\n \"aria-label\": _ctx.ariaLabel,\n placeholder: _ctx.placeholder,\n form: _ctx.form,\n autofocus: _ctx.autofocus,\n rows: _ctx.rows,\n role: _ctx.containerRole,\n onCompositionstart: unref(handleCompositionStart),\n onCompositionupdate: unref(handleCompositionUpdate),\n onCompositionend: unref(handleCompositionEnd),\n onInput: handleInput,\n onFocus: unref(handleFocus),\n onBlur: unref(handleBlur),\n onChange: handleChange,\n onKeydown: handleKeydown\n }), null, 16, [\"id\", \"minlength\", \"maxlength\", \"tabindex\", \"disabled\", \"readonly\", \"autocomplete\", \"aria-label\", \"placeholder\", \"form\", \"autofocus\", \"rows\", \"role\", \"onCompositionstart\", \"onCompositionupdate\", \"onCompositionend\", \"onFocus\", \"onBlur\"]), unref(isWordLimitVisible) ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n style: normalizeStyle(countStyle.value),\n class: normalizeClass(unref(nsInput).e(\"count\"))\n }, toDisplayString(unref(textLength)) + \" / \" + toDisplayString(_ctx.maxlength), 7)) : createCommentVNode(\"v-if\", true)], 64))], 38);\n };\n }\n});\nvar Input = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"input.vue\"]]);\nexport { Input as default };","map":{"version":3,"names":["name","COMPONENT_NAME","inheritAttrs","rawAttrs","useAttrs","attrs","useAttrs$1","slots","useSlots","containerKls","computed","props","type","nsTextarea","b","nsInput","m","inputSize","value","is","inputDisabled","inputExceed","prepend","append","prefix","prefixIcon","suffix","suffixIcon","clearable","showPassword","bm","showClear","showPwdVisible","class","wrapperKls","e","isFocused","form","elForm","formItem","elFormItem","useFormItem","inputId","useFormItemInputId","formItemContext","useFormSize","useFormDisabled","useNamespace","input","shallowRef","textarea","hovering","ref","passwordVisible","countStyle","textareaCalcStyle","inputStyle","_ref","wrapperRef","handleFocus","handleBlur","useFocusController","beforeFocus","afterBlur","_a","validateEvent","validate","call","catch","err","debugWarn","needStatusIcon","statusIcon","validateState","validateIcon","ValidateComponentsMap","passwordIcon","View","Hide","containerStyle","style","textareaStyle","resize","nativeInputValue","isNil","modelValue","String","readonly","isWordLimitVisible","showWordLimit","maxlength","textLength","length","Number","suffixVisible","recordCursor","setCursor","useCursor","useResizeObserver","entries","onceInitSizeTextarea","entry","width","contentRect","right","resizeTextarea","autosize","isClient","minRows","isObject","maxRows","textareaStyle2","calcTextareaHeight","overflowY","nextTick","offsetHeight","minHeight","createOnceInitResize","resizeTextarea2","isInit","isElHidden","offsetParent","setNativeInputValue","input2","formatterValue","formatter","handleInput","event","target","parser","isComposing","emit","UPDATE_MODEL_EVENT","INPUT_EVENT","handleChange","CHANGE_EVENT","handleCompositionStart","handleCompositionUpdate","handleCompositionEnd","useComposition","afterComposition","handlePasswordVisible","setTimeout","focus","blur","handleMouseLeave","evt","handleMouseEnter","handleKeydown","select","clear","watch","onMounted","expose","toRef","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","$slots","normalizeStyle","onMouseenter","onMouseleave","createCommentVNode","Fragment","key","be","renderSlot","createElementVNode","ref_key"],"sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["\n\n \n \n
\n\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22c46f4603c2d251da2a16312e3ed05d811bff1ea693fdf8396542805c4e18b7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22c46f4603c2d251da2a16312e3ed05d811bff1ea693fdf8396542805c4e18b7.json new file mode 100644 index 00000000..5df9c4d0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22c46f4603c2d251da2a16312e3ed05d811bff1ea693fdf8396542805c4e18b7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { inject, provide } from 'vue';\nimport { TREE_NODE_MAP_INJECTION_KEY } from '../tokens.mjs';\nfunction useNodeExpandEventBroadcast(props) {\n const parentNodeMap = inject(TREE_NODE_MAP_INJECTION_KEY, null);\n const currentNodeMap = {\n treeNodeExpand: node => {\n if (props.node !== node) {\n props.node.collapse();\n }\n },\n children: []\n };\n if (parentNodeMap) {\n parentNodeMap.children.push(currentNodeMap);\n }\n provide(TREE_NODE_MAP_INJECTION_KEY, currentNodeMap);\n return {\n broadcastExpanded: node => {\n if (!props.accordion) return;\n for (const childNode of currentNodeMap.children) {\n childNode.treeNodeExpand(node);\n }\n }\n };\n}\nexport { useNodeExpandEventBroadcast };","map":{"version":3,"names":["useNodeExpandEventBroadcast","props","parentNodeMap","inject","TREE_NODE_MAP_INJECTION_KEY","currentNodeMap","treeNodeExpand","node","collapse","children","push","provide","broadcastExpanded","accordion","childNode"],"sources":["../../../../../../../packages/components/tree/src/model/useNodeExpandEventBroadcast.ts"],"sourcesContent":["// @ts-nocheck\nimport { inject, provide } from 'vue'\nimport { TREE_NODE_MAP_INJECTION_KEY } from '../tokens'\nimport type Node from '../model/node'\n\ninterface NodeMap {\n treeNodeExpand(node: Node): void\n children: NodeMap[]\n}\n\nexport function useNodeExpandEventBroadcast(props) {\n const parentNodeMap = inject(TREE_NODE_MAP_INJECTION_KEY, null)\n const currentNodeMap: NodeMap = {\n treeNodeExpand: (node) => {\n if (props.node !== node) {\n props.node.collapse()\n }\n },\n children: [],\n }\n\n if (parentNodeMap) {\n parentNodeMap.children.push(currentNodeMap)\n }\n\n provide(TREE_NODE_MAP_INJECTION_KEY, currentNodeMap)\n\n return {\n broadcastExpanded: (node: Node): void => {\n if (!props.accordion) return\n for (const childNode of currentNodeMap.children) {\n childNode.treeNodeExpand(node)\n }\n },\n }\n}\n"],"mappings":";;AAEO,SAASA,2BAA2BA,CAACC,KAAK,EAAE;EACjD,MAAMC,aAAa,GAAGC,MAAM,CAACC,2BAA2B,EAAE,IAAI,CAAC;EAC/D,MAAMC,cAAc,GAAG;IACrBC,cAAc,EAAGC,IAAI,IAAK;MACxB,IAAIN,KAAK,CAACM,IAAI,KAAKA,IAAI,EAAE;QACvBN,KAAK,CAACM,IAAI,CAACC,QAAQ,EAAE;MAC7B;IACA,CAAK;IACDC,QAAQ,EAAE;EACd,CAAG;EACD,IAAIP,aAAa,EAAE;IACjBA,aAAa,CAACO,QAAQ,CAACC,IAAI,CAACL,cAAc,CAAC;EAC/C;EACEM,OAAO,CAACP,2BAA2B,EAAEC,cAAc,CAAC;EACpD,OAAO;IACLO,iBAAiB,EAAGL,IAAI,IAAK;MAC3B,IAAI,CAACN,KAAK,CAACY,SAAS,EAClB;MACF,KAAK,MAAMC,SAAS,IAAIT,cAAc,CAACI,QAAQ,EAAE;QAC/CK,SAAS,CAACR,cAAc,CAACC,IAAI,CAAC;MACtC;IACA;EACA,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22ceda10cfd59748a47f91f8fe668e9a0588cf8047d7075738d1491b51f3a3f9.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22ceda10cfd59748a47f91f8fe668e9a0588cf8047d7075738d1491b51f3a3f9.json new file mode 100644 index 00000000..2b64b78a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/22ceda10cfd59748a47f91f8fe668e9a0588cf8047d7075738d1491b51f3a3f9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\nexport default charsStartIndex;","map":{"version":3,"names":["baseIndexOf","charsStartIndex","strSymbols","chrSymbols","index","length"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_charsStartIndex.js"],"sourcesContent":["import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nexport default charsStartIndex;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,mBAAmB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,UAAU,EAAEC,UAAU,EAAE;EAC/C,IAAIC,KAAK,GAAG,CAAC,CAAC;IACVC,MAAM,GAAGH,UAAU,CAACG,MAAM;EAE9B,OAAO,EAAED,KAAK,GAAGC,MAAM,IAAIL,WAAW,CAACG,UAAU,EAAED,UAAU,CAACE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;EAChF,OAAOA,KAAK;AACd;AAEA,eAAeH,eAAe","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2318e1c997e78b174cce570d9c7a15fe3ad5fc1bbc88a8498adaa0ef3a925fc4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2318e1c997e78b174cce570d9c7a15fe3ad5fc1bbc88a8498adaa0ef3a925fc4.json new file mode 100644 index 00000000..e5ae5b92 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2318e1c997e78b174cce570d9c7a15fe3ad5fc1bbc88a8498adaa0ef3a925fc4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n while (length--) {\n var key = result[length],\n value = object[key];\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\nexport default getMatchData;","map":{"version":3,"names":["isStrictComparable","keys","getMatchData","object","result","length","key","value"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_getMatchData.js"],"sourcesContent":["import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,0BAA0B;AACzD,OAAOC,IAAI,MAAM,WAAW;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,MAAM,EAAE;EAC5B,IAAIC,MAAM,GAAGH,IAAI,CAACE,MAAM,CAAC;IACrBE,MAAM,GAAGD,MAAM,CAACC,MAAM;EAE1B,OAAOA,MAAM,EAAE,EAAE;IACf,IAAIC,GAAG,GAAGF,MAAM,CAACC,MAAM,CAAC;MACpBE,KAAK,GAAGJ,MAAM,CAACG,GAAG,CAAC;IAEvBF,MAAM,CAACC,MAAM,CAAC,GAAG,CAACC,GAAG,EAAEC,KAAK,EAAEP,kBAAkB,CAACO,KAAK,CAAC,CAAC;EAC1D;EACA,OAAOH,MAAM;AACf;AAEA,eAAeF,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2319e000f148d346e2b1726ec14a1704fadadfda7ac24eeabee6f21b401e45b3.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2319e000f148d346e2b1726ec14a1704fadadfda7ac24eeabee6f21b401e45b3.json new file mode 100644 index 00000000..e708d1d9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2319e000f148d346e2b1726ec14a1704fadadfda7ac24eeabee6f21b401e45b3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\nexport default MapCache;","map":{"version":3,"names":["mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","entries","index","length","clear","entry","set","prototype","get","has"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_MapCache.js"],"sourcesContent":["import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,qBAAqB;AAC/C,OAAOC,cAAc,MAAM,sBAAsB;AACjD,OAAOC,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,WAAW,MAAM,mBAAmB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,OAAO,EAAE;EACzB,IAAIC,KAAK,GAAG,CAAC,CAAC;IACVC,MAAM,GAAGF,OAAO,IAAI,IAAI,GAAG,CAAC,GAAGA,OAAO,CAACE,MAAM;EAEjD,IAAI,CAACC,KAAK,CAAC,CAAC;EACZ,OAAO,EAAEF,KAAK,GAAGC,MAAM,EAAE;IACvB,IAAIE,KAAK,GAAGJ,OAAO,CAACC,KAAK,CAAC;IAC1B,IAAI,CAACI,GAAG,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9B;AACF;;AAEA;AACAL,QAAQ,CAACO,SAAS,CAACH,KAAK,GAAGT,aAAa;AACxCK,QAAQ,CAACO,SAAS,CAAC,QAAQ,CAAC,GAAGX,cAAc;AAC7CI,QAAQ,CAACO,SAAS,CAACC,GAAG,GAAGX,WAAW;AACpCG,QAAQ,CAACO,SAAS,CAACE,GAAG,GAAGX,WAAW;AACpCE,QAAQ,CAACO,SAAS,CAACD,GAAG,GAAGP,WAAW;AAEpC,eAAeC,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2321543bce074458f7d72400ae7694fd723577b698b04411c1ca2be94bbe0a30.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2321543bce074458f7d72400ae7694fd723577b698b04411c1ca2be94bbe0a30.json new file mode 100644 index 00000000..5c15f95e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2321543bce074458f7d72400ae7694fd723577b698b04411c1ca2be94bbe0a30.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n min = min !== undefined ? min : 1000;\n return function push(chunkLength) {\n const now = Date.now();\n const startedAt = timestamps[tail];\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n bytes[head] = chunkLength;\n timestamps[head] = now;\n let i = tail;\n let bytesCount = 0;\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n head = (head + 1) % samplesCount;\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n if (now - firstSampleTS < min) {\n return;\n }\n const passed = startedAt && now - startedAt;\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\nexport default speedometer;","map":{"version":3,"names":["speedometer","samplesCount","min","bytes","Array","timestamps","head","tail","firstSampleTS","undefined","push","chunkLength","now","Date","startedAt","i","bytesCount","passed","Math","round"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/axios/lib/helpers/speedometer.js"],"sourcesContent":["'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAWA,CAACC,YAAY,EAAEC,GAAG,EAAE;EACtCD,YAAY,GAAGA,YAAY,IAAI,EAAE;EACjC,MAAME,KAAK,GAAG,IAAIC,KAAK,CAACH,YAAY,CAAC;EACrC,MAAMI,UAAU,GAAG,IAAID,KAAK,CAACH,YAAY,CAAC;EAC1C,IAAIK,IAAI,GAAG,CAAC;EACZ,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,aAAa;EAEjBN,GAAG,GAAGA,GAAG,KAAKO,SAAS,GAAGP,GAAG,GAAG,IAAI;EAEpC,OAAO,SAASQ,IAAIA,CAACC,WAAW,EAAE;IAChC,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IAEtB,MAAME,SAAS,GAAGT,UAAU,CAACE,IAAI,CAAC;IAElC,IAAI,CAACC,aAAa,EAAE;MAClBA,aAAa,GAAGI,GAAG;IACrB;IAEAT,KAAK,CAACG,IAAI,CAAC,GAAGK,WAAW;IACzBN,UAAU,CAACC,IAAI,CAAC,GAAGM,GAAG;IAEtB,IAAIG,CAAC,GAAGR,IAAI;IACZ,IAAIS,UAAU,GAAG,CAAC;IAElB,OAAOD,CAAC,KAAKT,IAAI,EAAE;MACjBU,UAAU,IAAIb,KAAK,CAACY,CAAC,EAAE,CAAC;MACxBA,CAAC,GAAGA,CAAC,GAAGd,YAAY;IACtB;IAEAK,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAIL,YAAY;IAEhC,IAAIK,IAAI,KAAKC,IAAI,EAAE;MACjBA,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAIN,YAAY;IAClC;IAEA,IAAIW,GAAG,GAAGJ,aAAa,GAAGN,GAAG,EAAE;MAC7B;IACF;IAEA,MAAMe,MAAM,GAAGH,SAAS,IAAIF,GAAG,GAAGE,SAAS;IAE3C,OAAOG,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACH,UAAU,GAAG,IAAI,GAAGC,MAAM,CAAC,GAAGR,SAAS;EACpE,CAAC;AACH;AAEA,eAAeT,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/233f2f1597118816c7f54036a0efb0bd058b940aa10a8a9d465715552136bde9.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/233f2f1597118816c7f54036a0efb0bd058b940aa10a8a9d465715552136bde9.json new file mode 100644 index 00000000..ac2198f3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/233f2f1597118816c7f54036a0efb0bd058b940aa10a8a9d465715552136bde9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseDifference from './_baseDifference.js';\nimport baseRest from './_baseRest.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function (array, values) {\n return isArrayLikeObject(array) ? baseDifference(array, values) : [];\n});\nexport default without;","map":{"version":3,"names":["baseDifference","baseRest","isArrayLikeObject","without","array","values"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/without.js"],"sourcesContent":["import baseDifference from './_baseDifference.js';\nimport baseRest from './_baseRest.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nexport default without;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,sBAAsB;AACjD,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,iBAAiB,MAAM,wBAAwB;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,OAAO,GAAGF,QAAQ,CAAC,UAASG,KAAK,EAAEC,MAAM,EAAE;EAC7C,OAAOH,iBAAiB,CAACE,KAAK,CAAC,GAC3BJ,cAAc,CAACI,KAAK,EAAEC,MAAM,CAAC,GAC7B,EAAE;AACR,CAAC,CAAC;AAEF,eAAeF,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/234c735376a8b96f31f0be52af57a83027e3d1f60161c9e154f14bde3287538e.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/234c735376a8b96f31f0be52af57a83027e3d1f60161c9e154f14bde3287538e.json new file mode 100644 index 00000000..2aad7f04 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/234c735376a8b96f31f0be52af57a83027e3d1f60161c9e154f14bde3287538e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, useAttrs, useSlots, inject, toRef, ref, computed, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, Fragment, renderList, toDisplayString, createCommentVNode, createVNode, withDirectives, withCtx, vShow, withKeys, createBlock, createTextVNode, nextTick } from 'vue';\nimport dayjs from 'dayjs';\nimport { ElButton } from '../../../button/index.mjs';\nimport { ElInput } from '../../../input/index.mjs';\nimport '../../../time-picker/index.mjs';\nimport { ElIcon } from '../../../icon/index.mjs';\nimport { DArrowLeft, ArrowLeft, ArrowRight, DArrowRight } from '@element-plus/icons-vue';\nimport { panelDatePickProps } from '../props/panel-date-pick.mjs';\nimport { getValidDateOfMonth, getValidDateOfYear, correctlyParseUserInput } from '../utils.mjs';\nimport { ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY } from '../constants.mjs';\nimport DateTable from './basic-date-table.mjs';\nimport MonthTable from './basic-month-table.mjs';\nimport YearTable from './basic-year-table.mjs';\nimport _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';\nimport { PICKER_BASE_INJECTION_KEY } from '../../../time-picker/src/constants.mjs';\nimport { TOOLTIP_INJECTION_KEY } from '../../../tooltip/src/constants.mjs';\nimport { extractTimeFormat, extractDateFormat } from '../../../time-picker/src/utils.mjs';\nimport TimePickPanel from '../../../time-picker/src/time-picker-com/panel-time-pick.mjs';\nimport ClickOutside from '../../../../directives/click-outside/index.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nimport { useLocale } from '../../../../hooks/use-locale/index.mjs';\nimport { isArray, isFunction } from '@vue/shared';\nimport { EVENT_CODE } from '../../../../constants/aria.mjs';\nconst _sfc_main = /* @__PURE__ */defineComponent({\n __name: \"panel-date-pick\",\n props: panelDatePickProps,\n emits: [\"pick\", \"set-picker-option\", \"panel-change\"],\n setup(__props, {\n emit: contextEmit\n }) {\n const props = __props;\n const timeWithinRange = (_, __, ___) => true;\n const ppNs = useNamespace(\"picker-panel\");\n const dpNs = useNamespace(\"date-picker\");\n const attrs = useAttrs();\n const slots = useSlots();\n const {\n t,\n lang\n } = useLocale();\n const pickerBase = inject(PICKER_BASE_INJECTION_KEY);\n const isDefaultFormat = inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY);\n const popper = inject(TOOLTIP_INJECTION_KEY);\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime\n } = pickerBase.props;\n const defaultValue = toRef(pickerBase.props, \"defaultValue\");\n const currentViewRef = ref();\n const innerDate = ref(dayjs().locale(lang.value));\n const isChangeToNow = ref(false);\n let isShortcut = false;\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value);\n });\n const month = computed(() => {\n return innerDate.value.month();\n });\n const year = computed(() => {\n return innerDate.value.year();\n });\n const selectableRange = ref([]);\n const userInputDate = ref(null);\n const userInputTime = ref(null);\n const checkDateWithinRange = date => {\n return selectableRange.value.length > 0 ? timeWithinRange(date, selectableRange.value, props.format || \"HH:mm:ss\") : true;\n };\n const formatEmit = emitDayjs => {\n if (defaultTime && !visibleTime.value && !isChangeToNow.value && !isShortcut) {\n return defaultTimeD.value.year(emitDayjs.year()).month(emitDayjs.month()).date(emitDayjs.date());\n }\n if (showTime.value) return emitDayjs.millisecond(0);\n return emitDayjs.startOf(\"day\");\n };\n const emit = (value, ...args) => {\n if (!value) {\n contextEmit(\"pick\", value, ...args);\n } else if (isArray(value)) {\n const dates = value.map(formatEmit);\n contextEmit(\"pick\", dates, ...args);\n } else {\n contextEmit(\"pick\", formatEmit(value), ...args);\n }\n userInputDate.value = null;\n userInputTime.value = null;\n isChangeToNow.value = false;\n isShortcut = false;\n };\n const handleDatePick = async (value, keepOpen) => {\n if (selectionMode.value === \"date\") {\n value = value;\n let newDate = props.parsedValue ? props.parsedValue.year(value.year()).month(value.month()).date(value.date()) : value;\n if (!checkDateWithinRange(newDate)) {\n newDate = selectableRange.value[0][0].year(value.year()).month(value.month()).date(value.date());\n }\n innerDate.value = newDate;\n emit(newDate, showTime.value || keepOpen);\n if (props.type === \"datetime\") {\n await nextTick();\n handleFocusPicker();\n }\n } else if (selectionMode.value === \"week\") {\n emit(value.date);\n } else if (selectionMode.value === \"dates\") {\n emit(value, true);\n }\n };\n const moveByMonth = forward => {\n const action = forward ? \"add\" : \"subtract\";\n innerDate.value = innerDate.value[action](1, \"month\");\n handlePanelChange(\"month\");\n };\n const moveByYear = forward => {\n const currentDate = innerDate.value;\n const action = forward ? \"add\" : \"subtract\";\n innerDate.value = currentView.value === \"year\" ? currentDate[action](10, \"year\") : currentDate[action](1, \"year\");\n handlePanelChange(\"year\");\n };\n const currentView = ref(\"date\");\n const yearLabel = computed(() => {\n const yearTranslation = t(\"el.datepicker.year\");\n if (currentView.value === \"year\") {\n const startYear = Math.floor(year.value / 10) * 10;\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${startYear + 9} ${yearTranslation}`;\n }\n return `${startYear} - ${startYear + 9}`;\n }\n return `${year.value} ${yearTranslation}`;\n });\n const handleShortcutClick = shortcut => {\n const shortcutValue = isFunction(shortcut.value) ? shortcut.value() : shortcut.value;\n if (shortcutValue) {\n isShortcut = true;\n emit(dayjs(shortcutValue).locale(lang.value));\n return;\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit\n });\n }\n };\n const selectionMode = computed(() => {\n const {\n type\n } = props;\n if ([\"week\", \"month\", \"months\", \"year\", \"years\", \"dates\"].includes(type)) return type;\n return \"date\";\n });\n const isMultipleType = computed(() => {\n return selectionMode.value === \"dates\" || selectionMode.value === \"months\" || selectionMode.value === \"years\";\n });\n const keyboardMode = computed(() => {\n return selectionMode.value === \"date\" ? currentView.value : selectionMode.value;\n });\n const hasShortcuts = computed(() => !!shortcuts.length);\n const handleMonthPick = async (month2, keepOpen) => {\n if (selectionMode.value === \"month\") {\n innerDate.value = getValidDateOfMonth(innerDate.value, innerDate.value.year(), month2, lang.value, disabledDate);\n emit(innerDate.value, false);\n } else if (selectionMode.value === \"months\") {\n emit(month2, keepOpen != null ? keepOpen : true);\n } else {\n innerDate.value = getValidDateOfMonth(innerDate.value, innerDate.value.year(), month2, lang.value, disabledDate);\n currentView.value = \"date\";\n if ([\"month\", \"year\", \"date\", \"week\"].includes(selectionMode.value)) {\n emit(innerDate.value, true);\n await nextTick();\n handleFocusPicker();\n }\n }\n handlePanelChange(\"month\");\n };\n const handleYearPick = async (year2, keepOpen) => {\n if (selectionMode.value === \"year\") {\n const data = innerDate.value.startOf(\"year\").year(year2);\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate);\n emit(innerDate.value, false);\n } else if (selectionMode.value === \"years\") {\n emit(year2, keepOpen != null ? keepOpen : true);\n } else {\n const data = innerDate.value.year(year2);\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate);\n currentView.value = \"month\";\n if ([\"month\", \"year\", \"date\", \"week\"].includes(selectionMode.value)) {\n emit(innerDate.value, true);\n await nextTick();\n handleFocusPicker();\n }\n }\n handlePanelChange(\"year\");\n };\n const showPicker = async view => {\n currentView.value = view;\n await nextTick();\n handleFocusPicker();\n };\n const showTime = computed(() => props.type === \"datetime\" || props.type === \"datetimerange\");\n const footerVisible = computed(() => {\n const showDateFooter = showTime.value || selectionMode.value === \"dates\";\n const showYearFooter = selectionMode.value === \"years\";\n const showMonthFooter = selectionMode.value === \"months\";\n const isDateView = currentView.value === \"date\";\n const isYearView = currentView.value === \"year\";\n const isMonthView = currentView.value === \"month\";\n return showDateFooter && isDateView || showYearFooter && isYearView || showMonthFooter && isMonthView;\n });\n const disabledConfirm = computed(() => {\n if (!disabledDate) return false;\n if (!props.parsedValue) return true;\n if (isArray(props.parsedValue)) {\n return disabledDate(props.parsedValue[0].toDate());\n }\n return disabledDate(props.parsedValue.toDate());\n });\n const onConfirm = () => {\n if (isMultipleType.value) {\n emit(props.parsedValue);\n } else {\n let result = props.parsedValue;\n if (!result) {\n const defaultTimeD2 = dayjs(defaultTime).locale(lang.value);\n const defaultValueD = getDefaultValue();\n result = defaultTimeD2.year(defaultValueD.year()).month(defaultValueD.month()).date(defaultValueD.date());\n }\n innerDate.value = result;\n emit(result);\n }\n };\n const disabledNow = computed(() => {\n if (!disabledDate) return false;\n return disabledDate(dayjs().locale(lang.value).toDate());\n });\n const changeToNow = () => {\n const now = dayjs().locale(lang.value);\n const nowDate = now.toDate();\n isChangeToNow.value = true;\n if ((!disabledDate || !disabledDate(nowDate)) && checkDateWithinRange(nowDate)) {\n innerDate.value = dayjs().locale(lang.value);\n emit(innerDate.value);\n }\n };\n const timeFormat = computed(() => {\n return props.timeFormat || extractTimeFormat(props.format);\n });\n const dateFormat = computed(() => {\n return props.dateFormat || extractDateFormat(props.format);\n });\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value;\n if (!props.parsedValue && !defaultValue.value) return;\n return (props.parsedValue || innerDate.value).format(timeFormat.value);\n });\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value;\n if (!props.parsedValue && !defaultValue.value) return;\n return (props.parsedValue || innerDate.value).format(dateFormat.value);\n });\n const timePickerVisible = ref(false);\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true;\n };\n const handleTimePickClose = () => {\n timePickerVisible.value = false;\n };\n const getUnits = date => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date()\n };\n };\n const handleTimePick = (value, visible, first) => {\n const {\n hour,\n minute,\n second\n } = getUnits(value);\n const newDate = props.parsedValue ? props.parsedValue.hour(hour).minute(minute).second(second) : value;\n innerDate.value = newDate;\n emit(innerDate.value, true);\n if (!first) {\n timePickerVisible.value = visible;\n }\n };\n const handleVisibleTimeChange = value => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value);\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const {\n year: year2,\n month: month2,\n date\n } = getUnits(innerDate.value);\n innerDate.value = newDate.year(year2).month(month2).date(date);\n userInputTime.value = null;\n timePickerVisible.value = false;\n emit(innerDate.value, true);\n }\n };\n const handleVisibleDateChange = value => {\n const newDate = correctlyParseUserInput(value, dateFormat.value, lang.value, isDefaultFormat);\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return;\n }\n const {\n hour,\n minute,\n second\n } = getUnits(innerDate.value);\n innerDate.value = newDate.hour(hour).minute(minute).second(second);\n userInputDate.value = null;\n emit(innerDate.value, true);\n }\n };\n const isValidValue = date => {\n return dayjs.isDayjs(date) && date.isValid() && (disabledDate ? !disabledDate(date.toDate()) : true);\n };\n const formatToString = value => {\n return isArray(value) ? value.map(_ => _.format(props.format)) : value.format(props.format);\n };\n const parseUserInput = value => {\n return correctlyParseUserInput(value, props.format, lang.value, isDefaultFormat);\n };\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value);\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value;\n return dayjs().hour(defaultTimeDValue.hour()).minute(defaultTimeDValue.minute()).second(defaultTimeDValue.second()).locale(lang.value);\n }\n return parseDate;\n };\n const handleFocusPicker = () => {\n var _a;\n if ([\"week\", \"month\", \"year\", \"date\"].includes(selectionMode.value)) {\n (_a = currentViewRef.value) == null ? void 0 : _a.focus();\n }\n };\n const _handleFocusPicker = () => {\n handleFocusPicker();\n if (selectionMode.value === \"week\") {\n handleKeyControl(EVENT_CODE.down);\n }\n };\n const handleKeydownTable = event => {\n const {\n code\n } = event;\n const validCode = [EVENT_CODE.up, EVENT_CODE.down, EVENT_CODE.left, EVENT_CODE.right, EVENT_CODE.home, EVENT_CODE.end, EVENT_CODE.pageUp, EVENT_CODE.pageDown];\n if (validCode.includes(code)) {\n handleKeyControl(code);\n event.stopPropagation();\n event.preventDefault();\n }\n if ([EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(code) && userInputDate.value === null && userInputTime.value === null) {\n event.preventDefault();\n emit(innerDate.value, false);\n }\n };\n const handleKeyControl = code => {\n var _a;\n const {\n up,\n down,\n left,\n right,\n home,\n end,\n pageUp,\n pageDown\n } = EVENT_CODE;\n const mapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step)\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step)\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7)\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: date => -date.getDay(),\n [end]: date => -date.getDay() + 6,\n [pageUp]: date => -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: date => new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date, step) => date.setDate(date.getDate() + step)\n }\n };\n const newDate = innerDate.value.toDate();\n while (Math.abs(innerDate.value.diff(newDate, \"year\", true)) < 1) {\n const map = mapping[keyboardMode.value];\n if (!map) return;\n map.offset(newDate, isFunction(map[code]) ? map[code](newDate) : (_a = map[code]) != null ? _a : 0);\n if (disabledDate && disabledDate(newDate)) {\n break;\n }\n const result = dayjs(newDate).locale(lang.value);\n innerDate.value = result;\n contextEmit(\"pick\", result, true);\n break;\n }\n };\n const handlePanelChange = mode => {\n contextEmit(\"panel-change\", innerDate.value.toDate(), mode, currentView.value);\n };\n watch(() => selectionMode.value, val => {\n if ([\"month\", \"year\"].includes(val)) {\n currentView.value = val;\n return;\n } else if (val === \"years\") {\n currentView.value = \"year\";\n return;\n } else if (val === \"months\") {\n currentView.value = \"month\";\n return;\n }\n currentView.value = \"date\";\n }, {\n immediate: true\n });\n watch(() => currentView.value, () => {\n popper == null ? void 0 : popper.updatePopper();\n });\n watch(() => defaultValue.value, val => {\n if (val) {\n innerDate.value = getDefaultValue();\n }\n }, {\n immediate: true\n });\n watch(() => props.parsedValue, val => {\n if (val) {\n if (isMultipleType.value) return;\n if (isArray(val)) return;\n innerDate.value = val;\n } else {\n innerDate.value = getDefaultValue();\n }\n }, {\n immediate: true\n });\n contextEmit(\"set-picker-option\", [\"isValidValue\", isValidValue]);\n contextEmit(\"set-picker-option\", [\"formatToString\", formatToString]);\n contextEmit(\"set-picker-option\", [\"parseUserInput\", parseUserInput]);\n contextEmit(\"set-picker-option\", [\"handleFocusPicker\", _handleFocusPicker]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(ppNs).b(), unref(dpNs).b(), {\n \"has-sidebar\": _ctx.$slots.sidebar || unref(hasShortcuts),\n \"has-time\": unref(showTime)\n }])\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(ppNs).e(\"body-wrapper\"))\n }, [renderSlot(_ctx.$slots, \"sidebar\", {\n class: normalizeClass(unref(ppNs).e(\"sidebar\"))\n }), unref(hasShortcuts) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ppNs).e(\"sidebar\"))\n }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(shortcuts), (shortcut, key) => {\n return openBlock(), createElementBlock(\"button\", {\n key,\n type: \"button\",\n class: normalizeClass(unref(ppNs).e(\"shortcut\")),\n onClick: $event => handleShortcutClick(shortcut)\n }, toDisplayString(shortcut.text), 11, [\"onClick\"]);\n }), 128))], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n class: normalizeClass(unref(ppNs).e(\"body\"))\n }, [unref(showTime) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(dpNs).e(\"time-header\"))\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(dpNs).e(\"editor-wrap\"))\n }, [createVNode(unref(ElInput), {\n placeholder: unref(t)(\"el.datepicker.selectDate\"),\n \"model-value\": unref(visibleDate),\n size: \"small\",\n \"validate-event\": false,\n onInput: val => userInputDate.value = val,\n onChange: handleVisibleDateChange\n }, null, 8, [\"placeholder\", \"model-value\", \"onInput\"])], 2), withDirectives((openBlock(), createElementBlock(\"span\", {\n class: normalizeClass(unref(dpNs).e(\"editor-wrap\"))\n }, [createVNode(unref(ElInput), {\n placeholder: unref(t)(\"el.datepicker.selectTime\"),\n \"model-value\": unref(visibleTime),\n size: \"small\",\n \"validate-event\": false,\n onFocus: onTimePickerInputFocus,\n onInput: val => userInputTime.value = val,\n onChange: handleVisibleTimeChange\n }, null, 8, [\"placeholder\", \"model-value\", \"onInput\"]), createVNode(unref(TimePickPanel), {\n visible: timePickerVisible.value,\n format: unref(timeFormat),\n \"parsed-value\": innerDate.value,\n onPick: handleTimePick\n }, null, 8, [\"visible\", \"format\", \"parsed-value\"])], 2)), [[unref(ClickOutside), handleTimePickClose]])], 2)) : createCommentVNode(\"v-if\", true), withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([unref(dpNs).e(\"header\"), (currentView.value === \"year\" || currentView.value === \"month\") && unref(dpNs).e(\"header--bordered\")])\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(dpNs).e(\"prev-btn\"))\n }, [createElementVNode(\"button\", {\n type: \"button\",\n \"aria-label\": unref(t)(`el.datepicker.prevYear`),\n class: normalizeClass([\"d-arrow-left\", unref(ppNs).e(\"icon-btn\")]),\n onClick: $event => moveByYear(false)\n }, [renderSlot(_ctx.$slots, \"prev-year\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(DArrowLeft))]),\n _: 1\n })])], 10, [\"aria-label\", \"onClick\"]), withDirectives(createElementVNode(\"button\", {\n type: \"button\",\n \"aria-label\": unref(t)(`el.datepicker.prevMonth`),\n class: normalizeClass([unref(ppNs).e(\"icon-btn\"), \"arrow-left\"]),\n onClick: $event => moveByMonth(false)\n }, [renderSlot(_ctx.$slots, \"prev-month\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(ArrowLeft))]),\n _: 1\n })])], 10, [\"aria-label\", \"onClick\"]), [[vShow, currentView.value === \"date\"]])], 2), createElementVNode(\"span\", {\n role: \"button\",\n class: normalizeClass(unref(dpNs).e(\"header-label\")),\n \"aria-live\": \"polite\",\n tabindex: \"0\",\n onKeydown: withKeys($event => showPicker(\"year\"), [\"enter\"]),\n onClick: $event => showPicker(\"year\")\n }, toDisplayString(unref(yearLabel)), 43, [\"onKeydown\", \"onClick\"]), withDirectives(createElementVNode(\"span\", {\n role: \"button\",\n \"aria-live\": \"polite\",\n tabindex: \"0\",\n class: normalizeClass([unref(dpNs).e(\"header-label\"), {\n active: currentView.value === \"month\"\n }]),\n onKeydown: withKeys($event => showPicker(\"month\"), [\"enter\"]),\n onClick: $event => showPicker(\"month\")\n }, toDisplayString(unref(t)(`el.datepicker.month${unref(month) + 1}`)), 43, [\"onKeydown\", \"onClick\"]), [[vShow, currentView.value === \"date\"]]), createElementVNode(\"span\", {\n class: normalizeClass(unref(dpNs).e(\"next-btn\"))\n }, [withDirectives(createElementVNode(\"button\", {\n type: \"button\",\n \"aria-label\": unref(t)(`el.datepicker.nextMonth`),\n class: normalizeClass([unref(ppNs).e(\"icon-btn\"), \"arrow-right\"]),\n onClick: $event => moveByMonth(true)\n }, [renderSlot(_ctx.$slots, \"next-month\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(ArrowRight))]),\n _: 1\n })])], 10, [\"aria-label\", \"onClick\"]), [[vShow, currentView.value === \"date\"]]), createElementVNode(\"button\", {\n type: \"button\",\n \"aria-label\": unref(t)(`el.datepicker.nextYear`),\n class: normalizeClass([unref(ppNs).e(\"icon-btn\"), \"d-arrow-right\"]),\n onClick: $event => moveByYear(true)\n }, [renderSlot(_ctx.$slots, \"next-year\", {}, () => [createVNode(unref(ElIcon), null, {\n default: withCtx(() => [createVNode(unref(DArrowRight))]),\n _: 1\n })])], 10, [\"aria-label\", \"onClick\"])], 2)], 2), [[vShow, currentView.value !== \"time\"]]), createElementVNode(\"div\", {\n class: normalizeClass(unref(ppNs).e(\"content\")),\n onKeydown: handleKeydownTable\n }, [currentView.value === \"date\" ? (openBlock(), createBlock(DateTable, {\n key: 0,\n ref_key: \"currentViewRef\",\n ref: currentViewRef,\n \"selection-mode\": unref(selectionMode),\n date: innerDate.value,\n \"parsed-value\": _ctx.parsedValue,\n \"disabled-date\": unref(disabledDate),\n \"cell-class-name\": unref(cellClassName),\n onPick: handleDatePick\n }, null, 8, [\"selection-mode\", \"date\", \"parsed-value\", \"disabled-date\", \"cell-class-name\"])) : createCommentVNode(\"v-if\", true), currentView.value === \"year\" ? (openBlock(), createBlock(YearTable, {\n key: 1,\n ref_key: \"currentViewRef\",\n ref: currentViewRef,\n \"selection-mode\": unref(selectionMode),\n date: innerDate.value,\n \"disabled-date\": unref(disabledDate),\n \"parsed-value\": _ctx.parsedValue,\n onPick: handleYearPick\n }, null, 8, [\"selection-mode\", \"date\", \"disabled-date\", \"parsed-value\"])) : createCommentVNode(\"v-if\", true), currentView.value === \"month\" ? (openBlock(), createBlock(MonthTable, {\n key: 2,\n ref_key: \"currentViewRef\",\n ref: currentViewRef,\n \"selection-mode\": unref(selectionMode),\n date: innerDate.value,\n \"parsed-value\": _ctx.parsedValue,\n \"disabled-date\": unref(disabledDate),\n onPick: handleMonthPick\n }, null, 8, [\"selection-mode\", \"date\", \"parsed-value\", \"disabled-date\"])) : createCommentVNode(\"v-if\", true)], 34)], 2)], 2), withDirectives(createElementVNode(\"div\", {\n class: normalizeClass(unref(ppNs).e(\"footer\"))\n }, [withDirectives(createVNode(unref(ElButton), {\n text: \"\",\n size: \"small\",\n class: normalizeClass(unref(ppNs).e(\"link-btn\")),\n disabled: unref(disabledNow),\n onClick: changeToNow\n }, {\n default: withCtx(() => [createTextVNode(toDisplayString(unref(t)(\"el.datepicker.now\")), 1)]),\n _: 1\n }, 8, [\"class\", \"disabled\"]), [[vShow, !unref(isMultipleType) && _ctx.showNow]]), createVNode(unref(ElButton), {\n plain: \"\",\n size: \"small\",\n class: normalizeClass(unref(ppNs).e(\"link-btn\")),\n disabled: unref(disabledConfirm),\n onClick: onConfirm\n }, {\n default: withCtx(() => [createTextVNode(toDisplayString(unref(t)(\"el.datepicker.confirm\")), 1)]),\n _: 1\n }, 8, [\"class\", \"disabled\"])], 2), [[vShow, unref(footerVisible)]])], 2);\n };\n }\n});\nvar DatePickPanel = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"panel-date-pick.vue\"]]);\nexport { DatePickPanel as default };","map":{"version":3,"names":["timeWithinRange","_","__","___","ppNs","useNamespace","dpNs","attrs","useAttrs","slots","useSlots","t","lang","useLocale","pickerBase","inject","PICKER_BASE_INJECTION_KEY","isDefaultFormat","ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY","popper","TOOLTIP_INJECTION_KEY","shortcuts","disabledDate","cellClassName","defaultTime","props","defaultValue","toRef","currentViewRef","ref","innerDate","dayjs","locale","value","isChangeToNow","isShortcut","defaultTimeD","computed","month","year","selectableRange","userInputDate","userInputTime","checkDateWithinRange","date","length","format","formatEmit","emitDayjs","visibleTime","showTime","millisecond","startOf","emit","args","contextEmit","isArray","dates","map","handleDatePick","keepOpen","selectionMode","newDate","parsedValue","type","nextTick","handleFocusPicker","moveByMonth","forward","action","handlePanelChange","moveByYear","currentDate","currentView","yearLabel","yearTranslation","startYear","Math","floor","handleShortcutClick","shortcut","shortcutValue","isFunction","onClick","includes","isMultipleType","keyboardMode","hasShortcuts","handleMonthPick","month2","getValidDateOfMonth","handleYearPick","year2","data","getValidDateOfYear","showPicker","view","footerVisible","showDateFooter","showYearFooter","showMonthFooter","isDateView","isYearView","isMonthView","disabledConfirm","toDate","onConfirm","result","defaultTimeD2","defaultValueD","getDefaultValue","disabledNow","changeToNow","now","nowDate","timeFormat","extractTimeFormat","dateFormat","extractDateFormat","visibleDate","timePickerVisible","onTimePickerInputFocus","handleTimePickClose","getUnits","hour","minute","second","handleTimePick","visible","first","handleVisibleTimeChange","isValid","handleVisibleDateChange","correctlyParseUserInput","isValidValue","isDayjs","formatToString","parseUserInput","parseDate","defaultTimeDValue","_a","focus","_handleFocusPicker","handleKeyControl","EVENT_CODE","down","handleKeydownTable","event","code","validCode","up","left","right","home","end","pageUp","pageDown","stopPropagation","preventDefault","enter","space","numpadEnter","mapping","offset","step","setFullYear","getFullYear","setMonth","getMonth","week","setDate","getDate","getDay","Date","abs","diff","mode","watch","val","immediate","updatePopper","_ctx","_cache","openBlock","createElementBlock","class","normalizeClass","unref","b","$slots","sidebar","createElementVNode","e","renderSlot","key","Fragment","renderList","$event","toDisplayString","text","createCommentVNode"],"sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/237a1626b5f0a98bd603cdf4ad213c9c8f5a6351c69ad692410ba4012b0cdac1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/237a1626b5f0a98bd603cdf4ad213c9c8f5a6351c69ad692410ba4012b0cdac1.json new file mode 100644 index 00000000..662c2c6c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/237a1626b5f0a98bd603cdf4ad213c9c8f5a6351c69ad692410ba4012b0cdac1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n baseEach(collection, function (value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\nexport default baseSome;","map":{"version":3,"names":["baseEach","baseSome","collection","predicate","result","value","index"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseSome.js"],"sourcesContent":["import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nexport default baseSome;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,UAAU,EAAEC,SAAS,EAAE;EACvC,IAAIC,MAAM;EAEVJ,QAAQ,CAACE,UAAU,EAAE,UAASG,KAAK,EAAEC,KAAK,EAAEJ,UAAU,EAAE;IACtDE,MAAM,GAAGD,SAAS,CAACE,KAAK,EAAEC,KAAK,EAAEJ,UAAU,CAAC;IAC5C,OAAO,CAACE,MAAM;EAChB,CAAC,CAAC;EACF,OAAO,CAAC,CAACA,MAAM;AACjB;AAEA,eAAeH,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/23a5e059d54426a87561e07b521ebec04e74d6bed78d73beb457205c5d3192a1.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/23a5e059d54426a87561e07b521ebec04e74d6bed78d73beb457205c5d3192a1.json new file mode 100644 index 00000000..b29b32dd --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/23a5e059d54426a87561e07b521ebec04e74d6bed78d73beb457205c5d3192a1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { dialogContentProps } from './dialog-content.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { teleportProps } from '../../teleport/src/teleport.mjs';\nimport { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nimport { isBoolean } from '../../../utils/types.mjs';\nconst dialogProps = buildProps({\n ...dialogContentProps,\n appendToBody: Boolean,\n appendTo: {\n type: teleportProps.to.type,\n default: \"body\"\n },\n beforeClose: {\n type: definePropType(Function)\n },\n destroyOnClose: Boolean,\n closeOnClickModal: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n modal: {\n type: Boolean,\n default: true\n },\n openDelay: {\n type: Number,\n default: 0\n },\n closeDelay: {\n type: Number,\n default: 0\n },\n top: {\n type: String\n },\n modelValue: Boolean,\n modalClass: String,\n headerClass: String,\n bodyClass: String,\n footerClass: String,\n width: {\n type: [String, Number]\n },\n zIndex: {\n type: Number\n },\n trapFocus: Boolean,\n headerAriaLevel: {\n type: String,\n default: \"2\"\n }\n});\nconst dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: value => isBoolean(value),\n openAutoFocus: () => true,\n closeAutoFocus: () => true\n};\nexport { dialogEmits, dialogProps };","map":{"version":3,"names":["dialogProps","buildProps","dialogContentProps","appendToBody","Boolean","appendTo","type","teleportProps","to","default","beforeClose","definePropType","Function","destroyOnClose","closeOnClickModal","closeOnPressEscape","lockScroll","modal","openDelay","Number","closeDelay","top","String","modelValue","modalClass","headerClass","bodyClass","footerClass","width","zIndex","trapFocus","headerAriaLevel","dialogEmits","open","opened","close","closed","UPDATE_MODEL_EVENT","value","isBoolean","openAutoFocus","closeAutoFocus"],"sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { buildProps, definePropType, isBoolean } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { teleportProps } from '@element-plus/components/teleport'\nimport { dialogContentProps } from './dialog-content'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Dialog from './dialog.vue'\n\ntype DoneFn = (cancel?: boolean) => void\nexport type DialogBeforeCloseFn = (done: DoneFn) => void\n\nexport const dialogProps = buildProps({\n ...dialogContentProps,\n /**\n * @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true`\n */\n appendToBody: Boolean,\n /**\n * @description which element the Dialog appends to\n */\n appendTo: {\n type: teleportProps.to.type,\n default: 'body',\n },\n /**\n * @description callback before Dialog closes, and it will prevent Dialog from closing, use done to close the dialog\n */\n beforeClose: {\n type: definePropType(Function),\n },\n /**\n * @description destroy elements in Dialog when closed\n */\n destroyOnClose: Boolean,\n /**\n * @description whether the Dialog can be closed by clicking the mask\n */\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the Dialog can be closed by pressing ESC\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether scroll of body is disabled while Dialog is displayed\n */\n lockScroll: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether a mask is displayed\n */\n modal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the Time(milliseconds) before open\n */\n openDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description the Time(milliseconds) before close\n */\n closeDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description value for `margin-top` of Dialog CSS, default is 15vh\n */\n top: {\n type: String,\n },\n /**\n * @description visibility of Dialog\n */\n modelValue: Boolean,\n /**\n * @description custom class names for mask\n */\n modalClass: String,\n /**\n * @description custom class names for header wrapper\n */\n headerClass: String,\n /**\n * @description custom class names for body wrapper\n */\n bodyClass: String,\n /**\n * @description custom class names for footer wrapper\n */\n footerClass: String,\n /**\n * @description width of Dialog, default is 50%\n */\n width: {\n type: [String, Number],\n },\n /**\n * @description same as z-index in native CSS, z-order of dialog\n */\n zIndex: {\n type: Number,\n },\n trapFocus: Boolean,\n /**\n * @description header's aria-level attribute\n */\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DialogProps = ExtractPropTypes\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => isBoolean(value),\n openAutoFocus: () => true,\n closeAutoFocus: () => true,\n}\nexport type DialogEmits = typeof dialogEmits\nexport type DialogInstance = InstanceType & unknown\n"],"mappings":";;;;;AAIY,MAACA,WAAW,GAAGC,UAAU,CAAC;EACpC,GAAGC,kBAAkB;EACrBC,YAAY,EAAEC,OAAO;EACrBC,QAAQ,EAAE;IACRC,IAAI,EAAEC,aAAa,CAACC,EAAE,CAACF,IAAI;IAC3BG,OAAO,EAAE;EACb,CAAG;EACDC,WAAW,EAAE;IACXJ,IAAI,EAAEK,cAAc,CAACC,QAAQ;EACjC,CAAG;EACDC,cAAc,EAAET,OAAO;EACvBU,iBAAiB,EAAE;IACjBR,IAAI,EAAEF,OAAO;IACbK,OAAO,EAAE;EACb,CAAG;EACDM,kBAAkB,EAAE;IAClBT,IAAI,EAAEF,OAAO;IACbK,OAAO,EAAE;EACb,CAAG;EACDO,UAAU,EAAE;IACVV,IAAI,EAAEF,OAAO;IACbK,OAAO,EAAE;EACb,CAAG;EACDQ,KAAK,EAAE;IACLX,IAAI,EAAEF,OAAO;IACbK,OAAO,EAAE;EACb,CAAG;EACDS,SAAS,EAAE;IACTZ,IAAI,EAAEa,MAAM;IACZV,OAAO,EAAE;EACb,CAAG;EACDW,UAAU,EAAE;IACVd,IAAI,EAAEa,MAAM;IACZV,OAAO,EAAE;EACb,CAAG;EACDY,GAAG,EAAE;IACHf,IAAI,EAAEgB;EACV,CAAG;EACDC,UAAU,EAAEnB,OAAO;EACnBoB,UAAU,EAAEF,MAAM;EAClBG,WAAW,EAAEH,MAAM;EACnBI,SAAS,EAAEJ,MAAM;EACjBK,WAAW,EAAEL,MAAM;EACnBM,KAAK,EAAE;IACLtB,IAAI,EAAE,CAACgB,MAAM,EAAEH,MAAM;EACzB,CAAG;EACDU,MAAM,EAAE;IACNvB,IAAI,EAAEa;EACV,CAAG;EACDW,SAAS,EAAE1B,OAAO;EAClB2B,eAAe,EAAE;IACfzB,IAAI,EAAEgB,MAAM;IACZb,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACuB,WAAW,GAAG;EACzBC,IAAI,EAAEA,CAAA,KAAM,IAAI;EAChBC,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClBC,KAAK,EAAEA,CAAA,KAAM,IAAI;EACjBC,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClB,CAACC,kBAAkB,GAAIC,KAAK,IAAKC,SAAS,CAACD,KAAK,CAAC;EACjDE,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,cAAc,EAAEA,CAAA,KAAM;AACxB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/23ef0cdb695d398e7d9a1637e9b0c10b99f8aad80984e9ddf80d581585e79976.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/23ef0cdb695d398e7d9a1637e9b0c10b99f8aad80984e9ddf80d581585e79976.json new file mode 100644 index 00000000..036d303a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/23ef0cdb695d398e7d9a1637e9b0c10b99f8aad80984e9ddf80d581585e79976.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function (collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\nexport default createAggregator;","map":{"version":3,"names":["arrayAggregator","baseAggregator","baseIteratee","isArray","createAggregator","setter","initializer","collection","iteratee","func","accumulator"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_createAggregator.js"],"sourcesContent":["import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nexport default createAggregator;\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,uBAAuB;AACnD,OAAOC,cAAc,MAAM,sBAAsB;AACjD,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,OAAO,MAAM,cAAc;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAACC,MAAM,EAAEC,WAAW,EAAE;EAC7C,OAAO,UAASC,UAAU,EAAEC,QAAQ,EAAE;IACpC,IAAIC,IAAI,GAAGN,OAAO,CAACI,UAAU,CAAC,GAAGP,eAAe,GAAGC,cAAc;MAC7DS,WAAW,GAAGJ,WAAW,GAAGA,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAElD,OAAOG,IAAI,CAACF,UAAU,EAAEF,MAAM,EAAEH,YAAY,CAACM,QAAQ,EAAE,CAAC,CAAC,EAAEE,WAAW,CAAC;EACzE,CAAC;AACH;AAEA,eAAeN,gBAAgB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2407b96de75865e047b948abfeceac685cf5e96d2ea29b80bca8f158f75676cc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2407b96de75865e047b948abfeceac685cf5e96d2ea29b80bca8f158f75676cc.json new file mode 100644 index 00000000..113fbfab --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2407b96de75865e047b948abfeceac685cf5e96d2ea29b80bca8f158f75676cc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createFind from './_createFind.js';\nimport findLastIndex from './findLastIndex.js';\n\n/**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\nvar findLast = createFind(findLastIndex);\nexport default findLast;","map":{"version":3,"names":["createFind","findLastIndex","findLast"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/findLast.js"],"sourcesContent":["import createFind from './_createFind.js';\nimport findLastIndex from './findLastIndex.js';\n\n/**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\nvar findLast = createFind(findLastIndex);\n\nexport default findLast;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,aAAa,MAAM,oBAAoB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,QAAQ,GAAGF,UAAU,CAACC,aAAa,CAAC;AAExC,eAAeC,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/245269daf9bc8f01691be3bd8df1e7360606cfef8bc8db82bf38dbd8036d0c9d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/245269daf9bc8f01691be3bd8df1e7360606cfef8bc8db82bf38dbd8036d0c9d.json new file mode 100644 index 00000000..5589fbd6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/245269daf9bc8f01691be3bd8df1e7360606cfef8bc8db82bf38dbd8036d0c9d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, inject, computed, toRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport SharedMap from '../components/SharedMap.vue';\nimport BasicMapPanel from '../components/map-panels/BasicMapPanel.vue';\nimport ThreatZonePanel from '../components/map-panels/ThreatZonePanel.vue';\nimport PathPlanningPanel from '../components/map-panels/PathPlanningPanel.vue';\nimport PathHistoryPanel from '../components/map-panels/PathHistoryPanel.vue';\nimport MultiToMultiPlanningPanel from '../components/map-panels/MultiToMultiPlanningPanel.vue';\nimport axios from 'axios';\nexport default {\n name: 'UnifiedMapView',\n components: {\n SharedMap,\n BasicMapPanel,\n ThreatZonePanel,\n PathPlanningPanel,\n PathHistoryPanel,\n MultiToMultiPlanningPanel\n },\n setup() {\n const store = useStore();\n const sharedMapRef = ref(null);\n\n // 活动面板\n const activePanel = ref('basicMap');\n\n // 地图实例\n const mapInstance = ref(null);\n\n // 通用状态\n const addMode = ref(false);\n\n // 地图视图相关状态\n const targetPoints = ref([]);\n const targetMarkers = ref([]);\n\n // 威胁区相关状态\n const threatZones = ref([]);\n // 使用普通对象存储地图覆盖物,避免响应式问题\n const zoneOverlays = {};\n const drawMode = ref(null);\n const currentThreatType = ref('radar');\n const threatLevel = ref('medium');\n const circleRadius = ref(1000);\n const threatDescription = ref('');\n const threatTimeRange = ref([new Date(), new Date(Date.now() + 24 * 60 * 60 * 1000)]);\n const selectedZoneId = ref(null);\n const visibleLayers = ref(['radar', 'missile', 'aircraft', 'ground', 'weather']);\n const editDialogVisible = ref(false);\n const editForm = ref({\n id: null,\n type: 'radar',\n level: 'medium',\n description: '',\n geometry: null\n });\n\n // 路径规划相关状态\n const pathPoints = ref([]);\n const pathMarkers = ref([]);\n const pathLine = ref(null);\n const planningAlgorithm = ref('astar');\n const flightAltitude = ref(100);\n const flightSpeed = ref(10);\n const pathInfo = ref(null);\n\n // 路径历史相关状态\n const selectedHistoryPaths = ref([]);\n const historyPathOverlays = {}; // 存储历史路径的覆盖物\n\n // 多对多规划相关状态\n const multiStartPoints = ref([]); // 多个起点\n const multiTargetPoints = ref([]); // 多个目标点\n const multiStartMarkers = ref([]); // 起点标记\n const multiTargetMarkers = ref([]); // 目标点标记\n const multiPathLines = ref([]); // 多条路径线\n const addStartMode = ref(false); // 添加起点模式\n const addTargetMode = ref(false); // 添加目标点模式\n const multiPlanningMode = ref('assignment'); // 规划模式:assignment | cooperative\n const multiPlanningAlgorithm = ref('astar'); // 规划算法\n const assignmentStrategy = ref('shortest_distance'); // 分配策略\n const multiFlightAltitude = ref(100); // 飞行高度\n const multiFlightSpeed = ref(10); // 飞行速度\n const multiPlanningResult = ref(null); // 规划结果\n\n // 绘制工具相关\n const mouseTool = ref(null);\n\n // 新增无人机相关状态\n const drones = ref([]);\n const selectedDroneId = ref(null);\n\n // 获取无人机列表\n const fetchDrones = async () => {\n try {\n const token = localStorage.getItem('token');\n const res = await axios.get('/api/drones', {\n headers: {\n Authorization: `Bearer ${token}`\n }\n });\n if (res.data.success) {\n drones.value = res.data.data;\n if (drones.value.length > 0 && !selectedDroneId.value) {\n selectedDroneId.value = drones.value[0].id;\n }\n }\n } catch (e) {\n ElMessage.error('获取无人机列表失败');\n }\n };\n\n // 安全的 base64 编码函数\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 威胁类型配置\n const threatTypeConfig = {\n radar: {\n name: '雷达威胁',\n color: '#FF6B6B'\n },\n missile: {\n name: '导弹威胁',\n color: '#FF4757'\n },\n aircraft: {\n name: '空中威胁',\n color: '#5352ED'\n },\n ground: {\n name: '地面威胁',\n color: '#20BF6B'\n },\n weather: {\n name: '气象威胁',\n color: '#A55EEA'\n }\n };\n\n // 威胁等级配置\n const threatLevelConfig = {\n low: {\n name: '低威胁',\n opacity: 0.3\n },\n medium: {\n name: '中威胁',\n opacity: 0.5\n },\n high: {\n name: '高威胁',\n opacity: 0.7\n },\n critical: {\n name: '极高威胁',\n opacity: 0.9\n }\n };\n\n // 地图加载后回调\n const onMapLoaded = map => {\n mapInstance.value = map;\n console.log('地图加载完成,开始自动加载数据...');\n\n // 初始化鼠标工具\n const AMap = window.AMap;\n if (AMap) {\n try {\n mouseTool.value = new AMap.MouseTool(map);\n mouseTool.value.on('draw', onDrawComplete);\n console.log('MouseTool初始化成功');\n } catch (error) {\n console.error('MouseTool初始化失败:', error);\n }\n }\n\n // 自动加载所有数据\n loadAllData();\n };\n\n // 自动加载所有数据\n const loadAllData = async () => {\n try {\n console.log('开始自动加载所有数据...');\n\n // 加载威胁区数据\n await loadThreatZones();\n console.log('所有数据加载完成');\n } catch (error) {\n console.error('自动加载数据失败:', error);\n }\n };\n\n // 地图点击事件处理\n const onMapClick = e => {\n const {\n lng,\n lat\n } = e.lnglat;\n console.log('地图点击事件:', {\n lng,\n lat,\n activePanel: activePanel.value,\n addMode: addMode.value\n });\n if (activePanel.value === 'basicMap' && addMode.value) {\n // 地图视图 - 添加目标点\n addTargetPoint(lng, lat);\n } else if (activePanel.value === 'pathPlanning' && addMode.value) {\n // 路径规划 - 添加路径点\n addPathPoint(lng, lat);\n } else if (activePanel.value === 'multiToMultiPlanning') {\n // 多对多规划 - 根据模式添加起点或目标点\n if (addStartMode.value) {\n addMultiStartPoint(lng, lat);\n } else if (addTargetMode.value) {\n addMultiTargetPoint(lng, lat);\n }\n }\n // 威胁区绘制通过mouseTool处理\n };\n\n // 初始化当前面板的功能\n const initActivePanelFeatures = () => {\n switch (activePanel.value) {\n case 'basicMap':\n // 初始化地图基础功能\n break;\n case 'threatZone':\n // 初始化威胁区功能\n loadThreatZones();\n break;\n case 'pathPlanning':\n // 初始化路径规划功能\n break;\n }\n };\n\n // 切换标签页\n const handleTabClick = () => {\n // 重置通用状态\n addMode.value = false;\n drawMode.value = null;\n\n // 停止鼠标工具\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 更新威胁区域的可点击性\n updateThreatZoneClickability();\n\n // 初始化当前面板的功能\n initActivePanelFeatures();\n };\n\n // 更新威胁区域的可点击性\n const updateThreatZoneClickability = () => {\n const isClickable = activePanel.value === 'threatZone';\n Object.values(zoneOverlays).forEach(overlay => {\n if (overlay && overlay.setOptions) {\n try {\n overlay.setOptions({\n cursor: isClickable ? 'pointer' : 'default',\n zIndex: isClickable ? 100 : 1\n });\n } catch (error) {\n console.warn('更新威胁区域属性时出错:', error);\n }\n }\n });\n console.log(`威胁区域显示状态已更新,当前面板: ${activePanel.value}`);\n };\n\n // --- 通用功能 ---\n\n // 切换添加模式\n const toggleAddMode = () => {\n addMode.value = !addMode.value;\n // 如果是威胁区模式,退出绘制模式\n if (activePanel.value === 'threatZone') {\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n }\n };\n\n // 无人机相关功能已删除\n\n // 获取添加模式提示\n const getAddModeTip = () => {\n if (activePanel.value === 'basicMap') {\n return '点击地图添加目标点';\n } else if (activePanel.value === 'pathPlanning') {\n return '点击地图添加路径点';\n }\n return '';\n };\n\n // --- 地图视图功能 ---\n\n // 添加目标点\n const addTargetPoint = (lng, lat) => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n\n // 创建目标点标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `Target (${lng.toFixed(6)}, ${lat.toFixed(6)})`\n });\n\n // 添加点击事件\n marker.on('click', () => {\n ElMessage({\n message: `目标点坐标: ${lng.toFixed(6)}, ${lat.toFixed(6)}`,\n type: 'info'\n });\n });\n mapInstance.value.add(marker);\n targetMarkers.value.push(marker);\n targetPoints.value.push({\n lng,\n lat\n });\n ElMessage.success(`已添加目标点: ${lng.toFixed(6)}, ${lat.toFixed(6)}`);\n };\n\n // 清除所有目标点\n const clearTargets = () => {\n targetMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n targetMarkers.value = [];\n targetPoints.value = [];\n ElMessage.success('已清除所有目标点');\n };\n\n // --- 威胁区功能 ---\n\n // 获取绘制提示\n const getDrawTip = () => {\n if (drawMode.value === 'circle') {\n return '点击地图确定威胁区圆心,拖动确定半径';\n } else if (drawMode.value === 'polygon') {\n return '点击添加多边形顶点,双击结束绘制';\n } else if (drawMode.value === 'rectangle') {\n return '点击并拖动绘制矩形区域';\n }\n return '';\n };\n\n // 处理威胁类型变化\n const handleThreatTypeChange = type => {\n currentThreatType.value = type;\n };\n\n // 处理威胁等级变化\n const handleThreatLevelChange = level => {\n threatLevel.value = level;\n };\n\n // 更新圆形半径\n const updateCircleRadius = radius => {\n circleRadius.value = radius;\n };\n\n // 更新威胁描述\n const updateThreatDescription = desc => {\n threatDescription.value = desc;\n };\n\n // 更新威胁时间范围\n const updateThreatTimeRange = range => {\n threatTimeRange.value = range;\n };\n\n // 设置绘制模式\n const setDrawMode = mode => {\n if (!mouseTool.value) {\n ElMessage.error('绘制工具未初始化');\n return;\n }\n if (drawMode.value === mode) {\n // 取消绘制模式\n drawMode.value = null;\n try {\n mouseTool.value.close(true);\n } catch (error) {\n console.warn('关闭绘制工具时出错:', error);\n }\n ElMessage.info('已取消绘制模式');\n return;\n }\n drawMode.value = mode;\n addMode.value = false;\n\n // 开始绘制\n const options = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 2,\n strokeOpacity: 0.8,\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n try {\n console.log('开始绘制模式:', mode, '选项:', options);\n switch (mode) {\n case 'circle':\n mouseTool.value.circle(options);\n break;\n case 'polygon':\n mouseTool.value.polygon(options);\n break;\n case 'rectangle':\n mouseTool.value.rectangle(options);\n break;\n }\n ElMessage.info(getDrawTip());\n } catch (error) {\n console.error('启动绘制工具失败:', error);\n ElMessage.error('启动绘制工具失败');\n drawMode.value = null;\n }\n };\n\n // 绘制完成事件\n const onDrawComplete = async event => {\n // 使用toRaw来获取原始对象,避免Vue响应式代理问题\n const overlay = toRaw(event.obj);\n console.log('原始威胁区绘制完成:', overlay);\n console.log('覆盖物类型:', overlay.className || overlay.CLASS_NAME);\n\n // 确保覆盖物已添加到地图并设置正确的样式\n try {\n // 检查覆盖物是否已经在地图上\n const overlays = mapInstance.value.getAllOverlays('polygon');\n console.log('地图上的多边形覆盖物:', overlays);\n\n // 重新设置样式以确保显示正确\n const styleOptions = {\n strokeColor: threatTypeConfig[currentThreatType.value].color,\n strokeWeight: 3,\n // 加粗边框\n strokeOpacity: 1,\n // 完全不透明的边框\n fillColor: threatTypeConfig[currentThreatType.value].color,\n fillOpacity: threatLevelConfig[threatLevel.value].opacity\n };\n console.log('应用样式选项:', styleOptions);\n overlay.setOptions(styleOptions);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log('威胁区样式设置完成');\n } catch (error) {\n console.error('设置威胁区样式失败:', error);\n }\n\n // 创建威胁区数据 - 不要将overlay放入响应式数据中\n const geometry = getGeometryFromOverlay(overlay);\n\n // 验证必需字段\n if (!currentThreatType.value) {\n console.error('威胁类型为空:', currentThreatType.value);\n ElMessage.error('请选择威胁类型');\n return;\n }\n if (!threatLevel.value) {\n console.error('威胁等级为空:', threatLevel.value);\n ElMessage.error('请选择威胁等级');\n return;\n }\n if (!geometry) {\n console.error('几何信息解析失败');\n ElMessage.error('无法解析威胁区形状信息');\n return;\n }\n const zoneData = {\n type: currentThreatType.value,\n level: threatLevel.value,\n description: threatDescription.value || '',\n timeRange: [...threatTimeRange.value],\n // 创建副本避免响应式问题\n geometry: geometry\n };\n try {\n console.log('准备发送威胁区数据:', zoneData);\n console.log('当前威胁类型:', currentThreatType.value);\n console.log('当前威胁等级:', threatLevel.value);\n console.log('当前描述:', threatDescription.value);\n console.log('几何信息:', geometry);\n\n // 保存到后端\n const response = await fetch('/api/threat-zones', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(zoneData)\n });\n console.log('API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('API错误响应:', errorText);\n throw new Error(`保存威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('API成功响应:', result);\n if (result.success) {\n const zone = result.data;\n\n // 移除原始绘制的覆盖物\n mapInstance.value.remove(overlay);\n\n // 使用统一的渲染函数重新创建覆盖物,确保格式一致\n renderThreatZoneOnMap(zone);\n ElMessage.success(`已创建${threatTypeConfig[currentThreatType.value].name}区域`);\n console.log('威胁区已保存到数据库并重新渲染:', zone);\n } else {\n throw new Error(result.message || '保存威胁区失败');\n }\n } catch (error) {\n console.error('保存威胁区到后端失败:', error);\n ElMessage.error('保存威胁区失败: ' + error.message);\n\n // 保存失败时,从地图移除覆盖物\n mapInstance.value.remove(overlay);\n }\n\n // 重置绘制模式\n drawMode.value = null;\n if (mouseTool.value) {\n mouseTool.value.close(true);\n }\n\n // 输出调试信息\n console.log('当前所有威胁区:', threatZones.value.length);\n };\n const getGeometryFromOverlay = overlay => {\n console.log('解析覆盖物几何信息:', overlay.CLASS_NAME || overlay.className);\n try {\n if (overlay.CLASS_NAME === 'AMap.Circle' || overlay.className === 'Overlay.Circle') {\n const center = overlay.getCenter();\n const radius = overlay.getRadius();\n console.log('圆形几何信息:', {\n center,\n radius\n });\n return {\n type: 'circle',\n center: [center.lng, center.lat],\n radius: radius\n };\n } else if (overlay.CLASS_NAME === 'AMap.Polygon' || overlay.className === 'Overlay.Polygon') {\n const path = overlay.getPath();\n console.log('多边形几何信息:', path);\n return {\n type: 'polygon',\n path: path.map(point => [point.lng, point.lat])\n };\n } else if (overlay.CLASS_NAME === 'AMap.Rectangle' || overlay.className === 'Overlay.Rectangle') {\n const bounds = overlay.getBounds();\n console.log('矩形几何信息:', bounds);\n return {\n type: 'rectangle',\n bounds: [bounds.getSouthWest().lng, bounds.getSouthWest().lat, bounds.getNorthEast().lng, bounds.getNorthEast().lat]\n };\n }\n } catch (error) {\n console.error('解析几何信息失败:', error);\n }\n console.error('未识别的覆盖物类型:', overlay.CLASS_NAME || overlay.className);\n return null;\n };\n\n // 加载威胁区\n const loadThreatZones = async () => {\n try {\n console.log('开始加载威胁区数据...');\n console.log('请求URL: /api/threat-zones');\n const response = await fetch('/api/threat-zones');\n console.log('加载API响应状态:', response.status, response.statusText);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('加载API错误响应:', errorText);\n throw new Error(`获取威胁区失败: ${response.status} ${response.statusText} - ${errorText}`);\n }\n const result = await response.json();\n console.log('加载API成功响应:', result);\n if (result.success) {\n console.log('从后端获取威胁区数据:', result.data);\n\n // 清除现有威胁区(仅清除地图,不调用后端API)\n clearAllZones(true);\n\n // 渲染威胁区到地图\n result.data.forEach(zone => {\n renderThreatZoneOnMap(zone);\n });\n console.log(`成功加载 ${result.data.length} 个威胁区`);\n } else {\n throw new Error(result.message || '获取威胁区失败');\n }\n } catch (error) {\n console.error('加载威胁区失败:', error);\n ElMessage.error('加载威胁区失败: ' + error.message);\n }\n };\n\n // 在地图上渲染威胁区\n const renderThreatZoneOnMap = zone => {\n if (!mapInstance.value) {\n console.error('地图实例不存在,无法渲染威胁区');\n return;\n }\n\n // 验证威胁区数据\n if (!zone || !zone.geometry) {\n console.error('威胁区数据无效:', zone);\n return;\n }\n try {\n console.log('开始渲染威胁区到地图:', zone);\n const AMap = window.AMap;\n let overlay = null;\n\n // 威胁区样式配置\n const styleOptions = {\n strokeColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n strokeWeight: 3,\n strokeOpacity: 1,\n fillColor: threatTypeConfig[zone.type]?.color || '#FF0000',\n fillOpacity: threatLevelConfig[zone.level]?.opacity || 0.3\n };\n console.log('威胁区样式配置:', styleOptions);\n console.log('威胁区几何信息:', zone.geometry);\n\n // 根据几何类型创建覆盖物\n if (zone.geometry.type === 'circle') {\n // 验证圆形数据\n if (!zone.geometry.center || !Array.isArray(zone.geometry.center) || zone.geometry.center.length !== 2 || zone.geometry.center[0] == null || zone.geometry.center[1] == null || isNaN(Number(zone.geometry.center[0])) || isNaN(Number(zone.geometry.center[1])) || !zone.geometry.radius || zone.geometry.radius <= 0) {\n console.error('圆形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保坐标是数字类型\n const lng = Number(zone.geometry.center[0]);\n const lat = Number(zone.geometry.center[1]);\n const radius = Number(zone.geometry.radius);\n console.log('创建圆形威胁区:', [lng, lat], radius);\n overlay = new AMap.Circle({\n center: new AMap.LngLat(lng, lat),\n radius: radius,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'polygon') {\n // 验证多边形数据\n if (!zone.geometry.path || !Array.isArray(zone.geometry.path) || zone.geometry.path.length < 3) {\n console.error('多边形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 验证并转换每个点的格式\n const validPath = zone.geometry.path.every(point => Array.isArray(point) && point.length === 2 && point[0] != null && point[1] != null && !isNaN(Number(point[0])) && !isNaN(Number(point[1])));\n if (!validPath) {\n console.error('多边形威胁区路径点数据格式错误:', zone.geometry.path);\n return;\n }\n console.log('创建多边形威胁区:', zone.geometry.path);\n const path = zone.geometry.path.map(point => new AMap.LngLat(Number(point[0]), Number(point[1])));\n overlay = new AMap.Polygon({\n path: path,\n ...styleOptions\n });\n } else if (zone.geometry.type === 'rectangle') {\n // 验证并转换矩形数据\n if (!zone.geometry.bounds || !Array.isArray(zone.geometry.bounds) || zone.geometry.bounds.length !== 4 || zone.geometry.bounds.some(val => val == null || isNaN(Number(val)))) {\n console.error('矩形威胁区数据格式错误:', zone.geometry);\n return;\n }\n\n // 确保边界坐标是数字类型\n const boundsNumbers = zone.geometry.bounds.map(val => Number(val));\n console.log('创建矩形威胁区:', boundsNumbers);\n const bounds = new AMap.Bounds(new AMap.LngLat(boundsNumbers[0], boundsNumbers[1]), new AMap.LngLat(boundsNumbers[2], boundsNumbers[3]));\n overlay = new AMap.Rectangle({\n bounds: bounds,\n ...styleOptions\n });\n } else {\n console.error('不支持的威胁区几何类型:', zone.geometry.type);\n return;\n }\n if (overlay) {\n console.log('威胁区覆盖物创建成功,添加到地图');\n\n // 添加到地图\n mapInstance.value.add(overlay);\n\n // 存储覆盖物\n zoneOverlays[zone.id] = overlay;\n\n // 检查威胁区是否已在列表中,避免重复添加\n const existingIndex = threatZones.value.findIndex(z => z.id === zone.id);\n if (existingIndex === -1) {\n threatZones.value.push(zone);\n console.log('威胁区已添加到列表');\n } else {\n console.log('威胁区已存在列表中,跳过添加');\n }\n\n // 为威胁区域绑定点击事件处理函数\n const handleZoneClick = e => {\n console.log('威胁区域被点击,当前面板:', activePanel.value, '威胁区ID:', zone.id);\n if (activePanel.value === 'threatZone') {\n // 威胁区设置模式:处理威胁区选择\n console.log('处理威胁区点击选择');\n selectZone(zone.id);\n // 阻止事件冒泡,避免触发地图点击\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n } else {\n // 其他模式:手动触发地图点击事件\n console.log('非威胁区模式,手动触发地图点击事件');\n try {\n // 获取点击位置\n const lnglat = e.lnglat;\n console.log('手动触发地图点击:', lnglat);\n\n // 手动调用地图点击处理函数\n onMapClick({\n lnglat\n });\n } catch (error) {\n console.error('手动触发地图点击失败:', error);\n }\n }\n };\n\n // 威胁区域始终绑定点击事件\n overlay.on('click', handleZoneClick);\n\n // 强制刷新地图显示\n setTimeout(() => {\n mapInstance.value.setFitView();\n }, 100);\n console.log(`威胁区 ${zone.id} 已成功渲染到地图`);\n } else {\n console.error('威胁区覆盖物创建失败');\n }\n } catch (error) {\n console.error('渲染威胁区失败:', zone.id, error);\n }\n };\n\n // 选择威胁区\n const selectZone = id => {\n selectedZoneId.value = id;\n const overlay = zoneOverlays[id];\n if (overlay) {\n // 高亮选中的威胁区\n overlay.setOptions({\n strokeWeight: 4,\n strokeOpacity: 1\n });\n\n // 取消其他威胁区的高亮\n threatZones.value.forEach(z => {\n if (z.id !== id) {\n const otherOverlay = zoneOverlays[z.id];\n if (otherOverlay) {\n otherOverlay.setOptions({\n strokeWeight: 2,\n strokeOpacity: 0.8\n });\n }\n }\n });\n }\n };\n\n // 删除威胁区\n const deleteZone = async id => {\n try {\n console.log('开始删除威胁区:', id);\n const response = await fetch(`/api/threat-zones/${id}`, {\n method: 'DELETE'\n });\n if (!response.ok) {\n throw new Error('删除威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 从地图移除覆盖物\n const overlay = zoneOverlays[id];\n if (overlay) {\n mapInstance.value.remove(overlay);\n delete zoneOverlays[id];\n }\n\n // 从列表中移除\n threatZones.value = threatZones.value.filter(zone => zone.id !== id);\n if (selectedZoneId.value === id) {\n selectedZoneId.value = null;\n }\n ElMessage.success('威胁区已删除');\n console.log('威胁区删除成功:', id);\n } else {\n throw new Error(result.message || '删除威胁区失败');\n }\n } catch (error) {\n console.error('删除威胁区失败:', error);\n ElMessage.error('删除威胁区失败: ' + error.message);\n }\n };\n\n // 编辑威胁区\n const editZone = zone => {\n editForm.value = {\n ...zone\n };\n editDialogVisible.value = true;\n };\n\n // 保存编辑的威胁区\n const saveEditedZone = async () => {\n try {\n console.log('开始更新威胁区:', editForm.value.id);\n const response = await fetch(`/api/threat-zones/${editForm.value.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n type: editForm.value.type,\n level: editForm.value.level,\n description: editForm.value.description\n })\n });\n if (!response.ok) {\n throw new Error('更新威胁区失败');\n }\n const result = await response.json();\n if (result.success) {\n // 更新本地数据\n const zone = threatZones.value.find(z => z.id === editForm.value.id);\n if (zone) {\n zone.type = editForm.value.type;\n zone.level = editForm.value.level;\n zone.description = editForm.value.description;\n\n // 更新覆盖物样式\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n overlay.setOptions({\n strokeColor: threatTypeConfig[zone.type].color,\n fillColor: threatTypeConfig[zone.type].color,\n fillOpacity: threatLevelConfig[zone.level].opacity\n });\n }\n }\n ElMessage.success('威胁区已更新');\n console.log('威胁区更新成功:', result.data);\n } else {\n throw new Error(result.message || '更新威胁区失败');\n }\n } catch (error) {\n console.error('更新威胁区失败:', error);\n ElMessage.error('更新威胁区失败: ' + error.message);\n }\n editDialogVisible.value = false;\n };\n\n // 清除所有威胁区\n const clearAllZones = async (skipConfirm = false) => {\n try {\n if (!skipConfirm && threatZones.value.length > 0) {\n // 批量删除所有威胁区\n const zoneIds = threatZones.value.map(zone => zone.id);\n console.log('开始批量删除威胁区:', zoneIds);\n const response = await fetch('/api/threat-zones', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ids: zoneIds\n })\n });\n if (!response.ok) {\n throw new Error('批量删除威胁区失败');\n }\n const result = await response.json();\n if (!result.success) {\n throw new Error(result.message || '批量删除威胁区失败');\n }\n console.log('威胁区批量删除成功:', result.data);\n }\n\n // 从地图移除所有覆盖物\n Object.values(zoneOverlays).forEach(overlay => {\n if (mapInstance.value) {\n mapInstance.value.remove(overlay);\n }\n });\n\n // 清空数据\n threatZones.value = [];\n Object.keys(zoneOverlays).forEach(key => {\n delete zoneOverlays[key];\n });\n selectedZoneId.value = null;\n if (!skipConfirm) {\n ElMessage.success('已清除所有威胁区');\n }\n } catch (error) {\n console.error('清除威胁区失败:', error);\n if (!skipConfirm) {\n ElMessage.error('清除威胁区失败: ' + error.message);\n }\n }\n };\n\n // 更新图层可见性\n const updateLayerVisibility = layers => {\n visibleLayers.value = layers;\n\n // 更新威胁区显示\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay) {\n if (layers.includes(zone.type)) {\n mapInstance.value.add(overlay);\n } else {\n mapInstance.value.remove(overlay);\n }\n }\n });\n };\n\n // 适合威胁区\n const fitToZones = () => {\n if (threatZones.value.length === 0) return;\n const bounds = new window.AMap.Bounds();\n threatZones.value.forEach(zone => {\n const overlay = zoneOverlays[zone.id];\n if (overlay && overlay.getBounds) {\n bounds.extend(overlay.getBounds());\n } else if (zone.geometry?.center) {\n bounds.extend(zone.geometry.center);\n }\n });\n mapInstance.value.setBounds(bounds);\n };\n\n // --- 路径规划功能 ---\n\n // 添加路径点\n const addPathPoint = (lng, lat) => {\n console.log('尝试添加路径点:', {\n lng,\n lat,\n mapInstance: !!mapInstance.value,\n addMode: addMode.value\n });\n if (!addMode.value || !mapInstance.value) return;\n const AMap = window.AMap;\n const pointIndex = pathPoints.value.length + 1;\n\n // 添加路径点\n pathPoints.value.push({\n lng,\n lat\n });\n console.log('路径点已添加到数组:', pathPoints.value.length);\n\n // 创建标记\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${pointIndex}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${pointIndex}`,\n zIndex: 999 // 确保路径点标记在威胁区域之上\n });\n console.log('开始添加标记到地图...');\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n console.log('标记已添加,当前标记数量:', pathMarkers.value.length);\n\n // 如果有多个点,绘制路径线\n if (pathPoints.value.length > 1) {\n updatePathLine();\n }\n ElMessage.success(`已添加路径点${pointIndex}`);\n };\n const updatePathLine = () => {\n if (!mapInstance.value) return;\n const AMap = window.AMap;\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n }\n const path = pathPoints.value.map(p => [p.lng, p.lat]);\n pathLine.value = new AMap.Polyline({\n path: path,\n strokeColor: '#1890FF',\n strokeWeight: 4,\n strokeStyle: 'solid'\n });\n mapInstance.value.add(pathLine.value);\n };\n\n // 移除路径点\n const removePoint = index => {\n pathPoints.value.splice(index, 1);\n\n // 重新绘制标记和路径\n clearPathMarkers();\n pathPoints.value.forEach((point, i) => {\n addPathPointMarker(point.lng, point.lat, i + 1);\n });\n if (pathPoints.value.length > 1) {\n updatePathLine();\n } else if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 重置路径信息\n pathInfo.value = null;\n };\n const addPathPointMarker = (lng, lat, index) => {\n const AMap = window.AMap;\n const marker = new AMap.Marker({\n position: [lng, lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${index}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: `路径点${index}`\n });\n mapInstance.value.add(marker);\n pathMarkers.value.push(marker);\n };\n const clearPathMarkers = () => {\n pathMarkers.value.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n pathMarkers.value = [];\n };\n\n // 规划路径 - 支持多目标点\n const planPath = async () => {\n if (pathPoints.value.length < 2) {\n ElMessage.warning('至少需要2个路径点');\n return;\n }\n try {\n console.log('开始多目标路径规划...');\n console.log('算法:', planningAlgorithm.value);\n console.log('路径点数量:', pathPoints.value.length);\n console.log('威胁区:', threatZones.value);\n const startPoint = pathPoints.value[0];\n const targetPoints = pathPoints.value.slice(1); // 第一个点是起点,其余的都是目标点\n\n // 构建请求数据 - 支持多目标点\n const planningData = {\n startPoint: {\n lng: startPoint.lng,\n lat: startPoint.lat\n },\n targetPoints: targetPoints.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: planningAlgorithm.value || 'astar',\n // 默认使用A*算法\n flightAltitude: flightAltitude.value,\n flightSpeed: flightSpeed.value,\n threatZones: threatZones.value && threatZones.value.length > 0 ? threatZones.value.map(zone => ({\n id: zone.id,\n type: zone.type,\n level: zone.level,\n geometry_type: zone.geometry?.type || zone.geometry_type,\n geometry_data: zone.geometry || zone.geometry_data,\n description: zone.description\n })) : []\n };\n console.log('发送多目标路径规划请求:', planningData);\n\n // 发送到后端进行路径规划\n const response = await fetch('/api/path-planning', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n if (!response.ok) {\n const errorText = await response.text();\n console.error('后端错误响应:', {\n status: response.status,\n statusText: response.statusText,\n error: errorText\n });\n throw new Error(`路径规划失败: ${response.status} - ${errorText}`);\n }\n const result = await response.json();\n console.log('路径规划结果:', result);\n if (result.success) {\n const {\n data,\n details\n } = result;\n\n // 更新路径信息\n pathInfo.value = {\n distance: Math.round(data.distance || details?.totalDistance || 0),\n duration: data.estimated_time || details?.estimatedTime || 0,\n pointCount: data.path_points?.length || details?.waypointCount || 0,\n algorithm: data.algorithm || result.algorithm,\n threatZonesAvoided: data.threat_zones_avoided || details?.threatZonesAvoided || [],\n targetOrder: details?.targetOrder || []\n };\n\n // 清除现有路径显示\n clearPathDisplay();\n\n // 渲染新路径\n const pathData = data.path_points || data.path || [];\n renderPlannedPathWithTargets(pathData, targetPoints, details?.targetOrder);\n ElMessage.success(`${getAlgorithmName(result.algorithm)}多目标路径规划完成!`);\n const threatCount = data.threat_zones_avoided?.length || details?.threatZonesAvoided?.length || 0;\n if (threatCount > 0) {\n ElMessage.info(`成功避开 ${threatCount} 个威胁区`);\n }\n\n // 显示目标点访问顺序\n if (details?.targetOrder && details.targetOrder.length > 0) {\n const orderInfo = details.targetOrder.map((target, index) => `${index + 1}. ${target.coords.lng.toFixed(4)}, ${target.coords.lat.toFixed(4)}${target.inThreatZone ? ' (威胁区内)' : ''}`).join('\\n');\n setTimeout(() => {\n ElMessage({\n message: `目标点访问顺序:\\n${orderInfo}`,\n type: 'info',\n duration: 10000,\n showClose: true\n });\n }, 1000);\n }\n } else {\n throw new Error(result.message || '路径规划失败');\n }\n } catch (error) {\n console.error('路径规划失败:', error);\n ElMessage.error('路径规划失败: ' + error.message);\n }\n };\n\n // 获取算法显示名称\n const getAlgorithmName = algorithm => {\n const algorithmNames = {\n astar: 'A*算法',\n rrt: 'RRT算法',\n genetic: '遗传算法',\n straight: '直线规划'\n };\n return algorithmNames[algorithm] || algorithm;\n };\n\n // 渲染规划后的路径 - 支持多目标点显示\n const renderPlannedPathWithTargets = (plannedPath, originalTargets, targetOrder) => {\n if (!mapInstance.value || !plannedPath || plannedPath.length < 2) return;\n const AMap = window.AMap;\n console.log('渲染多目标路径:', {\n pathLength: plannedPath.length,\n targetCount: originalTargets.length,\n targetOrder: targetOrder\n });\n\n // 创建路径线\n const pathCoords = plannedPath.map(point => [point.lng, point.lat]);\n pathLine.value = new AMap.Polyline({\n path: pathCoords,\n strokeColor: '#52C41A',\n // 绿色表示规划路径\n strokeWeight: 4,\n strokeStyle: 'solid',\n strokeOpacity: 0.8\n });\n mapInstance.value.add(pathLine.value);\n const markers = [];\n\n // 创建起点标记\n const startMarker = new AMap.Marker({\n position: [plannedPath[0].lng, plannedPath[0].lat],\n icon: new AMap.Icon({\n size: new AMap.Size(35, 35),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n \n \n `),\n imageSize: new AMap.Size(35, 35)\n }),\n title: '起点',\n zIndex: 200\n });\n mapInstance.value.add(startMarker);\n markers.push(startMarker);\n\n // 创建目标点标记(按访问顺序)\n if (targetOrder && targetOrder.length > 0) {\n targetOrder.forEach((target, index) => {\n const visitOrder = index + 1;\n const isInThreat = target.inThreatZone;\n const threatLevel = target.threatLevel;\n\n // 根据威胁等级设置颜色\n let color = '#52C41A'; // 默认绿色(安全)\n if (isInThreat) {\n switch (threatLevel) {\n case 'low':\n color = '#FAAD14'; // 黄色\n break;\n case 'medium':\n color = '#FA8C16'; // 橙色\n break;\n case 'high':\n color = '#F5222D'; // 红色\n break;\n case 'critical':\n color = '#722ED1'; // 紫色\n break;\n }\n }\n const targetMarker = new AMap.Marker({\n position: [target.coords.lng, target.coords.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${visitOrder}\n ${isInThreat ? '' : ''}\n \n `),\n imageSize: new AMap.Size(32, 32)\n }),\n title: `目标点${visitOrder}${isInThreat ? ` (${threatLevel}威胁区)` : ' (安全区域)'}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n } else {\n // 如果没有目标顺序信息,按原始顺序显示\n originalTargets.forEach((target, index) => {\n const targetNumber = index + 1;\n const isLastTarget = index === originalTargets.length - 1;\n const targetMarker = new AMap.Marker({\n position: [target.lng, target.lat],\n icon: new AMap.Icon({\n size: new AMap.Size(30, 30),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${isLastTarget ? '终' : targetNumber}\n \n `),\n imageSize: new AMap.Size(30, 30)\n }),\n title: isLastTarget ? '终点' : `目标点${targetNumber}`,\n zIndex: 150\n });\n mapInstance.value.add(targetMarker);\n markers.push(targetMarker);\n });\n }\n pathMarkers.value = markers;\n\n // 适配地图视图以显示整个路径\n setTimeout(() => {\n if (pathLine.value) {\n mapInstance.value.setFitView([pathLine.value], false, [50, 50, 50, 50]); // 添加边距\n }\n }, 100);\n };\n\n // 清除路径显示\n const clearPathDisplay = () => {\n // 清除路径线\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n\n // 清除标记\n clearPathMarkers();\n };\n const calculateDistance = () => {\n let totalDistance = 0;\n for (let i = 0; i < pathPoints.value.length - 1; i++) {\n const p1 = pathPoints.value[i];\n const p2 = pathPoints.value[i + 1];\n totalDistance += getDistance(p1.lat, p1.lng, p2.lat, p2.lng);\n }\n return totalDistance;\n };\n const getDistance = (lat1, lng1, lat2, lng2) => {\n const R = 6371e3;\n const φ1 = lat1 * Math.PI / 180;\n const φ2 = lat2 * Math.PI / 180;\n const Δφ = (lat2 - lat1) * Math.PI / 180;\n const Δλ = (lng2 - lng1) * Math.PI / 180;\n const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 执行路径\n const executePath = async () => {\n try {\n await ElMessageBox.confirm('确定要执行此路径吗?', '确认执行', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n });\n if (!selectedDroneId.value) {\n ElMessage.error('请选择无人机');\n return;\n }\n if (!pathPoints.value || pathPoints.value.length < 2) {\n ElMessage.error('请先规划路径');\n return;\n }\n ElMessage.success('路径执行中...');\n const res = await axios.post(`/api/drones/${selectedDroneId.value}/execute-path`, {\n pathPoints: pathPoints.value,\n speed: flightSpeed.value\n }, {\n headers: {\n Authorization: `Bearer ${localStorage.getItem('token')}`\n }\n });\n if (res.data.success) {\n ElMessage.success('无人机开始执行路径规划');\n } else {\n ElMessage.error(res.data.message || '执行路径规划失败');\n }\n } catch {\n ElMessage.info('已取消执行');\n }\n };\n\n // 清除所有路径点\n const clearAll = () => {\n clearPathMarkers();\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n pathPoints.value = [];\n pathInfo.value = null;\n ElMessage.success('已清除所有路径点');\n };\n\n // 更新规划算法\n const updatePlanningAlgorithm = algorithm => {\n planningAlgorithm.value = algorithm;\n };\n\n // 更新飞行高度\n const updateFlightAltitude = altitude => {\n flightAltitude.value = altitude;\n };\n\n // 更新飞行速度\n const updateFlightSpeed = speed => {\n flightSpeed.value = speed;\n };\n\n // 中心到起点\n const centerToStart = () => {\n if (pathPoints.value.length === 0) return;\n const startPoint = pathPoints.value[0];\n mapInstance.value.setCenter([startPoint.lng, startPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // 中心到终点\n const centerToEnd = () => {\n if (pathPoints.value.length < 2) return;\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n mapInstance.value.setCenter([endPoint.lng, endPoint.lat]);\n mapInstance.value.setZoom(15);\n };\n\n // fallback:使用中心点显示\n const useFallbackCenter = validPoints => {\n if (!validPoints || validPoints.length === 0) {\n ElMessage.error('没有有效的坐标点可显示');\n return;\n }\n try {\n // 计算中心点\n const centerLng = validPoints.reduce((sum, point) => sum + point[0], 0) / validPoints.length;\n const centerLat = validPoints.reduce((sum, point) => sum + point[1], 0) / validPoints.length;\n console.log(`使用中心点显示: [${centerLng}, ${centerLat}]`);\n\n // 设置地图中心和缩放级别\n mapInstance.value.setCenter([centerLng, centerLat]);\n\n // 根据点的分布确定缩放级别\n if (validPoints.length === 1) {\n mapInstance.value.setZoom(15);\n } else {\n // 计算点的分布范围来确定合适的缩放级别\n const lngs = validPoints.map(p => p[0]);\n const lats = validPoints.map(p => p[1]);\n const lngSpan = Math.max(...lngs) - Math.min(...lngs);\n const latSpan = Math.max(...lats) - Math.min(...lats);\n const maxSpan = Math.max(lngSpan, latSpan);\n let zoom = 10;\n if (maxSpan < 0.01) zoom = 14;else if (maxSpan < 0.1) zoom = 12;else if (maxSpan < 1) zoom = 10;else zoom = 8;\n mapInstance.value.setZoom(zoom);\n }\n ElMessage.success(`已显示包含${validPoints.length}个点的路径中心`);\n } catch (centerError) {\n console.error('中心点计算失败:', centerError);\n ElMessage.error('路径显示失败');\n }\n };\n\n // 适合路径\n const fitToPath = () => {\n console.log('fitToPath called, pathPoints length:', pathPoints.value.length);\n if (!pathPoints.value || pathPoints.value.length === 0) {\n console.warn('没有路径点数据');\n ElMessage.warning('没有路径点可显示');\n return;\n }\n try {\n // 检查地图实例是否存在\n if (!mapInstance.value) {\n console.error('地图实例不存在');\n ElMessage.error('地图未初始化');\n return;\n }\n\n // 检查AMap是否可用\n if (!window.AMap || !window.AMap.Bounds) {\n console.error('AMap Bounds API不可用');\n ElMessage.error('地图API未加载完成');\n return;\n }\n console.log('路径点数据:', pathPoints.value);\n\n // 创建边界对象\n const bounds = new window.AMap.Bounds();\n\n // 添加所有路径点到边界\n let validPointsCount = 0;\n const validPoints = [];\n pathPoints.value.forEach((point, index) => {\n if (point && typeof point.lng === 'number' && typeof point.lat === 'number' && !isNaN(point.lng) && !isNaN(point.lat) && isFinite(point.lng) && isFinite(point.lat) && point.lng >= -180 && point.lng <= 180 && point.lat >= -90 && point.lat <= 90) {\n // 再次验证坐标的有效性\n const lng = Number(point.lng);\n const lat = Number(point.lat);\n if (!isNaN(lng) && !isNaN(lat) && isFinite(lng) && isFinite(lat)) {\n validPoints.push([lng, lat]);\n validPointsCount++;\n console.log(`验证通过路径点${index + 1}: [${lng}, ${lat}]`);\n } else {\n console.warn(`坐标转换失败 ${index + 1}:`, point);\n }\n } else {\n console.warn(`无效的路径点${index + 1}:`, point);\n }\n });\n if (validPointsCount === 0) {\n console.error('没有有效的路径点');\n ElMessage.error('路径点数据无效');\n return;\n }\n\n // 安全地添加验证过的点到边界\n validPoints.forEach((coord, index) => {\n try {\n bounds.extend(coord);\n console.log(`成功添加到边界 ${index + 1}: [${coord[0]}, ${coord[1]}]`);\n } catch (extendError) {\n console.error(`添加坐标到边界失败 ${index + 1}:`, coord, extendError);\n }\n });\n\n // 检查边界是否有效\n let southwest, northeast;\n try {\n southwest = bounds.getSouthWest();\n northeast = bounds.getNorthEast();\n } catch (boundsGetError) {\n console.error('获取边界信息失败:', boundsGetError);\n ElMessage.error('边界信息获取失败');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('边界信息:', {\n southwest: [southwest.lng, southwest.lat],\n northeast: [northeast.lng, northeast.lat]\n });\n\n // 验证边界坐标的有效性\n if (!southwest || !northeast || isNaN(southwest.lng) || isNaN(southwest.lat) || isNaN(northeast.lng) || isNaN(northeast.lat) || !isFinite(southwest.lng) || !isFinite(southwest.lat) || !isFinite(northeast.lng) || !isFinite(northeast.lat)) {\n console.error('计算的边界包含无效值');\n ElMessage.warning('边界计算异常,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 检查边界是否合理(不能太小或太大)\n const lngSpan = Math.abs(northeast.lng - southwest.lng);\n const latSpan = Math.abs(northeast.lat - southwest.lat);\n if (lngSpan < 0.0001 || latSpan < 0.0001) {\n console.warn('边界范围太小,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n if (lngSpan > 180 || latSpan > 90) {\n console.warn('边界范围太大,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n\n // 设置地图边界\n try {\n mapInstance.value.setBounds(bounds, false, [50, 50, 50, 50]); // 增加边距\n console.log('成功设置地图边界');\n } catch (boundsError) {\n console.error('设置地图边界失败:', boundsError);\n ElMessage.warning('地图适配失败,使用中心点显示');\n useFallbackCenter(validPoints);\n return;\n }\n console.log('成功适配路径边界,包含', validPointsCount, '个有效点');\n ElMessage.success(`已显示包含${validPointsCount}个点的完整路径`);\n } catch (error) {\n console.error('fitToPath执行错误:', error);\n ElMessage.error('显示完整路径失败: ' + error.message);\n }\n };\n\n // --- 路径历史功能 ---\n\n // 显示历史路径\n const showHistoryPath = path => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 创建路径线\n const pathLine = new window.AMap.Polyline({\n path: path.path_points.map(point => [point.lng, point.lat]),\n strokeColor: path.color || '#FF5722',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true,\n strokeDasharray: [10, 5] // 虚线样式,与当前规划路径区分\n });\n\n // 添加起点和终点标记\n const startPoint = path.path_points[0];\n const endPoint = path.path_points[path.path_points.length - 1];\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n S\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 起点`,\n zIndex: 110\n });\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(24, 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n E\n \n `)}`,\n imageSize: new window.AMap.Size(24, 24)\n }),\n title: `${path.name} - 终点`,\n zIndex: 110\n });\n\n // 存储覆盖物\n historyPathOverlays[path.id] = {\n pathLine,\n startMarker,\n endMarker\n };\n\n // 添加到地图\n mapInstance.value.add([pathLine, startMarker, endMarker]);\n ElMessage.success(`已显示路径: ${path.name}`);\n } catch (error) {\n console.error('显示历史路径失败:', error);\n ElMessage.error('显示路径失败');\n }\n };\n\n // 隐藏历史路径\n const hideHistoryPath = path => {\n if (!mapInstance.value) return;\n const overlays = historyPathOverlays[path.id];\n if (overlays) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n delete historyPathOverlays[path.id];\n ElMessage.info(`已隐藏路径: ${path.name}`);\n }\n };\n\n // 显示所有历史路径\n const showAllHistoryPaths = paths => {\n paths.forEach(path => {\n if (!selectedHistoryPaths.value.includes(path.id)) {\n showHistoryPath(path);\n }\n });\n };\n\n // 隐藏所有历史路径\n const hideAllHistoryPaths = () => {\n Object.keys(historyPathOverlays).forEach(pathId => {\n const overlays = historyPathOverlays[pathId];\n if (overlays && mapInstance.value) {\n mapInstance.value.remove([overlays.pathLine, overlays.startMarker, overlays.endMarker]);\n }\n });\n // 清空覆盖物存储\n Object.keys(historyPathOverlays).forEach(key => delete historyPathOverlays[key]);\n ElMessage.info('已隐藏所有历史路径');\n };\n\n // 居中到历史路径\n const centerToHistoryPath = path => {\n if (!mapInstance.value || !path.path_points || path.path_points.length === 0) return;\n try {\n const bounds = new window.AMap.Bounds();\n path.path_points.forEach(point => {\n bounds.extend([point.lng, point.lat]);\n });\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n ElMessage.success(`已居中显示路径: ${path.name}`);\n } catch (error) {\n console.error('居中显示路径失败:', error);\n ElMessage.error('居中显示失败');\n }\n };\n\n // 复制历史路径\n const duplicateHistoryPath = path => {\n // 清空当前路径点\n clearAll();\n\n // 复制路径点到当前规划\n pathPoints.value = [...path.path_points];\n planningAlgorithm.value = path.algorithm || 'astar';\n flightAltitude.value = path.flight_altitude || 100;\n flightSpeed.value = path.flight_speed || 10;\n\n // 切换到路径规划面板\n activePanel.value = 'pathPlanning';\n\n // 显示复制的路径点\n displayPathPoints();\n ElMessage.success(`已复制路径 \"${path.name}\" 到当前规划`);\n };\n\n // 更新选中的历史路径\n const updateSelectedHistoryPaths = pathIds => {\n selectedHistoryPaths.value = pathIds;\n };\n\n // 在地图上显示路径点\n const displayPathPoints = (isHistoryPath = false) => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 清除现有的路径标记和线条\n if (pathMarkers.value.length > 0) {\n mapInstance.value.remove(pathMarkers.value);\n pathMarkers.value = [];\n }\n if (pathLine.value) {\n mapInstance.value.remove(pathLine.value);\n pathLine.value = null;\n }\n if (pathPoints.value.length === 0) return;\n if (isHistoryPath) {\n // 历史路径:只显示起点和终点标记\n const startPoint = pathPoints.value[0];\n const endPoint = pathPoints.value[pathPoints.value.length - 1];\n\n // 验证起点坐标\n if (startPoint && typeof startPoint.lng === 'number' && typeof startPoint.lat === 'number' && !isNaN(startPoint.lng) && !isNaN(startPoint.lat)) {\n const startMarker = new window.AMap.Marker({\n position: [startPoint.lng, startPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `起点: (${startPoint.lng.toFixed(6)}, ${startPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(startMarker);\n }\n\n // 验证终点坐标\n if (endPoint && typeof endPoint.lng === 'number' && typeof endPoint.lat === 'number' && !isNaN(endPoint.lng) && !isNaN(endPoint.lat) && (endPoint.lng !== startPoint.lng || endPoint.lat !== startPoint.lat)) {\n const endMarker = new window.AMap.Marker({\n position: [endPoint.lng, endPoint.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n \n \n `)}`,\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: `终点: (${endPoint.lng.toFixed(6)}, ${endPoint.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(endMarker);\n }\n } else {\n // 当前路径规划:显示所有路径点标记\n pathPoints.value.forEach((point, index) => {\n // 验证坐标数据\n if (!point || typeof point.lng !== 'number' || typeof point.lat !== 'number' || isNaN(point.lng) || isNaN(point.lat)) {\n console.warn(`跳过无效的路径点 ${index}:`, point);\n return;\n }\n const isStart = index === 0;\n const isEnd = index === pathPoints.value.length - 1;\n\n // 使用简单的圆形标记,避免SVG问题\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24),\n image: `data:image/svg+xml,${encodeURIComponent(`\n \n \n ${isStart ? '起' : isEnd ? '终' : index}\n \n `)}`,\n imageSize: new window.AMap.Size(isStart ? 32 : 24, isStart ? 32 : 24)\n }),\n title: `${isStart ? '起点' : isEnd ? '终点' : `目标点${index}`}: (${point.lng.toFixed(6)}, ${point.lat.toFixed(6)})`,\n zIndex: 100\n });\n pathMarkers.value.push(marker);\n });\n }\n\n // 添加标记到地图\n if (pathMarkers.value.length > 0) {\n mapInstance.value.add(pathMarkers.value);\n }\n\n // 如果有路径信息,显示规划后的路径线\n if (pathInfo.value && pathInfo.value.path) {\n let pathData = pathInfo.value.path;\n\n // 处理路径数据格式\n if (typeof pathData === 'string') {\n try {\n pathData = JSON.parse(pathData);\n } catch (e) {\n console.error('解析路径数据失败:', e);\n pathData = [];\n }\n }\n if (Array.isArray(pathData) && pathData.length > 0) {\n // 转换路径点格式\n const pathCoords = pathData.map(point => {\n if (typeof point === 'object' && point.lng !== undefined && point.lat !== undefined) {\n const lng = parseFloat(point.lng);\n const lat = parseFloat(point.lat);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n } else if (Array.isArray(point) && point.length >= 2) {\n const lng = parseFloat(point[0]);\n const lat = parseFloat(point[1]);\n if (!isNaN(lng) && !isNaN(lat)) {\n return [lng, lat];\n }\n }\n console.warn('跳过无效的路径点:', point);\n return null;\n }).filter(coord => coord !== null);\n console.log('处理后的路径坐标:', pathCoords.length);\n if (pathCoords.length > 1) {\n const pathLineObj = new window.AMap.Polyline({\n path: pathCoords,\n strokeColor: '#FF4444',\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n showDir: true\n });\n pathLine.value = pathLineObj;\n mapInstance.value.add(pathLineObj);\n }\n }\n }\n } catch (error) {\n console.error('显示路径点失败:', error);\n }\n };\n\n // 从路径规划面板加载历史路径\n const loadHistoryPathToPlanning = historyData => {\n try {\n // 清空当前路径\n clearAll();\n\n // 加载路径点\n pathPoints.value = [...historyData.pathPoints];\n\n // 更新规划参数\n planningAlgorithm.value = historyData.algorithm;\n flightAltitude.value = historyData.flightAltitude;\n flightSpeed.value = historyData.flightSpeed;\n\n // 更新路径信息\n pathInfo.value = historyData.pathInfo;\n\n // 在地图上显示路径点(标记为历史路径,只显示起终点)\n displayPathPoints(true);\n\n // 自动适配地图视野\n setTimeout(() => {\n fitToPath();\n }, 500);\n console.log('历史路径加载完成:', historyData);\n } catch (error) {\n console.error('加载历史路径失败:', error);\n ElMessage.error('加载历史路径失败');\n }\n };\n\n // ========== 多对多规划相关方法 ==========\n\n // 添加多个起点\n const addMultiStartPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `起点${multiStartPoints.value.length + 1}`\n };\n multiStartPoints.value.push(point);\n\n // 创建起点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(32, 32),\n image: createMarkerIcon('S' + multiStartPoints.value.length, '#1890FF'),\n imageSize: new AMap.Size(32, 32)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n console.log('添加起点:', point);\n ElMessage.success(`添加起点${multiStartPoints.value.length}成功`);\n } catch (error) {\n console.error('添加起点失败:', error);\n ElMessage.error('添加起点失败');\n }\n };\n\n // 添加多个目标点\n const addMultiTargetPoint = (lng, lat) => {\n try {\n const point = {\n lng,\n lat,\n name: `目标${multiTargetPoints.value.length + 1}`,\n assigned: false,\n assignedTo: null\n };\n multiTargetPoints.value.push(point);\n\n // 创建目标点标记\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n const marker = new AMap.Marker({\n position: [lng, lat],\n title: point.name,\n icon: new AMap.Icon({\n size: new AMap.Size(28, 28),\n image: createMarkerIcon('T' + multiTargetPoints.value.length, '#52C41A'),\n imageSize: new AMap.Size(28, 28)\n }),\n anchor: 'center'\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n console.log('添加目标点:', point);\n ElMessage.success(`添加目标点${multiTargetPoints.value.length}成功`);\n } catch (error) {\n console.error('添加目标点失败:', error);\n ElMessage.error('添加目标点失败');\n }\n };\n\n // 创建标记图标\n const createMarkerIcon = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = 32;\n canvas.height = 32;\n const ctx = canvas.getContext('2d');\n\n // 绘制圆形背景\n ctx.fillStyle = color;\n ctx.beginPath();\n ctx.arc(16, 16, 14, 0, 2 * Math.PI);\n ctx.fill();\n\n // 绘制白色边框\n ctx.strokeStyle = '#ffffff';\n ctx.lineWidth = 2;\n ctx.stroke();\n\n // 绘制文字\n ctx.fillStyle = '#ffffff';\n ctx.font = 'bold 10px Arial';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(text, 16, 16);\n return canvas.toDataURL();\n };\n\n // 切换添加起点模式\n const toggleAddStartMode = () => {\n addStartMode.value = !addStartMode.value;\n addTargetMode.value = false;\n if (addStartMode.value) {\n ElMessage.info('请在地图上点击添加起点');\n }\n };\n\n // 切换添加目标点模式\n const toggleAddTargetMode = () => {\n addTargetMode.value = !addTargetMode.value;\n addStartMode.value = false;\n if (addTargetMode.value) {\n ElMessage.info('请在地图上点击添加目标点');\n }\n };\n\n // 移除起点\n const removeStartPoint = index => {\n try {\n // 移除地图标记\n if (multiStartMarkers.value[index]) {\n mapInstance.value.remove(multiStartMarkers.value[index]);\n multiStartMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiStartPoints.value.splice(index, 1);\n\n // 重新编号所有起点标记\n updateStartPointMarkers();\n ElMessage.success('起点删除成功');\n } catch (error) {\n console.error('删除起点失败:', error);\n ElMessage.error('删除起点失败');\n }\n };\n\n // 移除目标点\n const removeTargetPoint = index => {\n try {\n // 移除地图标记\n if (multiTargetMarkers.value[index]) {\n mapInstance.value.remove(multiTargetMarkers.value[index]);\n multiTargetMarkers.value.splice(index, 1);\n }\n\n // 移除数据\n multiTargetPoints.value.splice(index, 1);\n\n // 重新编号所有目标点标记\n updateTargetPointMarkers();\n ElMessage.success('目标点删除成功');\n } catch (error) {\n console.error('删除目标点失败:', error);\n ElMessage.error('删除目标点失败');\n }\n };\n\n // 更新起点标记\n const updateStartPointMarkers = () => {\n multiStartMarkers.value.forEach((marker, index) => {\n const point = multiStartPoints.value[index];\n if (point) {\n point.name = `起点${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }));\n }\n });\n };\n\n // 更新目标点标记\n const updateTargetPointMarkers = () => {\n multiTargetMarkers.value.forEach((marker, index) => {\n const point = multiTargetPoints.value[index];\n if (point) {\n point.name = `目标${index + 1}`;\n marker.setTitle(point.name);\n marker.setIcon(new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }));\n }\n });\n };\n\n // 清除所有多对多点\n const clearAllMultiPoints = () => {\n // 清除起点\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除目标点\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 重置添加模式\n addStartMode.value = false;\n addTargetMode.value = false;\n ElMessage.success('已清除所有多对多规划数据');\n };\n\n // 清除仅起点\n const clearStartPoints = () => {\n // 清除起点标记\n multiStartMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiStartMarkers.value = [];\n multiStartPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有起点');\n };\n\n // 清除仅目标点\n const clearTargetPoints = () => {\n // 清除目标点标记\n multiTargetMarkers.value.forEach(marker => {\n if (mapInstance.value) {\n mapInstance.value.remove(marker);\n }\n });\n multiTargetMarkers.value = [];\n multiTargetPoints.value = [];\n\n // 清除路径线和规划结果\n clearMultiPathLines();\n multiPlanningResult.value = null;\n ElMessage.success('已清除所有目标点');\n };\n\n // 清空多条路径线\n const clearMultiPathLines = () => {\n multiPathLines.value.forEach(line => {\n if (mapInstance.value && line) {\n mapInstance.value.remove(line);\n }\n });\n multiPathLines.value = [];\n };\n\n // 执行多对多路径规划\n const planMultiToMulti = async () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n ElMessage.info('正在进行多对多路径规划...');\n\n // 获取威胁区域数据\n const threatZonesData = threatZones.value || [];\n\n // 构建请求数据\n const planningData = {\n startPoints: multiStartPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n targetPoints: multiTargetPoints.value.map(point => ({\n lng: point.lng,\n lat: point.lat\n })),\n algorithm: multiPlanningAlgorithm.value,\n assignmentStrategy: assignmentStrategy.value,\n planningMode: multiPlanningMode.value,\n flightAltitude: multiFlightAltitude.value,\n flightSpeed: multiFlightSpeed.value,\n threatZones: threatZonesData\n };\n console.log('多对多规划请求数据:', planningData);\n\n // 调用后端API\n const response = await fetch('/api/path-planning/multi-to-multi', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(planningData)\n });\n const result = await response.json();\n console.log('多对多规划响应:', result);\n if (!result.success) {\n throw new Error(result.message || '多对多路径规划失败');\n }\n\n // 处理规划结果\n const {\n assignments,\n allPaths,\n totalDistance,\n totalTime\n } = result.data;\n\n // 更新规划结果\n multiPlanningResult.value = {\n assignments,\n allPaths,\n totalDistance,\n totalTime,\n algorithm: result.data.algorithm,\n timestamp: new Date().toLocaleString('zh-CN')\n };\n\n // 显示路径线\n displayMultiPaths(allPaths);\n ElMessage.success(`多对多路径规划完成!总距离:${(totalDistance / 1000).toFixed(2)}km,总时间:${Math.round(totalTime)}分钟`);\n } catch (error) {\n console.error('多对多路径规划失败:', error);\n ElMessage.error(`路径规划失败: ${error.message}`);\n }\n };\n\n // 显示多对多路径线\n const displayMultiPaths = pathsData => {\n if (!mapInstance.value || !pathsData) return;\n try {\n // 清除之前的路径线\n clearMultiPathLines();\n const AMap = window.AMap;\n const colors = ['#FF5722', '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#00BCD4', '#795548'];\n pathsData.forEach((pathData, index) => {\n if (!pathData.path || pathData.path.length < 2) return;\n\n // 根据威胁等级选择颜色\n let strokeColor = colors[index % colors.length];\n if (pathData.threatLevel !== undefined) {\n if (pathData.threatLevel >= 3) {\n strokeColor = '#F44336'; // 红色 - 高威胁\n } else if (pathData.threatLevel >= 2) {\n strokeColor = '#FF9800'; // 橙色 - 中威胁 \n } else {\n strokeColor = '#4CAF50'; // 绿色 - 低威胁\n }\n }\n\n // 创建路径线\n const polyline = new AMap.Polyline({\n path: pathData.path.map(point => [point.lng, point.lat]),\n strokeColor: strokeColor,\n strokeWeight: 4,\n strokeOpacity: 0.8,\n strokeStyle: 'solid',\n lineJoin: 'round',\n lineCap: 'round'\n });\n\n // 添加到地图\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n });\n console.log(`显示${pathsData.length}条多对多路径`);\n } catch (error) {\n console.error('显示多对多路径失败:', error);\n }\n };\n\n // 执行多对多规划\n const executeMultiPlanning = () => {\n if (!multiPlanningResult.value) {\n ElMessage.warning('请先完成规划');\n return;\n }\n ElMessage.success('多对多规划执行中...');\n // TODO: 实际执行逻辑\n };\n\n // 预览分配方案\n const previewAssignment = () => {\n if (multiStartPoints.value.length === 0 || multiTargetPoints.value.length === 0) {\n ElMessage.warning('请先添加起点和目标点');\n return;\n }\n try {\n // 生成预览分配\n const previewResult = generateSimpleAssignment();\n\n // 清除之前的路径线\n clearMultiPathLines();\n\n // 显示预览路径(虚线)\n const AMap = window.AMap;\n if (AMap && mapInstance.value) {\n previewResult.forEach((assignment, index) => {\n const startPoint = multiStartPoints.value[assignment.startIndex];\n const targetPoint = multiTargetPoints.value[assignment.targetIndex];\n if (startPoint && targetPoint) {\n const path = [[startPoint.lng, startPoint.lat], [targetPoint.lng, targetPoint.lat]];\n const polyline = new AMap.Polyline({\n path: path,\n strokeColor: '#909399',\n strokeWeight: 2,\n strokeStyle: 'dashed',\n strokeOpacity: 0.8,\n zIndex: 50\n });\n mapInstance.value.add(polyline);\n multiPathLines.value.push(polyline);\n }\n });\n }\n ElMessage.success('预览分配方案已显示');\n } catch (error) {\n console.error('预览分配失败:', error);\n ElMessage.error('预览分配失败');\n }\n };\n\n // 生成简单分配方案\n const generateSimpleAssignment = () => {\n const assignments = [];\n const minCount = Math.min(multiStartPoints.value.length, multiTargetPoints.value.length);\n for (let i = 0; i < minCount; i++) {\n assignments.push({\n startIndex: i,\n targetIndex: i,\n distance: calculateDistance1(multiStartPoints.value[i], multiTargetPoints.value[i]),\n estimatedTime: 20,\n threatLevel: 'low'\n });\n }\n return assignments;\n };\n\n // 计算两点间距离(简化版)\n const calculateDistance1 = (point1, point2) => {\n const R = 6371000; // 地球半径(米)\n const lat1 = point1.lat * Math.PI / 180;\n const lat2 = point2.lat * Math.PI / 180;\n const deltaLat = (point2.lat - point1.lat) * Math.PI / 180;\n const deltaLng = (point2.lng - point1.lng) * Math.PI / 180;\n const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n // 地图视野控制\n const centerToStarts = () => {\n if (multiStartPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiStartPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const centerToTargets = () => {\n if (multiTargetPoints.value.length === 0) return;\n const center = calculateCenterPoint(multiTargetPoints.value);\n mapInstance.value.setZoomAndCenter(12, [center.lng, center.lat]);\n };\n const fitToAllMultiPoints = () => {\n const allPoints = [...multiStartPoints.value, ...multiTargetPoints.value];\n if (allPoints.length === 0) return;\n const bounds = calculateBounds(allPoints);\n mapInstance.value.setBounds(bounds, false, [20, 20, 20, 20]);\n };\n\n // 计算中心点\n const calculateCenterPoint = points => {\n const total = points.reduce((acc, point) => ({\n lng: acc.lng + point.lng,\n lat: acc.lat + point.lat\n }), {\n lng: 0,\n lat: 0\n });\n return {\n lng: total.lng / points.length,\n lat: total.lat / points.length\n };\n };\n\n // 计算边界\n const calculateBounds = points => {\n const lngs = points.map(p => p.lng);\n const lats = points.map(p => p.lat);\n return new window.AMap.Bounds([Math.min(...lngs), Math.min(...lats)], [Math.max(...lngs), Math.max(...lats)]);\n };\n\n // 更新多对多规划参数\n const updateMultiPlanningMode = mode => {\n multiPlanningMode.value = mode;\n };\n const updateMultiPlanningAlgorithm = algorithm => {\n multiPlanningAlgorithm.value = algorithm;\n };\n const updateAssignmentStrategy = strategy => {\n assignmentStrategy.value = strategy;\n };\n const updateMultiFlightAltitude = altitude => {\n multiFlightAltitude.value = altitude;\n };\n const updateMultiFlightSpeed = speed => {\n multiFlightSpeed.value = speed;\n };\n\n // 加载历史方案\n const loadHistoryScheme = schemeData => {\n try {\n console.log('加载多对多历史方案数据:', schemeData);\n if (!schemeData) {\n ElMessage.error('历史方案数据无效');\n return;\n }\n\n // 清空当前的多对多规划数据\n clearAllMultiPoints();\n clearMultiPathLines();\n multiPlanningResult.value = null;\n\n // 加载起点数据\n if (schemeData.startPoints && Array.isArray(schemeData.startPoints)) {\n multiStartPoints.value = [...schemeData.startPoints];\n console.log(`加载了${multiStartPoints.value.length}个起点`);\n\n // 创建起点标记\n multiStartPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(32, 32),\n image: createMarkerIcon('S' + (index + 1), '#1890FF'),\n imageSize: new window.AMap.Size(32, 32)\n }),\n title: point.name || `起点${index + 1}`,\n zIndex: 100\n });\n mapInstance.value.add(marker);\n multiStartMarkers.value.push(marker);\n }\n });\n }\n\n // 加载目标点数据\n if (schemeData.targetPoints && Array.isArray(schemeData.targetPoints)) {\n multiTargetPoints.value = [...schemeData.targetPoints];\n console.log(`加载了${multiTargetPoints.value.length}个目标点`);\n\n // 创建目标点标记\n multiTargetPoints.value.forEach((point, index) => {\n if (mapInstance.value && window.AMap) {\n const marker = new window.AMap.Marker({\n position: [point.lng, point.lat],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(28, 28),\n image: createMarkerIcon('T' + (index + 1), '#52C41A'),\n imageSize: new window.AMap.Size(28, 28)\n }),\n title: point.name || `目标点${index + 1}`,\n zIndex: 99\n });\n mapInstance.value.add(marker);\n multiTargetMarkers.value.push(marker);\n }\n });\n }\n\n // 加载规划参数\n if (schemeData.algorithm) {\n multiPlanningAlgorithm.value = schemeData.algorithm;\n }\n if (schemeData.planningMode) {\n multiPlanningMode.value = schemeData.planningMode;\n }\n if (schemeData.flightAltitude) {\n multiFlightAltitude.value = schemeData.flightAltitude;\n }\n if (schemeData.flightSpeed) {\n multiFlightSpeed.value = schemeData.flightSpeed;\n }\n\n // 加载规划结果\n if (schemeData.planningResult) {\n multiPlanningResult.value = schemeData.planningResult;\n console.log('加载规划结果:', multiPlanningResult.value);\n\n // 显示路径\n if (schemeData.planningResult.allPaths && Array.isArray(schemeData.planningResult.allPaths)) {\n displayMultiPaths(schemeData.planningResult.allPaths);\n }\n }\n\n // 调整地图视野以适应所有点位\n setTimeout(() => {\n fitToAllMultiPoints();\n }, 500);\n\n // 切换到多对多规划标签页\n activePanel.value = 'multi-to-multi';\n\n // 显示方案信息\n if (schemeData.schemeInfo) {\n const {\n name,\n description,\n created_at\n } = schemeData.schemeInfo;\n ElMessage.success(`已加载历史方案: ${name}`);\n console.log(`方案创建时间: ${created_at}`);\n if (description) {\n console.log(`方案描述: ${description}`);\n }\n }\n } catch (error) {\n console.error('加载多对多历史方案失败:', error);\n ElMessage.error('加载历史方案失败: ' + error.message);\n }\n };\n onMounted(() => {\n // 初始化功能\n console.log('UnifiedMapView mounted, 准备加载数据...');\n // 在地图加载完成后自动加载数据\n fetchDrones();\n });\n return {\n sharedMapRef,\n activePanel,\n addMode,\n targetPoints,\n threatZones,\n selectedZoneId,\n currentThreatType,\n drawMode,\n threatLevel,\n circleRadius,\n threatDescription,\n threatTimeRange,\n visibleLayers,\n editDialogVisible,\n editForm,\n pathPoints,\n planningAlgorithm,\n flightAltitude,\n flightSpeed,\n pathInfo,\n selectedHistoryPaths,\n // 多对多规划相关状态\n multiStartPoints,\n multiTargetPoints,\n multiStartMarkers,\n multiTargetMarkers,\n multiPathLines,\n addStartMode,\n addTargetMode,\n multiPlanningMode,\n multiPlanningAlgorithm,\n assignmentStrategy,\n multiFlightAltitude,\n multiFlightSpeed,\n multiPlanningResult,\n handleTabClick,\n onMapLoaded,\n onMapClick,\n toggleAddMode,\n clearTargets,\n getAddModeTip,\n getDrawTip,\n handleThreatTypeChange,\n handleThreatLevelChange,\n updateCircleRadius,\n updateThreatDescription,\n updateThreatTimeRange,\n setDrawMode,\n selectZone,\n deleteZone,\n editZone,\n saveEditedZone,\n clearAllZones,\n updateLayerVisibility,\n fitToZones,\n removePoint,\n planPath,\n executePath,\n clearAll,\n updatePlanningAlgorithm,\n updateFlightAltitude,\n updateFlightSpeed,\n centerToStart,\n centerToEnd,\n fitToPath,\n useFallbackCenter,\n // 路径历史相关方法\n showHistoryPath,\n hideHistoryPath,\n showAllHistoryPaths,\n hideAllHistoryPaths,\n centerToHistoryPath,\n duplicateHistoryPath,\n updateSelectedHistoryPaths,\n loadHistoryPathToPlanning,\n displayPathPoints,\n // 威胁区名称获取函数(供面板组件使用)\n getThreatTypeName: type => threatTypeConfig[type]?.name || '未知威胁',\n getThreatLevelName: level => threatLevelConfig[level]?.name || '未知等级',\n // 多对多规划相关方法\n addMultiStartPoint,\n addMultiTargetPoint,\n createMarkerIcon,\n toggleAddStartMode,\n toggleAddTargetMode,\n removeStartPoint,\n removeTargetPoint,\n updateStartPointMarkers,\n updateTargetPointMarkers,\n clearAllMultiPoints,\n clearStartPoints,\n clearTargetPoints,\n clearMultiPathLines,\n planMultiToMulti,\n previewAssignment,\n displayMultiPaths,\n generateSimpleAssignment,\n executeMultiPlanning,\n centerToStarts,\n centerToTargets,\n fitToAllMultiPoints,\n updateMultiPlanningMode,\n updateMultiPlanningAlgorithm,\n updateAssignmentStrategy,\n updateMultiFlightAltitude,\n updateMultiFlightSpeed,\n loadHistoryScheme,\n drones,\n selectedDroneId\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","inject","computed","toRaw","useStore","ElMessage","ElMessageBox","SharedMap","BasicMapPanel","ThreatZonePanel","PathPlanningPanel","PathHistoryPanel","MultiToMultiPlanningPanel","axios","name","components","setup","store","sharedMapRef","activePanel","mapInstance","addMode","targetPoints","targetMarkers","threatZones","zoneOverlays","drawMode","currentThreatType","threatLevel","circleRadius","threatDescription","threatTimeRange","Date","now","selectedZoneId","visibleLayers","editDialogVisible","editForm","id","type","level","description","geometry","pathPoints","pathMarkers","pathLine","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","selectedHistoryPaths","historyPathOverlays","multiStartPoints","multiTargetPoints","multiStartMarkers","multiTargetMarkers","multiPathLines","addStartMode","addTargetMode","multiPlanningMode","multiPlanningAlgorithm","assignmentStrategy","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","mouseTool","drones","selectedDroneId","fetchDrones","token","localStorage","getItem","res","get","headers","Authorization","data","success","value","length","e","error","safeBase64Encode","str","btoa","unescape","encodeURIComponent","console","warn","threatTypeConfig","radar","color","missile","aircraft","ground","weather","threatLevelConfig","low","opacity","medium","high","critical","onMapLoaded","map","log","AMap","window","MouseTool","on","onDrawComplete","loadAllData","loadThreatZones","onMapClick","lng","lat","lnglat","addTargetPoint","addPathPoint","addMultiStartPoint","addMultiTargetPoint","initActivePanelFeatures","handleTabClick","close","updateThreatZoneClickability","isClickable","Object","values","forEach","overlay","setOptions","cursor","zIndex","toggleAddMode","getAddModeTip","marker","Marker","position","icon","Icon","size","Size","image","imageSize","title","toFixed","message","add","push","clearTargets","remove","getDrawTip","handleThreatTypeChange","handleThreatLevelChange","updateCircleRadius","radius","updateThreatDescription","desc","updateThreatTimeRange","range","setDrawMode","mode","info","options","strokeColor","strokeWeight","strokeOpacity","fillColor","fillOpacity","circle","polygon","rectangle","event","obj","className","CLASS_NAME","overlays","getAllOverlays","styleOptions","setTimeout","setFitView","getGeometryFromOverlay","zoneData","timeRange","response","fetch","method","body","JSON","stringify","status","statusText","ok","errorText","text","Error","result","json","zone","renderThreatZoneOnMap","center","getCenter","getRadius","path","getPath","point","bounds","getBounds","getSouthWest","getNorthEast","clearAllZones","Array","isArray","isNaN","Number","Circle","LngLat","validPath","every","Polygon","some","val","boundsNumbers","Bounds","Rectangle","existingIndex","findIndex","z","handleZoneClick","selectZone","stopPropagation","otherOverlay","deleteZone","filter","editZone","saveEditedZone","find","skipConfirm","zoneIds","ids","keys","key","updateLayerVisibility","layers","includes","fitToZones","extend","setBounds","pointIndex","updatePathLine","p","Polyline","strokeStyle","removePoint","index","splice","clearPathMarkers","i","addPathPointMarker","planPath","warning","startPoint","slice","planningData","algorithm","geometry_type","geometry_data","details","distance","Math","round","totalDistance","duration","estimated_time","estimatedTime","pointCount","path_points","waypointCount","threatZonesAvoided","threat_zones_avoided","targetOrder","clearPathDisplay","pathData","renderPlannedPathWithTargets","getAlgorithmName","threatCount","orderInfo","target","coords","inThreatZone","join","showClose","algorithmNames","astar","rrt","genetic","straight","plannedPath","originalTargets","pathLength","targetCount","pathCoords","markers","startMarker","visitOrder","isInThreat","targetMarker","targetNumber","isLastTarget","calculateDistance","p1","p2","getDistance","lat1","lng1","lat2","lng2","R","φ1","PI","φ2","Δφ","Δλ","a","sin","cos","c","atan2","sqrt","executePath","confirm","confirmButtonText","cancelButtonText","post","speed","clearAll","updatePlanningAlgorithm","updateFlightAltitude","altitude","updateFlightSpeed","centerToStart","setCenter","setZoom","centerToEnd","endPoint","useFallbackCenter","validPoints","centerLng","reduce","sum","centerLat","lngs","lats","lngSpan","max","min","latSpan","maxSpan","zoom","centerError","fitToPath","validPointsCount","isFinite","coord","extendError","southwest","northeast","boundsGetError","abs","boundsError","showHistoryPath","showDir","strokeDasharray","endMarker","hideHistoryPath","showAllHistoryPaths","paths","hideAllHistoryPaths","pathId","centerToHistoryPath","duplicateHistoryPath","flight_altitude","flight_speed","displayPathPoints","updateSelectedHistoryPaths","pathIds","isHistoryPath","isStart","isEnd","parse","undefined","parseFloat","pathLineObj","loadHistoryPathToPlanning","historyData","createMarkerIcon","anchor","assigned","assignedTo","canvas","document","createElement","width","height","ctx","getContext","fillStyle","beginPath","arc","fill","lineWidth","stroke","font","textAlign","textBaseline","fillText","toDataURL","toggleAddStartMode","toggleAddTargetMode","removeStartPoint","updateStartPointMarkers","removeTargetPoint","updateTargetPointMarkers","setTitle","setIcon","clearAllMultiPoints","clearMultiPathLines","clearStartPoints","clearTargetPoints","line","planMultiToMulti","threatZonesData","startPoints","planningMode","assignments","allPaths","totalTime","timestamp","toLocaleString","displayMultiPaths","pathsData","colors","polyline","lineJoin","lineCap","executeMultiPlanning","previewAssignment","previewResult","generateSimpleAssignment","assignment","startIndex","targetPoint","targetIndex","minCount","calculateDistance1","point1","point2","deltaLat","deltaLng","centerToStarts","calculateCenterPoint","setZoomAndCenter","centerToTargets","fitToAllMultiPoints","allPoints","calculateBounds","points","total","acc","updateMultiPlanningMode","updateMultiPlanningAlgorithm","updateAssignmentStrategy","strategy","updateMultiFlightAltitude","updateMultiFlightSpeed","loadHistoryScheme","schemeData","planningResult","schemeInfo","created_at","getThreatTypeName","getThreatLevelName"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24595b8e2207b97b438f994272cee6255f37d55898ba72da5a35049ef3c1b42d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24595b8e2207b97b438f994272cee6255f37d55898ba72da5a35049ef3c1b42d.json new file mode 100644 index 00000000..ac30a0f6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24595b8e2207b97b438f994272cee6255f37d55898ba72da5a35049ef3c1b42d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isClient } from '@vueuse/core';\nconst rAF = fn => isClient ? window.requestAnimationFrame(fn) : setTimeout(fn, 16);\nconst cAF = handle => isClient ? window.cancelAnimationFrame(handle) : clearTimeout(handle);\nexport { cAF, rAF };","map":{"version":3,"names":["rAF","fn","isClient","window","requestAnimationFrame","setTimeout","cAF","handle","cancelAnimationFrame","clearTimeout"],"sources":["../../../../packages/utils/raf.ts"],"sourcesContent":["import { isClient } from './browser'\n\nexport const rAF = (fn: () => void) =>\n isClient\n ? window.requestAnimationFrame(fn)\n : (setTimeout(fn, 16) as unknown as number)\n\nexport const cAF = (handle: number) =>\n isClient ? window.cancelAnimationFrame(handle) : clearTimeout(handle)\n"],"mappings":";AACY,MAACA,GAAG,GAAIC,EAAE,IAAKC,QAAQ,GAAGC,MAAM,CAACC,qBAAqB,CAACH,EAAE,CAAC,GAAGI,UAAU,CAACJ,EAAE,EAAE,EAAE;AAC9E,MAACK,GAAG,GAAIC,MAAM,IAAKL,QAAQ,GAAGC,MAAM,CAACK,oBAAoB,CAACD,MAAM,CAAC,GAAGE,YAAY,CAACF,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24bbf910ea166507b38c86f25cb9e1be0c0df5085efccefede4e4ee5638735ba.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24bbf910ea166507b38c86f25cb9e1be0c0df5085efccefede4e4ee5638735ba.json new file mode 100644 index 00000000..2c9c555e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24bbf910ea166507b38c86f25cb9e1be0c0df5085efccefede4e4ee5638735ba.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\nexport default baseEach;","map":{"version":3,"names":["baseForOwn","createBaseEach","baseEach"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseEach.js"],"sourcesContent":["import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,cAAc,MAAM,sBAAsB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,QAAQ,GAAGD,cAAc,CAACD,UAAU,CAAC;AAEzC,eAAeE,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24bd1baddddce08c9b1077e39892784fc5ea9feee32a9cc9d2cccbfa6fd3bf58.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24bd1baddddce08c9b1077e39892784fc5ea9feee32a9cc9d2cccbfa6fd3bf58.json new file mode 100644 index 00000000..be4c5b52 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24bd1baddddce08c9b1077e39892784fc5ea9feee32a9cc9d2cccbfa6fd3bf58.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"unified-map-view\"\n};\nconst _hoisted_2 = {\n class: \"side-panel\"\n};\nconst _hoisted_3 = {\n class: \"tabs-container\"\n};\nconst _hoisted_4 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_5 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_6 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_7 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_8 = {\n class: \"panel-scroll-container\"\n};\nconst _hoisted_9 = {\n class: \"map-container\"\n};\nconst _hoisted_10 = {\n key: 0,\n class: \"add-mode-tip\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"draw-tip\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_basic_map_panel = _resolveComponent(\"basic-map-panel\");\n const _component_el_tab_pane = _resolveComponent(\"el-tab-pane\");\n const _component_threat_zone_panel = _resolveComponent(\"threat-zone-panel\");\n const _component_path_planning_panel = _resolveComponent(\"path-planning-panel\");\n const _component_path_history_panel = _resolveComponent(\"path-history-panel\");\n const _component_multi_to_multi_planning_panel = _resolveComponent(\"multi-to-multi-planning-panel\");\n const _component_el_tabs = _resolveComponent(\"el-tabs\");\n const _component_SharedMap = _resolveComponent(\"SharedMap\");\n const _component_el_alert = _resolveComponent(\"el-alert\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 左侧功能面板 \"), _createElementVNode(\"div\", _hoisted_2, [_createCommentVNode(\" 选项卡切换功能面板 \"), _createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_el_tabs, {\n modelValue: $setup.activePanel,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.activePanel = $event),\n onTabClick: $setup.handleTabClick,\n \"tab-position\": \"top\"\n }, {\n default: _withCtx(() => [_createCommentVNode(\" 地图基础功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"地图视图\",\n name: \"basicMap\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_basic_map_panel, {\n onToggleAddMode: $setup.toggleAddMode,\n onClearTargets: $setup.clearTargets,\n \"add-mode\": $setup.addMode,\n \"target-points\": $setup.targetPoints\n }, null, 8 /* PROPS */, [\"onToggleAddMode\", \"onClearTargets\", \"add-mode\", \"target-points\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 威胁区设置功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"威胁区设置\",\n name: \"threatZone\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_threat_zone_panel, {\n \"threat-zones\": $setup.threatZones,\n \"selected-zone-id\": $setup.selectedZoneId,\n \"current-threat-type\": $setup.currentThreatType,\n \"draw-mode\": $setup.drawMode,\n \"threat-level\": $setup.threatLevel,\n \"circle-radius\": $setup.circleRadius,\n \"threat-description\": $setup.threatDescription,\n \"threat-time-range\": $setup.threatTimeRange,\n \"visible-layers\": $setup.visibleLayers,\n onOnThreatTypeChange: $setup.handleThreatTypeChange,\n onOnThreatLevelChange: $setup.handleThreatLevelChange,\n onSetDrawMode: $setup.setDrawMode,\n onSelectZone: $setup.selectZone,\n onDeleteZone: $setup.deleteZone,\n onEditZone: $setup.editZone,\n onClearAllZones: $setup.clearAllZones,\n onUpdateLayerVisibility: $setup.updateLayerVisibility,\n onUpdateCircleRadius: $setup.updateCircleRadius,\n onUpdateThreatDescription: $setup.updateThreatDescription,\n onUpdateThreatTimeRange: $setup.updateThreatTimeRange,\n onSaveEditedZone: $setup.saveEditedZone,\n onFitToZones: $setup.fitToZones\n }, null, 8 /* PROPS */, [\"threat-zones\", \"selected-zone-id\", \"current-threat-type\", \"draw-mode\", \"threat-level\", \"circle-radius\", \"threat-description\", \"threat-time-range\", \"visible-layers\", \"onOnThreatTypeChange\", \"onOnThreatLevelChange\", \"onSetDrawMode\", \"onSelectZone\", \"onDeleteZone\", \"onEditZone\", \"onClearAllZones\", \"onUpdateLayerVisibility\", \"onUpdateCircleRadius\", \"onUpdateThreatDescription\", \"onUpdateThreatTimeRange\", \"onSaveEditedZone\", \"onFitToZones\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径规划\",\n name: \"pathPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_path_planning_panel, {\n \"path-points\": $setup.pathPoints,\n \"add-mode\": $setup.addMode,\n \"planning-algorithm\": $setup.planningAlgorithm,\n \"flight-altitude\": $setup.flightAltitude,\n \"flight-speed\": $setup.flightSpeed,\n \"path-info\": $setup.pathInfo,\n drones: $setup.drones,\n \"selected-drone-id\": $setup.selectedDroneId,\n onToggleAddMode: $setup.toggleAddMode,\n onClearAll: $setup.clearAll,\n onPlanPath: $setup.planPath,\n onExecutePath: $setup.executePath,\n onRemovePoint: $setup.removePoint,\n onCenterToStart: $setup.centerToStart,\n onCenterToEnd: $setup.centerToEnd,\n onFitToPath: $setup.fitToPath,\n onUpdatePlanningAlgorithm: $setup.updatePlanningAlgorithm,\n onUpdateFlightAltitude: $setup.updateFlightAltitude,\n onUpdateFlightSpeed: $setup.updateFlightSpeed,\n onLoadHistoryPath: $setup.loadHistoryPathToPlanning,\n onUpdateSelectedDroneId: _cache[0] || (_cache[0] = val => $setup.selectedDroneId.value = val),\n onPausePath: _ctx.pausePath\n }, null, 8 /* PROPS */, [\"path-points\", \"add-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"path-info\", \"drones\", \"selected-drone-id\", \"onToggleAddMode\", \"onClearAll\", \"onPlanPath\", \"onExecutePath\", \"onRemovePoint\", \"onCenterToStart\", \"onCenterToEnd\", \"onFitToPath\", \"onUpdatePlanningAlgorithm\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryPath\", \"onPausePath\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 路径历史功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"路径历史\",\n name: \"pathHistory\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_path_history_panel, {\n \"selected-paths\": $setup.selectedHistoryPaths,\n onShowPath: $setup.showHistoryPath,\n onHidePath: $setup.hideHistoryPath,\n onShowAllPaths: $setup.showAllHistoryPaths,\n onHideAllPaths: $setup.hideAllHistoryPaths,\n onCenterToPath: $setup.centerToHistoryPath,\n onDuplicatePath: $setup.duplicateHistoryPath,\n onUpdateSelectedPaths: $setup.updateSelectedHistoryPaths\n }, null, 8 /* PROPS */, [\"selected-paths\", \"onShowPath\", \"onHidePath\", \"onShowAllPaths\", \"onHideAllPaths\", \"onCenterToPath\", \"onDuplicatePath\", \"onUpdateSelectedPaths\"])])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 多对多规划功能 \"), _createVNode(_component_el_tab_pane, {\n label: \"多对多规划\",\n name: \"multiToMultiPlanning\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_8, [_createVNode(_component_multi_to_multi_planning_panel, {\n \"start-points\": $setup.multiStartPoints,\n \"target-points\": $setup.multiTargetPoints,\n \"add-start-mode\": $setup.addStartMode,\n \"add-target-mode\": $setup.addTargetMode,\n \"planning-algorithm\": $setup.multiPlanningAlgorithm,\n \"flight-altitude\": $setup.multiFlightAltitude,\n \"flight-speed\": $setup.multiFlightSpeed,\n \"planning-result\": $setup.multiPlanningResult,\n onToggleAddStartMode: $setup.toggleAddStartMode,\n onToggleAddTargetMode: $setup.toggleAddTargetMode,\n onRemoveStartPoint: $setup.removeStartPoint,\n onRemoveTargetPoint: $setup.removeTargetPoint,\n onClearStartPoints: $setup.clearStartPoints,\n onClearTargetPoints: $setup.clearTargetPoints,\n onClearAll: $setup.clearAllMultiPoints,\n onPlanMultiToMulti: $setup.planMultiToMulti,\n onPreviewAssignment: $setup.previewAssignment,\n onExecuteMultiPlanning: $setup.executeMultiPlanning,\n onCenterToStarts: $setup.centerToStarts,\n onCenterToTargets: $setup.centerToTargets,\n onFitToAllPoints: $setup.fitToAllMultiPoints,\n onUpdatePlanningMode: $setup.updateMultiPlanningMode,\n onUpdatePlanningAlgorithm: $setup.updateMultiPlanningAlgorithm,\n onUpdateAssignmentStrategy: $setup.updateAssignmentStrategy,\n onUpdateFlightAltitude: $setup.updateMultiFlightAltitude,\n onUpdateFlightSpeed: $setup.updateMultiFlightSpeed,\n onLoadHistoryScheme: $setup.loadHistoryScheme\n }, null, 8 /* PROPS */, [\"start-points\", \"target-points\", \"add-start-mode\", \"add-target-mode\", \"planning-algorithm\", \"flight-altitude\", \"flight-speed\", \"planning-result\", \"onToggleAddStartMode\", \"onToggleAddTargetMode\", \"onRemoveStartPoint\", \"onRemoveTargetPoint\", \"onClearStartPoints\", \"onClearTargetPoints\", \"onClearAll\", \"onPlanMultiToMulti\", \"onPreviewAssignment\", \"onExecuteMultiPlanning\", \"onCenterToStarts\", \"onCenterToTargets\", \"onFitToAllPoints\", \"onUpdatePlanningMode\", \"onUpdatePlanningAlgorithm\", \"onUpdateAssignmentStrategy\", \"onUpdateFlightAltitude\", \"onUpdateFlightSpeed\", \"onLoadHistoryScheme\"])])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onTabClick\"])])]), _createCommentVNode(\" 右侧地图区域 \"), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_SharedMap, {\n mode: $setup.activePanel,\n onMapLoaded: $setup.onMapLoaded,\n onMapClick: $setup.onMapClick,\n ref: \"sharedMapRef\"\n }, null, 8 /* PROPS */, [\"mode\", \"onMapLoaded\", \"onMapClick\"]), _createCommentVNode(\" 添加模式提示 \"), $setup.addMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [_createVNode(_component_el_alert, {\n title: $setup.getAddModeTip(),\n type: \"info\",\n \"show-icon\": \"\"\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true), _createCommentVNode(\" 绘制工具提示 \"), $setup.drawMode ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createVNode(_component_el_alert, {\n title: $setup.getDrawTip(),\n type: \"info\",\n \"show-icon\": \"\",\n closable: false\n }, null, 8 /* PROPS */, [\"title\"])])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 编辑威胁区对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.editDialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.editDialogVisible = $event),\n title: \"编辑威胁区\",\n width: \"400px\"\n }, {\n footer: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.editDialogVisible = false)\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */,\n __: [7]\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.saveEditedZone\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"保存\")])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"onClick\"])]),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n model: $setup.editForm,\n \"label-width\": \"80px\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"威胁类型\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.editForm.type = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"雷达威胁\",\n value: \"radar\"\n }), _createVNode(_component_el_option, {\n label: \"导弹威胁\",\n value: \"missile\"\n }), _createVNode(_component_el_option, {\n label: \"空中威胁\",\n value: \"aircraft\"\n }), _createVNode(_component_el_option, {\n label: \"地面威胁\",\n value: \"ground\"\n }), _createVNode(_component_el_option, {\n label: \"气象威胁\",\n value: \"weather\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁等级\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: $setup.editForm.level,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.editForm.level = $event),\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_option, {\n label: \"低威胁\",\n value: \"low\"\n }), _createVNode(_component_el_option, {\n label: \"中威胁\",\n value: \"medium\"\n }), _createVNode(_component_el_option, {\n label: \"高威胁\",\n value: \"high\"\n }), _createVNode(_component_el_option, {\n label: \"极高威胁\",\n value: \"critical\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"威胁描述\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.editForm.description,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.editForm.description = $event),\n type: \"textarea\",\n rows: 3\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_component_el_tabs","$setup","activePanel","$event","onTabClick","handleTabClick","_component_el_tab_pane","label","name","_hoisted_4","_component_basic_map_panel","onToggleAddMode","toggleAddMode","onClearTargets","clearTargets","addMode","targetPoints","_hoisted_5","_component_threat_zone_panel","threatZones","selectedZoneId","currentThreatType","drawMode","threatLevel","circleRadius","threatDescription","threatTimeRange","visibleLayers","onOnThreatTypeChange","handleThreatTypeChange","onOnThreatLevelChange","handleThreatLevelChange","onSetDrawMode","setDrawMode","onSelectZone","selectZone","onDeleteZone","deleteZone","onEditZone","editZone","onClearAllZones","clearAllZones","onUpdateLayerVisibility","updateLayerVisibility","onUpdateCircleRadius","updateCircleRadius","onUpdateThreatDescription","updateThreatDescription","onUpdateThreatTimeRange","updateThreatTimeRange","onSaveEditedZone","saveEditedZone","onFitToZones","fitToZones","_hoisted_6","_component_path_planning_panel","pathPoints","planningAlgorithm","flightAltitude","flightSpeed","pathInfo","drones","selectedDroneId","onClearAll","clearAll","onPlanPath","planPath","onExecutePath","executePath","onRemovePoint","removePoint","onCenterToStart","centerToStart","onCenterToEnd","centerToEnd","onFitToPath","fitToPath","onUpdatePlanningAlgorithm","updatePlanningAlgorithm","onUpdateFlightAltitude","updateFlightAltitude","onUpdateFlightSpeed","updateFlightSpeed","onLoadHistoryPath","loadHistoryPathToPlanning","onUpdateSelectedDroneId","_cache","val","value","onPausePath","_ctx","pausePath","_hoisted_7","_component_path_history_panel","selectedHistoryPaths","onShowPath","showHistoryPath","onHidePath","hideHistoryPath","onShowAllPaths","showAllHistoryPaths","onHideAllPaths","hideAllHistoryPaths","onCenterToPath","centerToHistoryPath","onDuplicatePath","duplicateHistoryPath","onUpdateSelectedPaths","updateSelectedHistoryPaths","_hoisted_8","_component_multi_to_multi_planning_panel","multiStartPoints","multiTargetPoints","addStartMode","addTargetMode","multiPlanningAlgorithm","multiFlightAltitude","multiFlightSpeed","multiPlanningResult","onToggleAddStartMode","toggleAddStartMode","onToggleAddTargetMode","toggleAddTargetMode","onRemoveStartPoint","removeStartPoint","onRemoveTargetPoint","removeTargetPoint","onClearStartPoints","clearStartPoints","onClearTargetPoints","clearTargetPoints","clearAllMultiPoints","onPlanMultiToMulti","planMultiToMulti","onPreviewAssignment","previewAssignment","onExecuteMultiPlanning","executeMultiPlanning","onCenterToStarts","centerToStarts","onCenterToTargets","centerToTargets","onFitToAllPoints","fitToAllMultiPoints","onUpdatePlanningMode","updateMultiPlanningMode","updateMultiPlanningAlgorithm","onUpdateAssignmentStrategy","updateAssignmentStrategy","updateMultiFlightAltitude","updateMultiFlightSpeed","onLoadHistoryScheme","loadHistoryScheme","_hoisted_9","_component_SharedMap","mode","onMapLoaded","onMapClick","ref","_hoisted_10","_component_el_alert","title","getAddModeTip","type","_hoisted_11","getDrawTip","closable","_component_el_dialog","editDialogVisible","width","footer","_withCtx","_component_el_button","onClick","_component_el_form","model","editForm","size","_component_el_form_item","_component_el_select","style","_component_el_option","level","_component_el_input","description","rows"],"sources":["C:\\Users\\33491\\Desktop\\command_center\\web-command-center\\frontend\\src\\views\\UnifiedMapView.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24d0f29e9e1a0e74dd68b953716e79c7cf29e0ccf34428a578aed7d1933b5599.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24d0f29e9e1a0e74dd68b953716e79c7cf29e0ccf34428a578aed7d1933b5599.json new file mode 100644 index 00000000..01b0940b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24d0f29e9e1a0e74dd68b953716e79c7cf29e0ccf34428a578aed7d1933b5599.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { uploadListTypes } from './upload.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { mutable } from '../../../utils/typescript.mjs';\nimport { NOOP } from '@vue/shared';\nconst uploadListProps = buildProps({\n files: {\n type: definePropType(Array),\n default: () => mutable([])\n },\n disabled: {\n type: Boolean,\n default: false\n },\n handlePreview: {\n type: definePropType(Function),\n default: NOOP\n },\n listType: {\n type: String,\n values: uploadListTypes,\n default: \"text\"\n },\n crossorigin: {\n type: definePropType(String)\n }\n});\nconst uploadListEmits = {\n remove: file => !!file\n};\nexport { uploadListEmits, uploadListProps };","map":{"version":3,"names":["uploadListProps","buildProps","files","type","definePropType","Array","default","mutable","disabled","Boolean","handlePreview","Function","NOOP","listType","String","values","uploadListTypes","crossorigin","uploadListEmits","remove","file"],"sources":["../../../../../../packages/components/upload/src/upload-list.ts"],"sourcesContent":["import { NOOP, buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { uploadListTypes } from './upload'\nimport type { ExtractPropTypes } from 'vue'\nimport type { UploadFile, UploadFiles, UploadHooks } from './upload'\nimport type UploadList from './upload-list.vue'\n\nexport const uploadListProps = buildProps({\n files: {\n type: definePropType(Array),\n default: () => mutable([]),\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n handlePreview: {\n type: definePropType(Function),\n default: NOOP,\n },\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\n\nexport type UploadListProps = ExtractPropTypes\nexport const uploadListEmits = {\n remove: (file: UploadFile) => !!file,\n}\nexport type UploadListEmits = typeof uploadListEmits\nexport type UploadListInstance = InstanceType & unknown\n"],"mappings":";;;;AAEY,MAACA,eAAe,GAAGC,UAAU,CAAC;EACxCC,KAAK,EAAE;IACLC,IAAI,EAAEC,cAAc,CAACC,KAAK,CAAC;IAC3BC,OAAO,EAAEA,CAAA,KAAMC,OAAO,CAAC,EAAE;EAC7B,CAAG;EACDC,QAAQ,EAAE;IACRL,IAAI,EAAEM,OAAO;IACbH,OAAO,EAAE;EACb,CAAG;EACDI,aAAa,EAAE;IACbP,IAAI,EAAEC,cAAc,CAACO,QAAQ,CAAC;IAC9BL,OAAO,EAAEM;EACb,CAAG;EACDC,QAAQ,EAAE;IACRV,IAAI,EAAEW,MAAM;IACZC,MAAM,EAAEC,eAAe;IACvBV,OAAO,EAAE;EACb,CAAG;EACDW,WAAW,EAAE;IACXd,IAAI,EAAEC,cAAc,CAACU,MAAM;EAC/B;AACA,CAAC;AACW,MAACI,eAAe,GAAG;EAC7BC,MAAM,EAAGC,IAAI,IAAK,CAAC,CAACA;AACtB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24f29755d892e0dffae8704ef6cd7bf3203a0f04e7135c4935189ee92bc9bb95.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24f29755d892e0dffae8704ef6cd7bf3203a0f04e7135c4935189ee92bc9bb95.json new file mode 100644 index 00000000..fbe02dcb --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24f29755d892e0dffae8704ef6cd7bf3203a0f04e7135c4935189ee92bc9bb95.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\nexport default baseForOwn;","map":{"version":3,"names":["baseFor","keys","baseForOwn","object","iteratee"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseForOwn.js"],"sourcesContent":["import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,eAAe;AACnC,OAAOC,IAAI,MAAM,WAAW;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,MAAM,EAAEC,QAAQ,EAAE;EACpC,OAAOD,MAAM,IAAIH,OAAO,CAACG,MAAM,EAAEC,QAAQ,EAAEH,IAAI,CAAC;AAClD;AAEA,eAAeC,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24f630ac7ff510017d4962476fa66715771bf8a4d4fa3a5d4bd3c311885c164b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24f630ac7ff510017d4962476fa66715771bf8a4d4fa3a5d4bd3c311885c164b.json new file mode 100644 index 00000000..81c71b4b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/24f630ac7ff510017d4962476fa66715771bf8a4d4fa3a5d4bd3c311885c164b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseUnset from './_baseUnset.js';\n\n/**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\nfunction unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n}\nexport default unset;","map":{"version":3,"names":["baseUnset","unset","object","path"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/unset.js"],"sourcesContent":["import baseUnset from './_baseUnset.js';\n\n/**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\nfunction unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n}\n\nexport default unset;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAACC,MAAM,EAAEC,IAAI,EAAE;EAC3B,OAAOD,MAAM,IAAI,IAAI,GAAG,IAAI,GAAGF,SAAS,CAACE,MAAM,EAAEC,IAAI,CAAC;AACxD;AAEA,eAAeF,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25a4f1b60cca7eb83f439d48ba0b39b29a84dd1e91daab51841211fd963e4e00.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25a4f1b60cca7eb83f439d48ba0b39b29a84dd1e91daab51841211fd963e4e00.json new file mode 100644 index 00000000..6b9a2575 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25a4f1b60cca7eb83f439d48ba0b39b29a84dd1e91daab51841211fd963e4e00.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { mutable } from '../../../utils/typescript.mjs';\nconst tabBarProps = buildProps({\n tabs: {\n type: definePropType(Array),\n default: () => mutable([])\n }\n});\nexport { tabBarProps };","map":{"version":3,"names":["tabBarProps","buildProps","tabs","type","definePropType","Array","default","mutable"],"sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from './constants'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType(Array),\n default: () => mutable([] as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes\nexport type TabBarInstance = InstanceType & unknown\n"],"mappings":";;AACY,MAACA,WAAW,GAAGC,UAAU,CAAC;EACpCC,IAAI,EAAE;IACJC,IAAI,EAAEC,cAAc,CAACC,KAAK,CAAC;IAC3BC,OAAO,EAAEA,CAAA,KAAMC,OAAO,CAAC,EAAE;EAC7B;AACA,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25a9251e33eead7cd1b1d2a276c402447c1ad5a8b0528faffea9eec6ab3bbbab.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25a9251e33eead7cd1b1d2a276c402447c1ad5a8b0528faffea9eec6ab3bbbab.json new file mode 100644 index 00000000..8d47055b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25a9251e33eead7cd1b1d2a276c402447c1ad5a8b0528faffea9eec6ab3bbbab.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function (result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\nexport default kebabCase;","map":{"version":3,"names":["createCompounder","kebabCase","result","word","index","toLowerCase"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/kebabCase.js"],"sourcesContent":["import createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nexport default kebabCase;\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,wBAAwB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,SAAS,GAAGD,gBAAgB,CAAC,UAASE,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE;EAC7D,OAAOF,MAAM,IAAIE,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,eAAeJ,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25b63983937e99f63937cd87a845b310a660fc6bb5538343c100c98c5b8de4a4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25b63983937e99f63937cd87a845b310a660fc6bb5538343c100c98c5b8de4a4.json new file mode 100644 index 00000000..c590a157 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25b63983937e99f63937cd87a845b310a660fc6bb5538343c100c98c5b8de4a4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { popperTriggerProps } from '../../popper/src/trigger.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { EVENT_CODE } from '../../../constants/aria.mjs';\nconst useTooltipTriggerProps = buildProps({\n ...popperTriggerProps,\n disabled: Boolean,\n trigger: {\n type: definePropType([String, Array]),\n default: \"hover\"\n },\n triggerKeys: {\n type: definePropType(Array),\n default: () => [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space]\n }\n});\nexport { useTooltipTriggerProps };","map":{"version":3,"names":["useTooltipTriggerProps","buildProps","popperTriggerProps","disabled","Boolean","trigger","type","definePropType","String","Array","default","triggerKeys","EVENT_CODE","enter","numpadEnter","space"],"sources":["../../../../../../packages/components/tooltip/src/trigger.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { popperTriggerProps } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport type TooltipTriggerType = 'hover' | 'focus' | 'click' | 'contextmenu'\n\nexport const useTooltipTriggerProps = buildProps({\n ...popperTriggerProps,\n /**\n * @description whether Tooltip is disabled\n */\n disabled: Boolean,\n /**\n * @description How should the tooltip be triggered (to show)\n */\n trigger: {\n type: definePropType>([String, Array]),\n default: 'hover',\n },\n /**\n * @description When you click the mouse to focus on the trigger element, you can define a set of keyboard codes to control the display of tooltip through the keyboard\n */\n triggerKeys: {\n type: definePropType(Array),\n default: () => [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space],\n },\n} as const)\n\nexport type ElTooltipTriggerProps = ExtractPropTypes<\n typeof useTooltipTriggerProps\n>\n"],"mappings":";;;AAGY,MAACA,sBAAsB,GAAGC,UAAU,CAAC;EAC/C,GAAGC,kBAAkB;EACrBC,QAAQ,EAAEC,OAAO;EACjBC,OAAO,EAAE;IACPC,IAAI,EAAEC,cAAc,CAAC,CAACC,MAAM,EAAEC,KAAK,CAAC,CAAC;IACrCC,OAAO,EAAE;EACb,CAAG;EACDC,WAAW,EAAE;IACXL,IAAI,EAAEC,cAAc,CAACE,KAAK,CAAC;IAC3BC,OAAO,EAAEA,CAAA,KAAM,CAACE,UAAU,CAACC,KAAK,EAAED,UAAU,CAACE,WAAW,EAAEF,UAAU,CAACG,KAAK;EAC9E;AACA,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25bf32d8d2c1879bdb865b2a0689c9ea920782241aba5c91094acbac138f4cf4.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25bf32d8d2c1879bdb865b2a0689c9ea920782241aba5c91094acbac138f4cf4.json new file mode 100644 index 00000000..18362fa0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25bf32d8d2c1879bdb865b2a0689c9ea920782241aba5c91094acbac138f4cf4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import arrayFilter from './_arrayFilter.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseXor from './_baseXor.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport last from './last.js';\n\n/**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar xorBy = baseRest(function (arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), baseIteratee(iteratee, 2));\n});\nexport default xorBy;","map":{"version":3,"names":["arrayFilter","baseIteratee","baseRest","baseXor","isArrayLikeObject","last","xorBy","arrays","iteratee","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/xorBy.js"],"sourcesContent":["import arrayFilter from './_arrayFilter.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseXor from './_baseXor.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport last from './last.js';\n\n/**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), baseIteratee(iteratee, 2));\n});\n\nexport default xorBy;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,mBAAmB;AAC3C,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,OAAO,MAAM,eAAe;AACnC,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,IAAI,MAAM,WAAW;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,KAAK,GAAGJ,QAAQ,CAAC,UAASK,MAAM,EAAE;EACpC,IAAIC,QAAQ,GAAGH,IAAI,CAACE,MAAM,CAAC;EAC3B,IAAIH,iBAAiB,CAACI,QAAQ,CAAC,EAAE;IAC/BA,QAAQ,GAAGC,SAAS;EACtB;EACA,OAAON,OAAO,CAACH,WAAW,CAACO,MAAM,EAAEH,iBAAiB,CAAC,EAAEH,YAAY,CAACO,QAAQ,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,eAAeF,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25d5ae5ab6409a725545dfdca08fffde5d222049646c5e59cb5dfb2b00dbf31a.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25d5ae5ab6409a725545dfdca08fffde5d222049646c5e59cb5dfb2b00dbf31a.json new file mode 100644 index 00000000..03bf5c43 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/25d5ae5ab6409a725545dfdca08fffde5d222049646c5e59cb5dfb2b00dbf31a.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * @returns {string}\n */\nfunction getCurrentScriptSource() {\n // `document.currentScript` is the most accurate way to find the current script,\n // but is not supported in all browsers.\n if (document.currentScript) {\n return document.currentScript.getAttribute(\"src\");\n }\n\n // Fallback to getting all scripts running in the document.\n var scriptElements = document.scripts || [];\n var scriptElementsWithSrc = Array.prototype.filter.call(scriptElements, function (element) {\n return element.getAttribute(\"src\");\n });\n if (scriptElementsWithSrc.length > 0) {\n var currentScript = scriptElementsWithSrc[scriptElementsWithSrc.length - 1];\n return currentScript.getAttribute(\"src\");\n }\n\n // Fail as there was no script to use.\n throw new Error(\"[webpack-dev-server] Failed to get current script source.\");\n}\nexport default getCurrentScriptSource;","map":{"version":3,"names":["getCurrentScriptSource","document","currentScript","getAttribute","scriptElements","scripts","scriptElementsWithSrc","Array","prototype","filter","call","element","length","Error"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js"],"sourcesContent":["/**\n * @returns {string}\n */\nfunction getCurrentScriptSource() {\n // `document.currentScript` is the most accurate way to find the current script,\n // but is not supported in all browsers.\n if (document.currentScript) {\n return document.currentScript.getAttribute(\"src\");\n }\n\n // Fallback to getting all scripts running in the document.\n var scriptElements = document.scripts || [];\n var scriptElementsWithSrc = Array.prototype.filter.call(scriptElements, function (element) {\n return element.getAttribute(\"src\");\n });\n if (scriptElementsWithSrc.length > 0) {\n var currentScript = scriptElementsWithSrc[scriptElementsWithSrc.length - 1];\n return currentScript.getAttribute(\"src\");\n }\n\n // Fail as there was no script to use.\n throw new Error(\"[webpack-dev-server] Failed to get current script source.\");\n}\nexport default getCurrentScriptSource;"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,sBAAsBA,CAAA,EAAG;EAChC;EACA;EACA,IAAIC,QAAQ,CAACC,aAAa,EAAE;IAC1B,OAAOD,QAAQ,CAACC,aAAa,CAACC,YAAY,CAAC,KAAK,CAAC;EACnD;;EAEA;EACA,IAAIC,cAAc,GAAGH,QAAQ,CAACI,OAAO,IAAI,EAAE;EAC3C,IAAIC,qBAAqB,GAAGC,KAAK,CAACC,SAAS,CAACC,MAAM,CAACC,IAAI,CAACN,cAAc,EAAE,UAAUO,OAAO,EAAE;IACzF,OAAOA,OAAO,CAACR,YAAY,CAAC,KAAK,CAAC;EACpC,CAAC,CAAC;EACF,IAAIG,qBAAqB,CAACM,MAAM,GAAG,CAAC,EAAE;IACpC,IAAIV,aAAa,GAAGI,qBAAqB,CAACA,qBAAqB,CAACM,MAAM,GAAG,CAAC,CAAC;IAC3E,OAAOV,aAAa,CAACC,YAAY,CAAC,KAAK,CAAC;EAC1C;;EAEA;EACA,MAAM,IAAIU,KAAK,CAAC,2DAA2D,CAAC;AAC9E;AACA,eAAeb,sBAAsB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/262bbb5247cd9fec21188f339cb28e42ea23adbb2a64901b073643b5313c7f61.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/262bbb5247cd9fec21188f339cb28e42ea23adbb2a64901b073643b5313c7f61.json new file mode 100644 index 00000000..4c9fb86e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/262bbb5247cd9fec21188f339cb28e42ea23adbb2a64901b073643b5313c7f61.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseLt from './_baseLt.js';\nimport createRelationalOperation from './_createRelationalOperation.js';\n\n/**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\nvar lt = createRelationalOperation(baseLt);\nexport default lt;","map":{"version":3,"names":["baseLt","createRelationalOperation","lt"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/lt.js"],"sourcesContent":["import baseLt from './_baseLt.js';\nimport createRelationalOperation from './_createRelationalOperation.js';\n\n/**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\nvar lt = createRelationalOperation(baseLt);\n\nexport default lt;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,cAAc;AACjC,OAAOC,yBAAyB,MAAM,iCAAiC;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,EAAE,GAAGD,yBAAyB,CAACD,MAAM,CAAC;AAE1C,eAAeE,EAAE","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/263584ed494a1d0f036865f5f4c190cf3c0f5892937f186b414abbaf0e80fa05.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/263584ed494a1d0f036865f5f4c190cf3c0f5892937f186b414abbaf0e80fa05.json new file mode 100644 index 00000000..42cb0858 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/263584ed494a1d0f036865f5f4c190cf3c0f5892937f186b414abbaf0e80fa05.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isVNode, defineComponent, renderSlot, createVNode, createTextVNode, Comment } from 'vue';\nimport SpaceItem from './item.mjs';\nimport { useSpace } from './use-space.mjs';\nimport { PatchFlags, isFragment, isValidElementNode } from '../../../utils/vue/vnode.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { isNumber } from '../../../utils/types.mjs';\nimport { isString, isArray } from '@vue/shared';\nimport { componentSizes } from '../../../constants/size.mjs';\nconst spaceProps = buildProps({\n direction: {\n type: String,\n values: [\"horizontal\", \"vertical\"],\n default: \"horizontal\"\n },\n class: {\n type: definePropType([String, Object, Array]),\n default: \"\"\n },\n style: {\n type: definePropType([String, Array, Object]),\n default: \"\"\n },\n alignment: {\n type: definePropType(String),\n default: \"center\"\n },\n prefixCls: {\n type: String\n },\n spacer: {\n type: definePropType([Object, String, Number, Array]),\n default: null,\n validator: val => isVNode(val) || isNumber(val) || isString(val)\n },\n wrap: Boolean,\n fill: Boolean,\n fillRatio: {\n type: Number,\n default: 100\n },\n size: {\n type: [String, Array, Number],\n values: componentSizes,\n validator: val => {\n return isNumber(val) || isArray(val) && val.length === 2 && val.every(isNumber);\n }\n }\n});\nconst Space = defineComponent({\n name: \"ElSpace\",\n props: spaceProps,\n setup(props, {\n slots\n }) {\n const {\n classes,\n containerStyle,\n itemStyle\n } = useSpace(props);\n function extractChildren(children, parentKey = \"\", extractedChildren = []) {\n const {\n prefixCls\n } = props;\n children.forEach((child, loopKey) => {\n if (isFragment(child)) {\n if (isArray(child.children)) {\n child.children.forEach((nested, key) => {\n if (isFragment(nested) && isArray(nested.children)) {\n extractChildren(nested.children, `${parentKey + key}-`, extractedChildren);\n } else {\n if (isVNode(nested) && (nested == null ? void 0 : nested.type) === Comment) {\n extractedChildren.push(nested);\n } else {\n extractedChildren.push(createVNode(SpaceItem, {\n style: itemStyle.value,\n prefixCls,\n key: `nested-${parentKey + key}`\n }, {\n default: () => [nested]\n }, PatchFlags.PROPS | PatchFlags.STYLE, [\"style\", \"prefixCls\"]));\n }\n }\n });\n }\n } else if (isValidElementNode(child)) {\n extractedChildren.push(createVNode(SpaceItem, {\n style: itemStyle.value,\n prefixCls,\n key: `LoopKey${parentKey + loopKey}`\n }, {\n default: () => [child]\n }, PatchFlags.PROPS | PatchFlags.STYLE, [\"style\", \"prefixCls\"]));\n } else if (isVNode(child) && child.type === Comment) {\n extractedChildren.push(child);\n }\n });\n return extractedChildren;\n }\n return () => {\n var _a;\n const {\n spacer,\n direction\n } = props;\n const children = renderSlot(slots, \"default\", {\n key: 0\n }, () => []);\n if (((_a = children.children) != null ? _a : []).length === 0) return null;\n if (isArray(children.children)) {\n let extractedChildren = extractChildren(children.children);\n if (spacer) {\n const len = extractedChildren.length - 1;\n extractedChildren = extractedChildren.reduce((acc, child, idx) => {\n const children2 = [...acc, child];\n if (idx !== len) {\n children2.push(createVNode(\"span\", {\n style: [itemStyle.value, direction === \"vertical\" ? \"width: 100%\" : null],\n key: idx\n }, [isVNode(spacer) ? spacer : createTextVNode(spacer, PatchFlags.TEXT)], PatchFlags.STYLE));\n }\n return children2;\n }, []);\n }\n return createVNode(\"div\", {\n class: classes.value,\n style: containerStyle.value\n }, extractedChildren, PatchFlags.STYLE | PatchFlags.CLASS);\n }\n return children.children;\n };\n }\n});\nexport { Space as default, spaceProps };","map":{"version":3,"names":["spaceProps","buildProps","direction","type","String","values","default","class","definePropType","Object","Array","style","alignment","prefixCls","spacer","Number","validator","val","isVNode","isNumber","isString","wrap","Boolean","fill","fillRatio","size","componentSizes","isArray","length","every","Space","defineComponent","name","props","setup","slots","classes","containerStyle","itemStyle","useSpace","extractChildren","children","parentKey","extractedChildren","forEach","child","loopKey","isFragment","nested","key","Comment","push","createVNode","SpaceItem","value","PatchFlags","PROPS","STYLE","isValidElementNode","_a","renderSlot","len","reduce","acc","idx","children2","createTextVNode","TEXT","CLASS"],"sources":["../../../../../../packages/components/space/src/space.ts"],"sourcesContent":["import {\n Comment,\n createTextVNode,\n createVNode,\n defineComponent,\n isVNode,\n renderSlot,\n} from 'vue'\nimport {\n PatchFlags,\n buildProps,\n definePropType,\n isArray,\n isFragment,\n isNumber,\n isString,\n isValidElementNode,\n} from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport Item from './item'\nimport { useSpace } from './use-space'\n\nimport type {\n ExtractPropTypes,\n StyleValue,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { AlignItemsProperty } from 'csstype'\n\nexport const spaceProps = buildProps({\n /**\n * @description Placement direction\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description Classname\n */\n class: {\n type: definePropType | string>>([\n String,\n Object,\n Array,\n ]),\n default: '',\n },\n /**\n * @description Extra style rules\n */\n style: {\n type: definePropType([String, Array, Object]),\n default: '',\n },\n /**\n * @description Controls the alignment of items\n */\n alignment: {\n type: definePropType(String),\n default: 'center',\n },\n /**\n * @description Prefix for space-items\n */\n prefixCls: {\n type: String,\n },\n /**\n * @description Spacer\n */\n spacer: {\n type: definePropType([Object, String, Number, Array]),\n default: null,\n validator: (val: unknown) => isVNode(val) || isNumber(val) || isString(val),\n },\n /**\n * @description Auto wrapping\n */\n wrap: Boolean,\n /**\n * @description Whether to fill the container\n */\n fill: Boolean,\n /**\n * @description Ratio of fill\n */\n fillRatio: {\n type: Number,\n default: 100,\n },\n /**\n * @description Spacing size\n */\n size: {\n type: [String, Array, Number],\n values: componentSizes,\n validator: (val: unknown): val is [number, number] | number => {\n return (\n isNumber(val) ||\n (isArray(val) && val.length === 2 && val.every(isNumber))\n )\n },\n },\n} as const)\nexport type SpaceProps = ExtractPropTypes\n\nconst Space = defineComponent({\n name: 'ElSpace',\n\n props: spaceProps,\n\n setup(props, { slots }) {\n const { classes, containerStyle, itemStyle } = useSpace(props)\n\n // retrieve the children out via a simple for loop\n // the edge case here is that when users uses directives like , \n // we need to go deeper until the child is not the Fragment type\n function extractChildren(\n children: VNodeArrayChildren,\n parentKey = '',\n extractedChildren: VNode[] = []\n ) {\n const { prefixCls } = props\n children.forEach((child, loopKey) => {\n if (isFragment(child)) {\n if (isArray(child.children)) {\n child.children.forEach((nested, key) => {\n if (isFragment(nested) && isArray(nested.children)) {\n extractChildren(\n nested.children,\n `${parentKey + key}-`,\n extractedChildren\n )\n } else {\n if (isVNode(nested) && nested?.type === Comment) {\n extractedChildren.push(nested)\n } else {\n extractedChildren.push(\n createVNode(\n Item,\n {\n style: itemStyle.value,\n prefixCls,\n key: `nested-${parentKey + key}`,\n },\n {\n default: () => [nested],\n },\n PatchFlags.PROPS | PatchFlags.STYLE,\n ['style', 'prefixCls']\n )\n )\n }\n }\n })\n }\n // if the current child is valid vnode, then append this current vnode\n // to item as child node.\n } else if (isValidElementNode(child)) {\n extractedChildren.push(\n createVNode(\n Item,\n {\n style: itemStyle.value,\n prefixCls,\n key: `LoopKey${parentKey + loopKey}`,\n },\n {\n default: () => [child],\n },\n PatchFlags.PROPS | PatchFlags.STYLE,\n ['style', 'prefixCls']\n )\n )\n } else if (isVNode(child) && child.type === Comment) {\n extractedChildren.push(child)\n }\n })\n\n return extractedChildren\n }\n\n return () => {\n const { spacer, direction } = props\n\n const children = renderSlot(slots, 'default', { key: 0 }, () => [])\n\n if ((children.children ?? []).length === 0) return null\n // loop the children, if current children is rendered via `renderList` or ``\n if (isArray(children.children)) {\n let extractedChildren = extractChildren(children.children)\n\n if (spacer) {\n // track the current rendering index, when encounters the last element\n // then no need to add a spacer after it.\n const len = extractedChildren.length - 1\n extractedChildren = extractedChildren.reduce(\n (acc, child, idx) => {\n const children = [...acc, child]\n if (idx !== len) {\n children.push(\n createVNode(\n 'span',\n // adding width 100% for vertical alignment,\n // when the spacer inherit the width from the\n // parent, this span's width was not set, so space\n // might disappear\n {\n style: [\n itemStyle.value,\n direction === 'vertical' ? 'width: 100%' : null,\n ],\n key: idx,\n },\n [\n // if spacer is already a valid vnode, then append it to the current\n // span element.\n // otherwise, treat it as string.\n isVNode(spacer)\n ? spacer\n : createTextVNode(spacer as string, PatchFlags.TEXT),\n ],\n PatchFlags.STYLE\n )\n )\n }\n return children\n },\n []\n )\n }\n\n // spacer container.\n return createVNode(\n 'div',\n {\n class: classes.value,\n style: containerStyle.value,\n },\n extractedChildren,\n PatchFlags.STYLE | PatchFlags.CLASS\n )\n }\n\n return children.children\n }\n },\n})\n\nexport type SpaceInstance = InstanceType & unknown\n\nexport default Space\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2644b0630c29c4789cb481fc9696da106505eeb2ac21797e9573eeaaceb0e7fa.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2644b0630c29c4789cb481fc9696da106505eeb2ac21797e9573eeaaceb0e7fa.json new file mode 100644 index 00000000..eba3f5fa --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2644b0630c29c4789cb481fc9696da106505eeb2ac21797e9573eeaaceb0e7fa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createVNode, mergeProps, isVNode } from 'vue';\nimport Table from '../table-grid.mjs';\nfunction _isSlot(s) {\n return typeof s === \"function\" || Object.prototype.toString.call(s) === \"[object Object]\" && !isVNode(s);\n}\nconst MainTable = (props, {\n slots\n}) => {\n const {\n mainTableRef,\n ...rest\n } = props;\n return createVNode(Table, mergeProps({\n \"ref\": mainTableRef\n }, rest), _isSlot(slots) ? slots : {\n default: () => [slots]\n });\n};\nvar MainTable$1 = MainTable;\nexport { MainTable$1 as default };","map":{"version":3,"names":["mainTableRef","rest","props","createVNode","Table","mergeProps","_isSlot","slots","default","MainTable$1","MainTable"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/main-table.tsx"],"sourcesContent":["import Table from '../table-grid'\n\nimport type { FunctionalComponent, Ref } from 'vue'\nimport type { TableV2GridProps } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\nexport type MainTableRendererProps = TableV2GridProps & {\n mainTableRef: Ref\n}\n\nconst MainTable: FunctionalComponent = (\n props: MainTableRendererProps,\n { slots }\n) => {\n const { mainTableRef, ...rest } = props\n return (\n \n {slots}\n
\n )\n}\n\nexport default MainTable\n"],"mappings":";;;;;;;AAUA,MAAM;EAEF;IACCA,YAAA;IACG,GAAAC;MAAAC,KAAA;SAAmBC,WAAA,CAAAC,KAAA,EAAAC,UAAA;IAAnB,KAAN,EAAAL;EACA,GAAAC,IAAA,GAAAK,OAAA,CAAAC,KAAA,IAAAA,KAAA;IAAAC,OACc,EAAAA,CAAA,MAAAD,KAAA;EADd;AAAA;AAAA,IAAAE,WAAA,GAAAC,SAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/268be399c758337dbe78e65b1efe133218ab60f11b9d45fd8be44cddb3f5e3f7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/268be399c758337dbe78e65b1efe133218ab60f11b9d45fd8be44cddb3f5e3f7.json new file mode 100644 index 00000000..2b731f58 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/268be399c758337dbe78e65b1efe133218ab60f11b9d45fd8be44cddb3f5e3f7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseTimes from './_baseTimes.js';\nimport castFunction from './_castFunction.js';\nimport toInteger from './toInteger.js';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Invokes the iteratee `n` times, returning an array of the results of\n * each invocation. The iteratee is invoked with one argument; (index).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.times(3, String);\n * // => ['0', '1', '2']\n *\n * _.times(4, _.constant(0));\n * // => [0, 0, 0, 0]\n */\nfunction times(n, iteratee) {\n n = toInteger(n);\n if (n < 1 || n > MAX_SAFE_INTEGER) {\n return [];\n }\n var index = MAX_ARRAY_LENGTH,\n length = nativeMin(n, MAX_ARRAY_LENGTH);\n iteratee = castFunction(iteratee);\n n -= MAX_ARRAY_LENGTH;\n var result = baseTimes(length, iteratee);\n while (++index < n) {\n iteratee(index);\n }\n return result;\n}\nexport default times;","map":{"version":3,"names":["baseTimes","castFunction","toInteger","MAX_SAFE_INTEGER","MAX_ARRAY_LENGTH","nativeMin","Math","min","times","n","iteratee","index","length","result"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/times.js"],"sourcesContent":["import baseTimes from './_baseTimes.js';\nimport castFunction from './_castFunction.js';\nimport toInteger from './toInteger.js';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Invokes the iteratee `n` times, returning an array of the results of\n * each invocation. The iteratee is invoked with one argument; (index).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.times(3, String);\n * // => ['0', '1', '2']\n *\n * _.times(4, _.constant(0));\n * // => [0, 0, 0, 0]\n */\nfunction times(n, iteratee) {\n n = toInteger(n);\n if (n < 1 || n > MAX_SAFE_INTEGER) {\n return [];\n }\n var index = MAX_ARRAY_LENGTH,\n length = nativeMin(n, MAX_ARRAY_LENGTH);\n\n iteratee = castFunction(iteratee);\n n -= MAX_ARRAY_LENGTH;\n\n var result = baseTimes(length, iteratee);\n while (++index < n) {\n iteratee(index);\n }\n return result;\n}\n\nexport default times;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,SAAS,MAAM,gBAAgB;;AAEtC;AACA,IAAIC,gBAAgB,GAAG,gBAAgB;;AAEvC;AACA,IAAIC,gBAAgB,GAAG,UAAU;;AAEjC;AACA,IAAIC,SAAS,GAAGC,IAAI,CAACC,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAACC,CAAC,EAAEC,QAAQ,EAAE;EAC1BD,CAAC,GAAGP,SAAS,CAACO,CAAC,CAAC;EAChB,IAAIA,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGN,gBAAgB,EAAE;IACjC,OAAO,EAAE;EACX;EACA,IAAIQ,KAAK,GAAGP,gBAAgB;IACxBQ,MAAM,GAAGP,SAAS,CAACI,CAAC,EAAEL,gBAAgB,CAAC;EAE3CM,QAAQ,GAAGT,YAAY,CAACS,QAAQ,CAAC;EACjCD,CAAC,IAAIL,gBAAgB;EAErB,IAAIS,MAAM,GAAGb,SAAS,CAACY,MAAM,EAAEF,QAAQ,CAAC;EACxC,OAAO,EAAEC,KAAK,GAAGF,CAAC,EAAE;IAClBC,QAAQ,CAACC,KAAK,CAAC;EACjB;EACA,OAAOE,MAAM;AACf;AAEA,eAAeL,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/268e40b6dadfba156993957354729cbec7ea5017b2f9588986c0ebd1793dfb2b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/268e40b6dadfba156993957354729cbec7ea5017b2f9588986c0ebd1793dfb2b.json new file mode 100644 index 00000000..c7c1ae62 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/268e40b6dadfba156993957354729cbec7ea5017b2f9588986c0ebd1793dfb2b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\nexport default getAllKeys;","map":{"version":3,"names":["baseGetAllKeys","getSymbols","keys","getAllKeys","object"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_getAllKeys.js"],"sourcesContent":["import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,sBAAsB;AACjD,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,IAAI,MAAM,WAAW;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,OAAOJ,cAAc,CAACI,MAAM,EAAEF,IAAI,EAAED,UAAU,CAAC;AACjD;AAEA,eAAeE,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/26c8384f735528f2c43dc59bc47946d3e2b495ba905c44524d645fbb7254cebf.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/26c8384f735528f2c43dc59bc47946d3e2b495ba905c44524d645fbb7254cebf.json new file mode 100644 index 00000000..d07eb51c --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/26c8384f735528f2c43dc59bc47946d3e2b495ba905c44524d645fbb7254cebf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, inject, withDirectives, cloneVNode, Fragment, createVNode, Text, Comment } from 'vue';\nimport { FORWARD_REF_INJECTION_KEY, useForwardRefDirective } from '../../../hooks/use-forward-ref/index.mjs';\nimport { NOOP, isObject } from '@vue/shared';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst NAME = \"ElOnlyChild\";\nconst OnlyChild = defineComponent({\n name: NAME,\n setup(_, {\n slots,\n attrs\n }) {\n var _a;\n const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY);\n const forwardRefDirective = useForwardRefDirective((_a = forwardRefInjection == null ? void 0 : forwardRefInjection.setForwardRef) != null ? _a : NOOP);\n return () => {\n var _a2;\n const defaultSlot = (_a2 = slots.default) == null ? void 0 : _a2.call(slots, attrs);\n if (!defaultSlot) return null;\n if (defaultSlot.length > 1) {\n debugWarn(NAME, \"requires exact only one valid child.\");\n return null;\n }\n const firstLegitNode = findFirstLegitChild(defaultSlot);\n if (!firstLegitNode) {\n debugWarn(NAME, \"no valid child node found\");\n return null;\n }\n return withDirectives(cloneVNode(firstLegitNode, attrs), [[forwardRefDirective]]);\n };\n }\n});\nfunction findFirstLegitChild(node) {\n if (!node) return null;\n const children = node;\n for (const child of children) {\n if (isObject(child)) {\n switch (child.type) {\n case Comment:\n continue;\n case Text:\n case \"svg\":\n return wrapTextContent(child);\n case Fragment:\n return findFirstLegitChild(child.children);\n default:\n return child;\n }\n }\n return wrapTextContent(child);\n }\n return null;\n}\nfunction wrapTextContent(s) {\n const ns = useNamespace(\"only-child\");\n return createVNode(\"span\", {\n \"class\": ns.e(\"content\")\n }, [s]);\n}\nexport { OnlyChild };","map":{"version":3,"names":["NAME","OnlyChild","defineComponent","name","slots","attrs","_a","forwardRefInjection","inject","FORWARD_REF_INJECTION_KEY","forwardRefDirective","useForwardRefDirective","setForwardRef","NOOP","_a2","defaultSlot","default","call","length","debugWarn","firstLegitNode","findFirstLegitChild","withDirectives","cloneVNode","node","child","children","isObject","type","Text","wrapTextContent","Fragment","ns","useNamespace","createVNode","s"],"sources":["../../../../../../packages/components/slot/src/only-child.tsx"],"sourcesContent":["import {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n inject,\n withDirectives,\n} from 'vue'\nimport { NOOP, debugWarn, isObject } from '@element-plus/utils'\nimport {\n FORWARD_REF_INJECTION_KEY,\n useForwardRefDirective,\n useNamespace,\n} from '@element-plus/hooks'\n\nimport type { Ref, VNode } from 'vue'\n\nconst NAME = 'ElOnlyChild'\n\nexport const OnlyChild = defineComponent({\n name: NAME,\n setup(_, { slots, attrs }) {\n const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY)\n const forwardRefDirective = useForwardRefDirective(\n forwardRefInjection?.setForwardRef ?? NOOP\n )\n return () => {\n const defaultSlot = slots.default?.(attrs)\n if (!defaultSlot) return null\n\n if (defaultSlot.length > 1) {\n debugWarn(NAME, 'requires exact only one valid child.')\n return null\n }\n\n const firstLegitNode = findFirstLegitChild(defaultSlot)\n if (!firstLegitNode) {\n debugWarn(NAME, 'no valid child node found')\n return null\n }\n\n return withDirectives(cloneVNode(firstLegitNode!, attrs), [\n [forwardRefDirective],\n ])\n }\n },\n})\n\nfunction findFirstLegitChild(node: VNode[] | undefined): VNode | null {\n if (!node) return null\n const children = node as VNode[]\n for (const child of children) {\n /**\n * when user uses h(Fragment, [text]) to render plain string,\n * this switch case just cannot handle, when the value is primitives\n * we should just return the wrapped string\n */\n if (isObject(child)) {\n switch (child.type) {\n case Comment:\n continue\n case Text:\n case 'svg':\n return wrapTextContent(child)\n case Fragment:\n return findFirstLegitChild(child.children as VNode[])\n default:\n return child\n }\n }\n return wrapTextContent(child)\n }\n return null\n}\n\nfunction wrapTextContent(s: string | VNode) {\n const ns = useNamespace('only-child')\n return {s}\n}\n\nexport type OnlyChildExpose = {\n forwardRef: Ref\n}\n"],"mappings":";;;;;AAkBA,MAAMA,IAAI,GAAG,aAAb;AAEa,MAAAC,SAAS,GAAGC,eAAe,CAAC;EACvCC,IAAI,EAAEH,IADiC;;IAElCI,KAAA;IAAMC;EAAO;IAAS,IAAAC,EAAA;IACzB,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,yBAAD,CAAlC;IACA,MAAMC,mBAAmB,GAAGC,sBAAsB,CAChD,CAAAL,EAAA,GAAAC,mBAAqB,WAAiB,MADU,GAAlDA,mBAAA,CAAAK,aAAA,YAAAN,EAAA,GAAAO,IAAA;IAGA,OAAO,MAAM;MACX,IAAAC,GAAA;MACA,MAAKC,WAAa,IAAAD,GAAA,GAAAV,KAAA,CAAAY,OAAA,qBAAAF,GAAA,CAAAG,IAAA,CAAAb,KAAA,EAAAC,KAAA;wBAElB,OAAe;MACb,IAAAU,WAAU,CAADG,MAAO;QAChBC,SAAA,CAAAnB,IAAA;QACD;;MAED,MAAMoB,cAAc,GAAGC,mBAAmB,CAACN,WAAD,CAA1C;;QACII,SAAA,CAAAnB,IAAA,6BAAiB;QACnB,WAAU;MACV;MACD,OAAAsB,cAAA,CAAAC,UAAA,CAAAH,cAAA,EAAAf,KAAA,KAAAK,mBAAA;;EAED;;AAIH,SAAAW,oBAAAG,IAAA;aA1BI;;EA6BE,WAAAC,KAAA,IAAAC,QAAoB;IAC3B,IAAKC,QAAM,CAAAF,KAAA;MACL,QAAAA,KAAW,CAAjBG,IAAA;;UACW;QACT,KAAAC,IAAA;QACJ;UACA,OAAAC,eAAA,CAAAL,KAAA;QACA,KAAAM,QAAA;UACA,OAAAV,mBAAA,CAAAI,KAAA,CAAAC,QAAA;QACQ;UACM,OAAAD,KAAR;MACE;IACE;;EACF;EACA,WAAK;;;EAEL,MAAAO,EAAA,GAAKC,YAAL;EACE,OAAAC,WAA0B;;EAC5B,IAAAC,CAAA;AACE","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27537e8d38b2129803de86e8ca87e50aa5bbf26859f8e92beb20c7644f243b18.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27537e8d38b2129803de86e8ca87e50aa5bbf26859f8e92beb20c7644f243b18.json new file mode 100644 index 00000000..3abcc6c4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27537e8d38b2129803de86e8ca87e50aa5bbf26859f8e92beb20c7644f243b18.json @@ -0,0 +1 @@ +{"ast":null,"code":"/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\nexport default cloneRegExp;","map":{"version":3,"names":["reFlags","cloneRegExp","regexp","result","constructor","source","exec","lastIndex"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_cloneRegExp.js"],"sourcesContent":["/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n"],"mappings":"AAAA;AACA,IAAIA,OAAO,GAAG,MAAM;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAACC,MAAM,EAAE;EAC3B,IAAIC,MAAM,GAAG,IAAID,MAAM,CAACE,WAAW,CAACF,MAAM,CAACG,MAAM,EAAEL,OAAO,CAACM,IAAI,CAACJ,MAAM,CAAC,CAAC;EACxEC,MAAM,CAACI,SAAS,GAAGL,MAAM,CAACK,SAAS;EACnC,OAAOJ,MAAM;AACf;AAEA,eAAeF,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27c233014f5a74982ca061ad293e6d71e1cd076912bb2f99015b4820ccea7a5c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27c233014f5a74982ca061ad293e6d71e1cd076912bb2f99015b4820ccea7a5c.json new file mode 100644 index 00000000..c931c4ea --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27c233014f5a74982ca061ad293e6d71e1cd076912bb2f99015b4820ccea7a5c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import notify from './src/notify.mjs';\nexport { notificationEmits, notificationProps, notificationTypes } from './src/notification.mjs';\nimport { withInstallFunction } from '../../utils/vue/install.mjs';\nconst ElNotification = withInstallFunction(notify, \"$notify\");\nexport { ElNotification, ElNotification as default };","map":{"version":3,"names":["ElNotification","withInstallFunction","notify"],"sources":["../../../../../packages/components/notification/index.ts"],"sourcesContent":["import { withInstallFunction } from '@element-plus/utils'\n\nimport Notify from './src/notify'\n\nexport const ElNotification = withInstallFunction(Notify, '$notify')\nexport default ElNotification\n\nexport * from './src/notification'\n"],"mappings":";;;AAEY,MAACA,cAAc,GAAGC,mBAAmB,CAACC,MAAM,EAAE,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27df08e0075a7ddab6416392a1fde624bb57de4f1ec9b6e5c7ad4530cf4eefe2.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27df08e0075a7ddab6416392a1fde624bb57de4f1ec9b6e5c7ad4530cf4eefe2.json new file mode 100644 index 00000000..836c646d --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27df08e0075a7ddab6416392a1fde624bb57de4f1ec9b6e5c7ad4530cf4eefe2.json @@ -0,0 +1 @@ +{"ast":null,"code":"const composeEventHandlers = (theirsHandler, oursHandler, {\n checkForDefaultPrevented = true\n} = {}) => {\n const handleEvent = event => {\n const shouldPrevent = theirsHandler == null ? void 0 : theirsHandler(event);\n if (checkForDefaultPrevented === false || !shouldPrevent) {\n return oursHandler == null ? void 0 : oursHandler(event);\n }\n };\n return handleEvent;\n};\nconst whenMouse = handler => {\n return e => e.pointerType === \"mouse\" ? handler(e) : void 0;\n};\nexport { composeEventHandlers, whenMouse };","map":{"version":3,"names":["composeEventHandlers","theirsHandler","oursHandler","checkForDefaultPrevented","handleEvent","event","shouldPrevent","whenMouse","handler","e","pointerType"],"sources":["../../../../../packages/utils/dom/event.ts"],"sourcesContent":["export const composeEventHandlers = (\n theirsHandler?: (event: E) => boolean | void,\n oursHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) => {\n const handleEvent = (event: E) => {\n const shouldPrevent = theirsHandler?.(event)\n\n if (checkForDefaultPrevented === false || !shouldPrevent) {\n return oursHandler?.(event)\n }\n }\n return handleEvent\n}\n\ntype WhenMouseHandler = (e: PointerEvent) => any\nexport const whenMouse = (handler: WhenMouseHandler): WhenMouseHandler => {\n return (e: PointerEvent) =>\n e.pointerType === 'mouse' ? handler(e) : undefined\n}\n"],"mappings":"AAAY,MAACA,oBAAoB,GAAGA,CAACC,aAAa,EAAEC,WAAW,EAAE;EAAEC,wBAAwB,GAAG;AAAI,CAAE,GAAG,EAAE,KAAK;EAC5G,MAAMC,WAAW,GAAIC,KAAK,IAAK;IAC7B,MAAMC,aAAa,GAAGL,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACI,KAAK,CAAC;IAC3E,IAAIF,wBAAwB,KAAK,KAAK,IAAI,CAACG,aAAa,EAAE;MACxD,OAAOJ,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,WAAW,CAACG,KAAK,CAAC;IAC9D;EACA,CAAG;EACD,OAAOD,WAAW;AACpB;AACY,MAACG,SAAS,GAAIC,OAAO,IAAK;EACpC,OAAQC,CAAC,IAAKA,CAAC,CAACC,WAAW,KAAK,OAAO,GAAGF,OAAO,CAACC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC/D","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27f3d33ac24d3634d4074d574eb0f60f171d5efc2d575f346f6f11b4dda8dea8.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27f3d33ac24d3634d4074d574eb0f60f171d5efc2d575f346f6f11b4dda8dea8.json new file mode 100644 index 00000000..93c821c7 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/27f3d33ac24d3634d4074d574eb0f60f171d5efc2d575f346f6f11b4dda8dea8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseInvoke from './_baseInvoke.js';\nimport baseRest from './_baseRest.js';\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = baseRest(baseInvoke);\nexport default invoke;","map":{"version":3,"names":["baseInvoke","baseRest","invoke"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/invoke.js"],"sourcesContent":["import baseInvoke from './_baseInvoke.js';\nimport baseRest from './_baseRest.js';\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = baseRest(baseInvoke);\n\nexport default invoke;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,kBAAkB;AACzC,OAAOC,QAAQ,MAAM,gBAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,MAAM,GAAGD,QAAQ,CAACD,UAAU,CAAC;AAEjC,eAAeE,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/280f87f4d8de77810fef16a95808e8b15cd493fe5309f5ff4df27479f4793f23.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/280f87f4d8de77810fef16a95808e8b15cd493fe5309f5ff4df27479f4793f23.json new file mode 100644 index 00000000..63b3e2a8 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/280f87f4d8de77810fef16a95808e8b15cd493fe5309f5ff4df27479f4793f23.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, renderSlot } from 'vue';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst __default__ = defineComponent({\n name: \"ElFooter\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: {\n height: {\n type: String,\n default: null\n }\n },\n setup(__props) {\n const props = __props;\n const ns = useNamespace(\"footer\");\n const style = computed(() => props.height ? ns.cssVarBlock({\n height: props.height\n }) : {});\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"footer\", {\n class: normalizeClass(unref(ns).b()),\n style: normalizeStyle(unref(style))\n }, [renderSlot(_ctx.$slots, \"default\")], 6);\n };\n }\n});\nvar Footer = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"footer.vue\"]]);\nexport { Footer as default };","map":{"version":3,"names":["name","openBlock","createElementBlock","class","normalizeClass","unref","ns","b","style","normalizeStyle"],"sources":["../../../../../../packages/components/container/src/footer.vue"],"sourcesContent":["\n\n\n"],"mappings":";;;mCAYc;EACZA,IAAM;AACR;;;;;;;;;;;;;;;;MAWM,OAAAC,SAAA,IAAAC,kBAA0B;QAEhCC,KAAc,EAAAC,cAAA,CAAAC,KAAA,CAAAC,EAAA,EAAAC,CAAA;QACZC,KACS,EAAAC,cACA,CAAAJ,KAAA,CAAAG,KAAc;MAChB,CACT,G","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/281abec42fff700abded2b93cb69663f1bf7248e4b5d18a936c16b879e92a071.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/281abec42fff700abded2b93cb69663f1bf7248e4b5d18a936c16b879e92a071.json new file mode 100644 index 00000000..0b8a0a5a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/281abec42fff700abded2b93cb69663f1bf7248e4b5d18a936c16b879e92a071.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { inject, computed, h } from 'vue';\nimport { merge } from 'lodash-unified';\nimport { getRowIdentity } from '../util.mjs';\nimport { TABLE_INJECTION_KEY } from '../tokens.mjs';\nimport useEvents from './events-helper.mjs';\nimport useStyles from './styles-helper.mjs';\nimport TdWrapper from './td-wrapper.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nimport { isBoolean, isPropAbsent } from '../../../../utils/types.mjs';\nfunction useRender(props) {\n const parent = inject(TABLE_INJECTION_KEY);\n const ns = useNamespace(\"table\");\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger\n } = useEvents(props);\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth\n } = useStyles(props);\n const firstDefaultColumnIndex = computed(() => {\n return props.store.states.columns.value.findIndex(({\n type\n }) => type === \"default\");\n });\n const getKeyOfRow = (row, index) => {\n const rowKey = parent.props.rowKey;\n if (rowKey) {\n return getRowIdentity(row, rowKey);\n }\n return index;\n };\n const rowRender = (row, $index, treeRowData, expanded = false) => {\n const {\n tooltipEffect,\n tooltipOptions,\n store\n } = props;\n const {\n indent,\n columns\n } = store.states;\n const rowClasses = getRowClass(row, $index);\n let display = true;\n if (treeRowData) {\n rowClasses.push(ns.em(\"row\", `level-${treeRowData.level}`));\n display = treeRowData.display;\n }\n const displayStyle = display ? null : {\n display: \"none\"\n };\n return h(\"tr\", {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: $event => handleDoubleClick($event, row),\n onClick: $event => handleClick($event, row),\n onContextmenu: $event => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave\n }, columns.value.map((column, cellIndex) => {\n const {\n rowspan,\n colspan\n } = getSpan(row, column, $index, cellIndex);\n if (!rowspan || !colspan) {\n return null;\n }\n const columnData = Object.assign({}, column);\n columnData.realWidth = getColspanRealWidth(columns.value, colspan, cellIndex);\n const data = {\n store: props.store,\n _self: props.context || parent,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded\n };\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level * indent.value,\n level: treeRowData.level\n };\n if (isBoolean(treeRowData.expanded)) {\n data.treeNode.expanded = treeRowData.expanded;\n if (\"loading\" in treeRowData) {\n data.treeNode.loading = treeRowData.loading;\n }\n if (\"noLazyChildren\" in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren;\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`;\n const patchKey = columnData.columnKey || columnData.rawColumnKey || \"\";\n const mergedTooltipOptions = column.showOverflowTooltip && merge({\n effect: tooltipEffect\n }, tooltipOptions, column.showOverflowTooltip);\n return h(TdWrapper, {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: $event => handleCellMouseEnter($event, row, mergedTooltipOptions),\n onMouseleave: handleCellMouseLeave\n }, {\n default: () => cellChildren(cellIndex, column, data)\n });\n }));\n };\n const cellChildren = (cellIndex, column, data) => {\n return column.renderCell(data);\n };\n const wrappedRowRender = (row, $index) => {\n const store = props.store;\n const {\n isRowExpanded,\n assertRowKey\n } = store;\n const {\n treeData,\n lazyTreeNodeMap,\n childrenColumnName,\n rowKey\n } = store.states;\n const columns = store.states.columns.value;\n const hasExpandColumn = columns.some(({\n type\n }) => type === \"expand\");\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row);\n const tr = rowRender(row, $index, void 0, expanded);\n const renderExpanded = parent.renderExpanded;\n if (!renderExpanded) {\n console.error(\"[Element Error]renderExpanded is required.\");\n return tr;\n }\n const rows = [[tr]];\n if (parent.props.preserveExpandedContent || expanded) {\n rows[0].push(h(\"tr\", {\n key: `expanded-row__${tr.key}`,\n style: {\n display: expanded ? \"\" : \"none\"\n }\n }, [h(\"td\", {\n colspan: columns.length,\n class: `${ns.e(\"cell\")} ${ns.e(\"expanded-cell\")}`\n }, [renderExpanded({\n row,\n $index,\n store,\n expanded\n })])]));\n }\n return rows;\n } else if (Object.keys(treeData.value).length) {\n assertRowKey();\n const key = getRowIdentity(row, rowKey.value);\n let cur = treeData.value[key];\n let treeRowData = null;\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true\n };\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length);\n }\n treeRowData.loading = cur.loading;\n }\n }\n const tmp = [rowRender(row, $index, treeRowData)];\n if (cur) {\n let i = 0;\n const traverse = (children, parent2) => {\n if (!(children && children.length && parent2)) return;\n children.forEach(node => {\n const innerTreeRowData = {\n display: parent2.display && parent2.expanded,\n level: parent2.level + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false\n };\n const childKey = getRowIdentity(node, rowKey.value);\n if (isPropAbsent(childKey)) {\n throw new Error(\"For nested data item, row-key is required.\");\n }\n cur = {\n ...treeData.value[childKey]\n };\n if (cur) {\n innerTreeRowData.expanded = cur.expanded;\n cur.level = cur.level || innerTreeRowData.level;\n cur.display = !!(cur.expanded && innerTreeRowData.display);\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length);\n }\n innerTreeRowData.loading = cur.loading;\n }\n }\n i++;\n tmp.push(rowRender(node, $index + i, innerTreeRowData));\n if (cur) {\n const nodes2 = lazyTreeNodeMap.value[childKey] || node[childrenColumnName.value];\n traverse(nodes2, cur);\n }\n });\n };\n cur.display = true;\n const nodes = lazyTreeNodeMap.value[key] || row[childrenColumnName.value];\n traverse(nodes, cur);\n }\n return tmp;\n } else {\n return rowRender(row, $index, void 0);\n }\n };\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger\n };\n}\nexport { useRender as default };","map":{"version":3,"names":["useRender","props","parent","inject","TABLE_INJECTION_KEY","ns","useNamespace","handleDoubleClick","handleClick","handleContextMenu","handleMouseEnter","handleMouseLeave","handleCellMouseEnter","handleCellMouseLeave","tooltipContent","tooltipTrigger","useEvents","getRowStyle","getRowClass","getCellStyle","getCellClass","getSpan","getColspanRealWidth","useStyles","firstDefaultColumnIndex","computed","store","states","columns","value","findIndex","type","getKeyOfRow","row","index","rowKey","getRowIdentity","rowRender","$index","treeRowData","expanded","tooltipEffect","tooltipOptions","indent","rowClasses","display","push","em","level","displayStyle","h","style","class","key","onDblclick","$event","onClick","onContextmenu","onMouseenter","onMouseleave","map","column","cellIndex","rowspan","colspan","columnData","Object","assign","realWidth","data","_self","context","treeNode","isBoolean","loading","noLazyChildren","baseKey","patchKey","columnKey","rawColumnKey","mergedTooltipOptions","showOverflowTooltip","merge","effect","TdWrapper","default","cellChildren","renderCell","wrappedRowRender","isRowExpanded","assertRowKey","treeData","lazyTreeNodeMap","childrenColumnName","hasExpandColumn","some","tr","renderExpanded","console","error","rows","preserveExpandedContent","length","e","keys","cur","lazy","loaded","children","tmp","i","traverse","parent2","forEach","node","innerTreeRowData","childKey","isPropAbsent","Error","nodes2","nodes"],"sources":["../../../../../../../packages/components/table/src/table-body/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, h, inject } from 'vue'\nimport { merge } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isBoolean, isPropAbsent } from '@element-plus/utils'\nimport { getRowIdentity } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvents from './events-helper'\nimport useStyles from './styles-helper'\nimport TdWrapper from './td-wrapper.vue'\nimport type { TableBodyProps } from './defaults'\nimport type { RenderRowData, TableProps, TreeNode } from '../table/defaults'\n\nfunction useRender(props: Partial>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n } = useEvents(props)\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n } = useStyles(props)\n const firstDefaultColumnIndex = computed(() => {\n return props.store.states.columns.value.findIndex(\n ({ type }) => type === 'default'\n )\n })\n const getKeyOfRow = (row: T, index: number) => {\n const rowKey = (parent.props as Partial>).rowKey\n if (rowKey) {\n return getRowIdentity(row, rowKey)\n }\n return index\n }\n const rowRender = (\n row: T,\n $index: number,\n treeRowData?: TreeNode,\n expanded = false\n ) => {\n const { tooltipEffect, tooltipOptions, store } = props\n const { indent, columns } = store.states\n const rowClasses = getRowClass(row, $index)\n let display = true\n if (treeRowData) {\n rowClasses.push(ns.em('row', `level-${treeRowData.level}`))\n display = treeRowData.display\n }\n const displayStyle = display ? null : { display: 'none' }\n return h(\n 'tr',\n {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: ($event) => handleDoubleClick($event, row),\n onClick: ($event) => handleClick($event, row),\n onContextmenu: ($event) => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave,\n },\n columns.value.map((column, cellIndex) => {\n const { rowspan, colspan } = getSpan(row, column, $index, cellIndex)\n if (!rowspan || !colspan) {\n return null\n }\n const columnData = Object.assign({}, column)\n columnData.realWidth = getColspanRealWidth(\n columns.value,\n colspan,\n cellIndex\n )\n const data: RenderRowData = {\n store: props.store,\n _self: props.context || parent,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded,\n }\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level * indent.value,\n level: treeRowData.level,\n }\n if (isBoolean(treeRowData.expanded)) {\n data.treeNode.expanded = treeRowData.expanded\n // 表明是懒加载\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`\n const patchKey = columnData.columnKey || columnData.rawColumnKey || ''\n const mergedTooltipOptions =\n column.showOverflowTooltip &&\n merge(\n {\n effect: tooltipEffect,\n },\n tooltipOptions,\n column.showOverflowTooltip\n )\n return h(\n TdWrapper,\n {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: ($event) =>\n handleCellMouseEnter($event, row, mergedTooltipOptions),\n onMouseleave: handleCellMouseLeave,\n },\n {\n default: () => cellChildren(cellIndex, column, data),\n }\n )\n })\n )\n }\n const cellChildren = (cellIndex, column, data) => {\n return column.renderCell(data)\n }\n\n const wrappedRowRender = (row: T, $index: number) => {\n const store = props.store\n const { isRowExpanded, assertRowKey } = store\n const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } =\n store.states\n const columns = store.states.columns.value\n const hasExpandColumn = columns.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row)\n const tr = rowRender(row, $index, undefined, expanded)\n const renderExpanded = parent.renderExpanded\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.')\n return tr\n }\n\n // 在没设置时候避免 h 执行\n // 非保留模式且未展开时,直接返回\n // 使用二维数组包装,避免修改 $index\n const rows = [[tr]]\n\n // 仅在需要时创建展开行(保留模式或展开状态)\n if (parent.props.preserveExpandedContent || expanded) {\n rows[0].push(\n h(\n 'tr',\n {\n key: `expanded-row__${tr.key as string}`,\n style: { display: expanded ? '' : 'none' },\n },\n [\n h(\n 'td',\n {\n colspan: columns.length,\n class: `${ns.e('cell')} ${ns.e('expanded-cell')}`,\n },\n [renderExpanded({ row, $index, store, expanded })]\n ),\n ]\n )\n )\n }\n\n return rows\n } else if (Object.keys(treeData.value).length) {\n assertRowKey()\n // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算\n // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作\n const key = getRowIdentity(row, rowKey.value)\n let cur = treeData.value[key]\n let treeRowData = null\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true,\n }\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length)\n }\n treeRowData.loading = cur.loading\n }\n }\n const tmp = [rowRender(row, $index, treeRowData)]\n // 渲染嵌套数据\n if (cur) {\n // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index\n let i = 0\n const traverse = (children, parent) => {\n if (!(children && children.length && parent)) return\n children.forEach((node) => {\n // 父节点的 display 状态影响子节点的显示状态\n const innerTreeRowData = {\n display: parent.display && parent.expanded,\n level: parent.level + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false,\n }\n const childKey = getRowIdentity(node, rowKey.value)\n if (isPropAbsent(childKey)) {\n throw new Error('For nested data item, row-key is required.')\n }\n cur = { ...treeData.value[childKey] }\n // 对于当前节点,分成有无子节点两种情况。\n // 如果包含子节点的,设置 expanded 属性。\n // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\n if (cur) {\n innerTreeRowData.expanded = cur.expanded\n // 懒加载的某些节点,level 未知\n cur.level = cur.level || innerTreeRowData.level\n cur.display = !!(cur.expanded && innerTreeRowData.display)\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(\n cur.children && cur.children.length\n )\n }\n innerTreeRowData.loading = cur.loading\n }\n }\n i++\n tmp.push(rowRender(node, $index + i, innerTreeRowData))\n if (cur) {\n const nodes =\n lazyTreeNodeMap.value[childKey] ||\n node[childrenColumnName.value]\n traverse(nodes, cur)\n }\n })\n }\n // 对于 root 节点,display 一定为 true\n cur.display = true\n const nodes =\n lazyTreeNodeMap.value[key] || row[childrenColumnName.value]\n traverse(nodes, cur)\n }\n return tmp\n } else {\n return rowRender(row, $index, undefined)\n }\n }\n\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useRender\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/284dae5d7a3300453c39e16a6d5dfc3d9e7b6a1968566c748addfa5ae942fd3b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/284dae5d7a3300453c39e16a6d5dfc3d9e7b6a1968566c748addfa5ae942fd3b.json new file mode 100644 index 00000000..c646dc40 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/284dae5d7a3300453c39e16a6d5dfc3d9e7b6a1968566c748addfa5ae942fd3b.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default } from './toPairs.js';","map":{"version":3,"names":["default"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/entries.js"],"sourcesContent":["export { default } from './toPairs.js'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/28b268c8260d0f43746096933f55cb4a8facb706e0669550c6738f4f6aca68fd.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/28b268c8260d0f43746096933f55cb4a8facb706e0669550c6738f4f6aca68fd.json new file mode 100644 index 00000000..41ebcbc5 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/28b268c8260d0f43746096933f55cb4a8facb706e0669550c6738f4f6aca68fd.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : result + current;\n }\n }\n return result;\n}\nexport default baseSum;","map":{"version":3,"names":["baseSum","array","iteratee","result","index","length","current","undefined"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/_baseSum.js"],"sourcesContent":["/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nexport default baseSum;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAOA,CAACC,KAAK,EAAEC,QAAQ,EAAE;EAChC,IAAIC,MAAM;IACNC,KAAK,GAAG,CAAC,CAAC;IACVC,MAAM,GAAGJ,KAAK,CAACI,MAAM;EAEzB,OAAO,EAAED,KAAK,GAAGC,MAAM,EAAE;IACvB,IAAIC,OAAO,GAAGJ,QAAQ,CAACD,KAAK,CAACG,KAAK,CAAC,CAAC;IACpC,IAAIE,OAAO,KAAKC,SAAS,EAAE;MACzBJ,MAAM,GAAGA,MAAM,KAAKI,SAAS,GAAGD,OAAO,GAAIH,MAAM,GAAGG,OAAQ;IAC9D;EACF;EACA,OAAOH,MAAM;AACf;AAEA,eAAeH,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/290316535a8c41462274d40fc31623586c22300efc2e56165b5bae3390251b07.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/290316535a8c41462274d40fc31623586c22300efc2e56165b5bae3390251b07.json new file mode 100644 index 00000000..06403452 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/290316535a8c41462274d40fc31623586c22300efc2e56165b5bae3390251b07.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { defineComponent, ref, inject, computed, provide, readonly, toRef, unref, watch, renderSlot } from 'vue';\nimport { useEventListener } from '@vueuse/core';\nimport { rovingFocusGroupProps, ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY } from './roving-focus-group.mjs';\nimport { ROVING_FOCUS_GROUP_INJECTION_KEY } from './tokens.mjs';\nimport { focusFirst } from './utils.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { composeEventHandlers } from '../../../utils/dom/event.mjs';\nconst CURRENT_TAB_ID_CHANGE_EVT = \"currentTabIdChange\";\nconst ENTRY_FOCUS_EVT = \"rovingFocusGroup.entryFocus\";\nconst EVT_OPTS = {\n bubbles: false,\n cancelable: true\n};\nconst _sfc_main = defineComponent({\n name: \"ElRovingFocusGroupImpl\",\n inheritAttrs: false,\n props: rovingFocusGroupProps,\n emits: [CURRENT_TAB_ID_CHANGE_EVT, \"entryFocus\"],\n setup(props, {\n emit\n }) {\n var _a;\n const currentTabbedId = ref((_a = props.currentTabId || props.defaultCurrentTabId) != null ? _a : null);\n const isBackingOut = ref(false);\n const isClickFocus = ref(false);\n const rovingFocusGroupRef = ref();\n const {\n getItems\n } = inject(COLLECTION_INJECTION_KEY, void 0);\n const rovingFocusGroupRootStyle = computed(() => {\n return [{\n outline: \"none\"\n }, props.style];\n });\n const onItemFocus = tabbedId => {\n emit(CURRENT_TAB_ID_CHANGE_EVT, tabbedId);\n };\n const onItemShiftTab = () => {\n isBackingOut.value = true;\n };\n const onMousedown = composeEventHandlers(e => {\n var _a2;\n (_a2 = props.onMousedown) == null ? void 0 : _a2.call(props, e);\n }, () => {\n isClickFocus.value = true;\n });\n const onFocus = composeEventHandlers(e => {\n var _a2;\n (_a2 = props.onFocus) == null ? void 0 : _a2.call(props, e);\n }, e => {\n const isKeyboardFocus = !unref(isClickFocus);\n const {\n target,\n currentTarget\n } = e;\n if (target === currentTarget && isKeyboardFocus && !unref(isBackingOut)) {\n const entryFocusEvt = new Event(ENTRY_FOCUS_EVT, EVT_OPTS);\n currentTarget == null ? void 0 : currentTarget.dispatchEvent(entryFocusEvt);\n if (!entryFocusEvt.defaultPrevented) {\n const items = getItems().filter(item => item.focusable);\n const activeItem = items.find(item => item.active);\n const currentItem = items.find(item => item.id === unref(currentTabbedId));\n const candidates = [activeItem, currentItem, ...items].filter(Boolean);\n const candidateNodes = candidates.map(item => item.ref);\n focusFirst(candidateNodes);\n }\n }\n isClickFocus.value = false;\n });\n const onBlur = composeEventHandlers(e => {\n var _a2;\n (_a2 = props.onBlur) == null ? void 0 : _a2.call(props, e);\n }, () => {\n isBackingOut.value = false;\n });\n const handleEntryFocus = (...args) => {\n emit(\"entryFocus\", ...args);\n };\n provide(ROVING_FOCUS_GROUP_INJECTION_KEY, {\n currentTabbedId: readonly(currentTabbedId),\n loop: toRef(props, \"loop\"),\n tabIndex: computed(() => {\n return unref(isBackingOut) ? -1 : 0;\n }),\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n orientation: toRef(props, \"orientation\"),\n dir: toRef(props, \"dir\"),\n onItemFocus,\n onItemShiftTab,\n onBlur,\n onFocus,\n onMousedown\n });\n watch(() => props.currentTabId, val => {\n currentTabbedId.value = val != null ? val : null;\n });\n useEventListener(rovingFocusGroupRef, ENTRY_FOCUS_EVT, handleEntryFocus);\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return renderSlot(_ctx.$slots, \"default\");\n}\nvar ElRovingFocusGroupImpl = /* @__PURE__ */_export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"roving-focus-group-impl.vue\"]]);\nexport { ElRovingFocusGroupImpl as default };","map":{"version":3,"names":["CURRENT_TAB_ID_CHANGE_EVT","ENTRY_FOCUS_EVT","EVT_OPTS","bubbles","cancelable","_sfc_main","defineComponent","name","inheritAttrs","props","rovingFocusGroupProps","emits","setup","emit","_a","currentTabbedId","ref","currentTabId","defaultCurrentTabId","isBackingOut","isClickFocus","rovingFocusGroupRef","getItems","inject","COLLECTION_INJECTION_KEY","rovingFocusGroupRootStyle","computed","outline","style","onItemFocus","tabbedId","onItemShiftTab","value","onMousedown","composeEventHandlers","e","_a2","call","onFocus","isKeyboardFocus","unref","target","currentTarget","entryFocusEvt","Event","dispatchEvent","defaultPrevented","items","filter","item","focusable","activeItem","find","active","currentItem","id","candidates","Boolean","candidateNodes","map","focusFirst","onBlur","handleEntryFocus","args","provide","ROVING_FOCUS_GROUP_INJECTION_KEY","readonly","loop","toRef","tabIndex","orientation","dir","watch","val","useEventListener","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","renderSlot","$slots","ElRovingFocusGroupImpl","_export_sfc"],"sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group-impl.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/291abbe5ab295caeeffdd30ef6c577d19a6751b02d2d30cd6c6613a591661ba9.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/291abbe5ab295caeeffdd30ef6c577d19a6751b02d2d30cd6c6613a591661ba9.json new file mode 100644 index 00000000..65379727 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/291abbe5ab295caeeffdd30ef6c577d19a6751b02d2d30cd6c6613a591661ba9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function (object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\nexport default merge;","map":{"version":3,"names":["baseMerge","createAssigner","merge","object","source","srcIndex"],"sources":["C:/Users/33491/Desktop/command_center/web-command-center/frontend/node_modules/lodash-es/merge.js"],"sourcesContent":["import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAiB;AACvC,OAAOC,cAAc,MAAM,sBAAsB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,KAAK,GAAGD,cAAc,CAAC,UAASE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE;EAC5DL,SAAS,CAACG,MAAM,EAAEC,MAAM,EAAEC,QAAQ,CAAC;AACrC,CAAC,CAAC;AAEF,eAAeH,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/292576fe19086dbe8e80b2b7d95839157101b0d0a65a4ae6bb8ae633539e8aba.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/292576fe19086dbe8e80b2b7d95839157101b0d0a65a4ae6bb8ae633539e8aba.json new file mode 100644 index 00000000..b6668c6b --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/292576fe19086dbe8e80b2b7d95839157101b0d0a65a4ae6bb8ae633539e8aba.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, computed } from 'vue';\nimport { useProps } from './useProps.mjs';\nfunction useAllowCreate(props, states) {\n const {\n aliasProps,\n getLabel,\n getValue\n } = useProps(props);\n const createOptionCount = ref(0);\n const cachedSelectedOption = ref();\n const enableAllowCreateMode = computed(() => {\n return props.allowCreate && props.filterable;\n });\n function hasExistingOption(query) {\n const hasOption = option => getLabel(option) === query;\n return props.options && props.options.some(hasOption) || states.createdOptions.some(hasOption);\n }\n function selectNewOption(option) {\n if (!enableAllowCreateMode.value) {\n return;\n }\n if (props.multiple && option.created) {\n createOptionCount.value++;\n } else {\n cachedSelectedOption.value = option;\n }\n }\n function createNewOption(query) {\n if (enableAllowCreateMode.value) {\n if (query && query.length > 0) {\n if (hasExistingOption(query)) {\n return;\n }\n const newOption = {\n [aliasProps.value.value]: query,\n [aliasProps.value.label]: query,\n created: true,\n [aliasProps.value.disabled]: false\n };\n if (states.createdOptions.length >= createOptionCount.value) {\n states.createdOptions[createOptionCount.value] = newOption;\n } else {\n states.createdOptions.push(newOption);\n }\n } else {\n if (props.multiple) {\n states.createdOptions.length = createOptionCount.value;\n } else {\n const selectedOption = cachedSelectedOption.value;\n states.createdOptions.length = 0;\n if (selectedOption && selectedOption.created) {\n states.createdOptions.push(selectedOption);\n }\n }\n }\n }\n }\n function removeNewOption(option) {\n if (!enableAllowCreateMode.value || !option || !option.created || option.created && props.reserveKeyword && states.inputValue === getLabel(option)) {\n return;\n }\n const idx = states.createdOptions.findIndex(it => getValue(it) === getValue(option));\n if (~idx) {\n states.createdOptions.splice(idx, 1);\n createOptionCount.value--;\n }\n }\n function clearAllNewOption() {\n if (enableAllowCreateMode.value) {\n states.createdOptions.length = 0;\n createOptionCount.value = 0;\n }\n }\n return {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption\n };\n}\nexport { useAllowCreate };","map":{"version":3,"names":["useAllowCreate","props","states","aliasProps","getLabel","getValue","useProps","createOptionCount","ref","cachedSelectedOption","enableAllowCreateMode","computed","allowCreate","filterable","hasExistingOption","query","hasOption","option","options","some","createdOptions","selectNewOption","value","multiple","created","createNewOption","length","newOption","label","disabled","push","selectedOption","removeNewOption","reserveKeyword","inputValue","idx","findIndex","it","splice","clearAllNewOption"],"sources":["../../../../../../packages/components/select-v2/src/useAllowCreate.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { useProps } from './useProps'\nimport type { SelectV2Props } from './token'\nimport type { Option, SelectStates } from './select.types'\n\nexport function useAllowCreate(props: SelectV2Props, states: SelectStates) {\n const { aliasProps, getLabel, getValue } = useProps(props)\n\n const createOptionCount = ref(0)\n const cachedSelectedOption = ref