From 3fd281baaf280e1bca12135983864ff98b3d63aa Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Tue, 3 Mar 2026 17:59:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=9B=BD=E9=99=85=E5=8C=96=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/Pagination/index.vue | 5 + frontend/Skyeye-sys-ui/src/lang/en.js | 253 +++++++++++++- frontend/Skyeye-sys-ui/src/lang/zh.js | 249 ++++++++++++- .../layout/components/header-nav/index.vue | 4 +- .../home/components/device1-manage/index.js | 104 +++--- .../home/components/device1-manage/index.vue | 56 +-- .../home/components/pictures-list/index.js | 45 +-- .../home/components/pictures-list/index.scss | 68 +++- .../home/components/pictures-list/index.vue | 69 ++-- .../home/components/pictures-upload/index.js | 44 +-- .../home/components/pictures-upload/index.vue | 17 +- .../views/home/components/task-list/index.js | 51 +-- .../home/components/task-manage/index.js | 326 +++++------------- .../home/components/task-manage/index.vue | 173 +++------- .../home/components/twin-situation/index.js | 85 ++--- .../home/components/twin-situation/index.vue | 151 ++------ 16 files changed, 950 insertions(+), 750 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/components/Pagination/index.vue b/frontend/Skyeye-sys-ui/src/components/Pagination/index.vue index d296a43..1623599 100644 --- a/frontend/Skyeye-sys-ui/src/components/Pagination/index.vue +++ b/frontend/Skyeye-sys-ui/src/components/Pagination/index.vue @@ -9,6 +9,7 @@ :layout="layout" :page-sizes="pageSizes" :total="total" + :pager-count="pagerCount" v-bind="$attrs" @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -63,6 +64,10 @@ export default { small: { type: Boolean, default: true + }, + pagerCount: { + type: Number, + default: 7 } }, computed: { diff --git a/frontend/Skyeye-sys-ui/src/lang/en.js b/frontend/Skyeye-sys-ui/src/lang/en.js index ae2aa53..2cffd3f 100644 --- a/frontend/Skyeye-sys-ui/src/lang/en.js +++ b/frontend/Skyeye-sys-ui/src/lang/en.js @@ -1,3 +1,5 @@ +import { h } from "vue"; + // English translations export default { app: { @@ -17,13 +19,256 @@ export default { passwordMin: 'Password must be at least 6 characters', }, }, - common: { - capsLockOn: 'Caps lock is On', - }, menu: { device: 'Device Management', task: 'Task Management', picture: 'Picture Management', user: 'User Management' - } + }, + common: { + capsLockOn: 'Caps lock is On', + cancel: 'Cancel', + confirm: 'Confirm', + preview: 'Preview', + save: 'Save', + confirm: 'Confirm', + delete: 'Delete', + edit: 'Edit', + copy: 'Copy', + search: 'Search', + yes: 'Yes', + no: 'No', + requestFailed: 'Request failed', + deleteSuccess: 'Deleted successfully', + }, + task: { + taskList: 'Task List', + addTask: 'Add Task', + inputTaskName: 'Please enter task name', + uav: 'UAV', + loader: 'Loader', + selectLoader: 'Please select loader', + flyMode: 'Fly Mode', + taskTarget: 'Task Target', + selectTarget: 'Please select task target', + taskAltitude: 'Task Altitude', + startAltitude: 'Start Altitude', + imageLight: 'Image Light', + resolution: 'Resolution', + imageMode: 'Image Mode', + draw: 'Draw', + update: 'Update', + flySpeed: 'Fly Speed', + autoFocus: "Auto Focus", + moreSetting: 'More Setting', + moto: 'Moto', + radarHeading: 'Radar Heading', + imageBit: 'Image Bit', + sideViewDirection: 'Side View Direction', + polarization: 'Polarization', + flyHeight: 'Fly Height', + waveAngle: 'Wave Angle', + downViewAngle: 'Down View Angle', + detailInfo: 'Detail Information', + statusInfo: 'Status Information', + waveInfo: 'Waveform Information', + dev: 'DEV', + wave: 'WAVE', + humidity: 'Humidity', + airQuality: 'Air Quality', + pm25: 'PM2.5', + pm10: 'PM10', + startLongitude: 'Start Longitude', + startLatitude: 'Start Latitude', + endLongitude: 'End Longitude', + endLatitude: 'End Latitude', + endHeight: 'End Height', + endAlt: 'End Altitude', + hide: 'Hide', + show: 'Show', + executingTasks: 'Executing Tasks', + noExecutingTasks: 'No executing tasks', + endTask: 'Ended Task', + fly: { + statusInfo: 'Flight Status Information', + height: 'Height', + speed: 'Speed', + longitude: 'Longitude', + latitude: 'Latitude', + alt: 'Altitude', + clockLock: 'Clock Lock', + gps: 'GPS', + battery: 'Battery', + signal: 'Signal', + cpuTemp: 'CPU Temperature', + rfTemp: 'RF Temperature', + antennaTemp: 'Antenna Temperature', + diskTemp: 'Disk Temperature', + fpgaTemp: 'FPGA Temperature', + diskCapacity: 'Disk Capacity', + diskUsed: 'Disk Used', + memoryCapacity: 'Memory Capacity', + rtkStatus: 'RTK Status', + satelliteNum: 'Satellite Number', + imuStatus: 'IMU Status', + date: 'Date', + configStatus: 'Configuration Status', + antennaAzimuth: 'Antenna Azimuth', + antennaPitch: 'Antenna Pitch', + eastwardSpeed: "Eastward Speed", + northwardSpeed: "Northward Speed", + upwardSpeed: "Upward Speed", + pitchAngle: "Pitch Angle", + rollAngle: "Roll Angle", + yawAngle: "Yaw Angle", + }, + editTaskName: 'Edit Task Name', + taskName: 'Task Name', + taskNamePlaceholder: 'Please enter task name', + y_width: 'Y Width', + y_width_placeholder: 'Please enter Y width', + uavName: 'UAV Name', + radarName: 'Radar Name', + beginTime: 'Begin Time', + startTime: 'Start Time', + reExecute: 'Re-execute', + editName: 'Edit Name', + copy: 'Copy', + delete: 'Delete', + deleteConfirm: 'Are you sure you want to delete this task?', + submit: 'Submit', + preview: 'Preview', + noTask: 'No Tasks', + airline: { + lineDetail: 'Airline Detail', + startLon: 'Start Longitude', + startLat: 'Start Latitude', + startAlt: 'Start Altitude', + endLon: 'End Longitude', + endLat: 'End Latitude', + endAlt: 'End Altitude', + flyHeight: 'Fly Height', + startHeight: 'Start Height', + endHeight: 'End Height', + }, + deleteConfirm: 'Are you sure you want to delete this task?', + tip: 'Tip', + deleteSuccess: 'Task deleted successfully', + brightness: 'Brightness', + flyTaskConfirm: 'Are you sure you want to execute this task?', + flyTaskSuccess: 'fly successfully', + refreshUavHeightSuccess: 'Successfully got current height!', + selectLoader: 'Please select radar!', + selectUav: 'Please select UAV!', + editSuccess: 'Edit successfully!', + reFlyTaskConfirm: 'Are you sure you want to re-execute this task?', + reFlyTaskSuccess: 'Task re-executed successfully!', + addTaskSuccess: 'Task added successfully!', + duringAirlinePick: 'Already in drawing mode!', + clearAirlineConfirm: 'Drawing will clear historical data, do you want to continue?', + airlineMinPoint: 'At least two points are required!', + point: 'Point', + createAirlineTip: 'Click the left mouse button in the scene to create an airline', + getAirlineSuccess: 'Successfully got airline!', + stopTaskConfirm: 'Are you sure you want to stop this task?', + stopTaskSuccess: 'Task stopped successfully!', + planArea: 'Planning Area', + direction: { + left: 'Left', + right: 'Right', + }, + rules: { + inputTaskName: 'Please enter task name', + startAltitude: 'Please enter start altitude', + imageLight: 'Please enter image light', + mode: 'Please select fly mode', + imageMode: 'Please select image mode', + targetList: 'Please select task target', + uav: 'Please select UAV', + loader: 'Please select loader', + loaderType: 'Please select loader type', + ratio: 'Please enter ratio', + }, + }, + device1Manage: { + uav: 'UAV', + radar: 'Radar', + radarName: 'Radar Name', + radarType: 'Radar Type', + uavName: 'UAV Name', + uavCode: 'UAV Code', + ip: 'IP', + createTime: 'Create Time', + operation: 'Operation', + radarNamePlaceholder: 'Please enter radar name', + radarTypePlaceholder: 'Please enter radar type', + ipPlaceholder: 'Please enter IP address', + cancel: 'Cancel', + confirm: 'Confirm', + add: 'Add ', + edit: 'Edit', + delete: 'Delete', + deleteConfirm: 'Are you sure you want to delete this device?', + batchDeleteConfirm: 'Are you sure you want to delete the selected devices?', + deleteSuccess: 'Device deleted successfully', + batchDeleteSuccess: 'Selected devices deleted successfully', + addSuccess: 'Device added successfully', + editSuccess: 'Device updated successfully', + noSelection: 'Please select at least one device to delete', + uavNamePlaceholder: 'Please enter UAV name', + uavCodePlaceholder: 'Please enter UAV code', + validation: { + nameRequired: 'Radar name is required', + typeRequired: 'Radar type is required', + ipRequired: 'IP address is required', + ipInvalid: 'Please enter a valid IP address' + }, + radarTurnOnSuccess: 'Radar turned on successfully', + radarEndConfirm: 'Are you sure you want to end all tasks?', + tip: 'Tip', + radarEndSuccess: 'Radar ended successfully', + deleteConfirm: 'Are you sure you want to delete this device?', + }, + picture: { + list: 'Picture List', + pictureName: 'Picture Name', + taskName: 'Task Name', + nameRequired: 'Please enter picture name', + aiCheckSuccess: 'AI check successful!', + selectPicture: 'Please select pictures to identify', + deleteConfirm: 'Are you sure you want to delete this picture?', + tip: 'Tip', + deleteSuccess: 'Picture deleted successfully', + editSuccess: 'Picture name updated successfully', + task: 'Task', + time: 'Time', + selectPicture: 'Select Picture', + aiCheck: 'AI Check', + delete: 'Delete', + editName: 'Edit Name', + editNameTitle: 'Edit Picture Name', + taskName: 'Task Name', + taskNamePlaceholder: 'Please enter task name', + uploadPicture: 'Upload Picture', + noPicture: 'No Pictures', + searchPlaceholder: 'Please enter picture name ', + }, + picturesUpload: { + title: 'Upload Picture', + jobName: 'Job Name', + selectJob: 'Please select job', + uav: 'UAV', + selectUav: 'Please select UAV', + dirPath: 'Directory Path', + inputDirPath: 'Please enter picture directory path', + fileUrlArr: 'Picture URLs', + submit: 'Submit', + uploadSuccess: 'upload successful!', + rules: { + selectJob: 'Please select job', + selectUav: 'Please select UAV', + inputDirPath: 'Please enter picture directory path', + fileUrlArr: 'Please select picture URLs', + }, + }, } diff --git a/frontend/Skyeye-sys-ui/src/lang/zh.js b/frontend/Skyeye-sys-ui/src/lang/zh.js index 1d9d72b..476496a 100644 --- a/frontend/Skyeye-sys-ui/src/lang/zh.js +++ b/frontend/Skyeye-sys-ui/src/lang/zh.js @@ -17,13 +17,254 @@ export default { passwordMin: '密码不少于6位字符', }, }, - common: { - capsLockOn: '大写锁定已打开', - }, menu: { device: '设备管理', task: '任务管理', picture: '图片管理', user: '用户管理' - } + }, + common: { + capsLockOn: '大写锁定已打开', + cancel: '取 消', + confirm: '确 定', + preview: '预 览', + save: '保 存', + confirm: '确 定', + delete: '删 除', + edit: '编 辑', + copy: '复 制', + search: '搜 索', + yes: '是', + no: '否', + requestFailed: '请求失败', + deleteSuccess: '删除成功', + }, + task: { + taskList: '任务列表', + addTask: '新增任务', + inputTaskName: '请输入任务名称', + uav: '无人机', + loader: '载荷', + selectLoader: '请选择载荷', + flyMode: '飞行模式', + taskTarget: '任务目标', + selectTarget: '请选择任务目标', + taskAltitude: '任务高度', + startAltitude: '起飞点高度', + imageLight: '图片亮度', + resolution: '分辨率', + imageMode: '成像模式', + draw: '绘制', + update: '更新', + flySpeed: '飞行速度', + autoFocus: "自动聚焦", + moreSetting: '更多设置', + moto: '运动补偿', + radarHeading: '雷达朝向', + imageBit: '图像位数', + sideViewDirection: '侧视方向', + polarization: '极化方式', + flyHeight: '飞行高度', + waveAngle: '波束半角', + downViewAngle: '下视角', + detailInfo: '详细信息', + statusInfo: '状态信息', + waveInfo: '波形信息', + dev: 'DEV', + wave: 'WAVE', + humidity: '湿度', + airQuality: '空气质量', + pm25: 'PM2.5', + pm10: 'PM10', + startLongitude: '起始经度', + startLatitude: '起始纬度', + endLongitude: '结束经度', + endLatitude: '结束纬度', + endHeight: '结束高度', + endAlt: '结束高度', + hide: '隐藏', + show: '显示', + executingTasks: '执行中的任务', + noExecutingTasks: '暂无执行中的任务', + endTask: '结束任务', + fly: { + statusInfo: '飞行状态信息', + height: '高度', + speed: '速度', + longitude: '经度', + latitude: '纬度', + alt: '海拔高度', + clockLock: '时钟锁定', + gps: 'GPS', + battery: '电池电量', + signal: '信号强度', + cpuTemp: 'CPU温度', + rfTemp: '射频温度', + antennaTemp: '天线温度', + diskTemp: '硬盘温度', + fpgaTemp: 'FPGA温度', + diskCapacity: '硬盘容量', + diskUsed: '硬盘已用空间', + memoryCapacity: '内存容量', + rtkStatus: 'RTK状态', + satelliteNum: '卫星数量', + imuStatus: '惯导状态', + date: '年月日', + configStatus: '配置状态', + antennaAzimuth: '天线方位角', + antennaPitch: '天线俯仰角', + eastwardSpeed: "东向速度", + northwardSpeed: "北向速度", + upwardSpeed: "天向速度", + pitchAngle: "俯仰角", + rollAngle: "翻转角", + yawAngle: "偏航角", + }, + editTaskName: '修改任务名称', + taskName: '任务名称', + taskNamePlaceholder: '请输入任务名称', + y_width: 'y向幅宽', + y_width_placeholder: '请输入y向幅宽', + uavName: '无人机名称', + radarName: '雷达名称', + beginTime: '开始时间', + startTime: '开始时间', + reExecute: '重新执行', + editName: '修改名称', + copy: '复制', + delete: '删除', + deleteConfirm: '确定要删除该任务吗?', + submit: '提交', + preview: '预览', + noTask: '暂无任务', + airline: { + lineDetail: '航线详情', + startLon: '起始经度', + startLat: '起始纬度', + startAlt: '起始高度', + endLon: '结束经度', + endLat: '结束纬度', + endAlt: '结束高度', + flyHeight: '飞行高度', + startHeight: '起始高度', + endHeight: '结束高度', + }, + deleteConfirm: '确定要删除该任务吗?', + tip: '提示', + deleteSuccess: '任务删除成功', + brightness: '亮度', + flyTaskConfirm: '确定要执行该任务吗?', + flyTaskSuccess: '起飞成功', + refreshUavHeightSuccess: '获取当前高度成功!', + selectLoader: '请选择雷达!', + selectUav: '请选择无人机!', + editSuccess: '修改成功!', + reFlyTaskConfirm: '确定要重新执行该任务吗?', + reFlyTaskSuccess: '任务重新执行成功!', + addTaskSuccess: '新增任务成功!', + duringAirlinePick: '已经处于绘制模式!', + clearAirlineConfirm: '绘制会清除历史数据,是否继续?', + airlineMinPoint: '至少需要保留两个点!', + point: '点', + createAirlineTip: '在场景中点击鼠标左键创建航线', + getAirlineSuccess: '获取航线成功!', + stopTaskConfirm: '确定要结束该任务吗?', + stopTaskSuccess: '任务已结束!', + planArea: '规划区域', + rules: { + inputTaskName: '请输入任务名称', + startAltitude: '请输入起飞点高度', + imageLight: '请输入图片亮度', + mode: '请选择飞行模式', + imageMode: '请选择成像模式', + targetList: '请选择任务目标', + uav: '请选择无人机', + loader: '请选择载荷', + loaderType: '请选择载荷类型', + ratio: '请输入比例', + }, + }, + device1Manage: { + uav: '无人机', + radar: '雷达', + radarName: '雷达名称', + radarType: '雷达类型', + uavName: '无人机名称', + uavCode: '无人机码', + ip: 'IP', + createTime: '创建时间', + operation: '操作', + radarNamePlaceholder: '请输入雷达名称', + radarTypePlaceholder: '请输入雷达类型', + ipPlaceholder: '请输入IP地址', + add: '添加', + edit: '编辑', + delete: '删除', + deleteConfirm: '确定要删除该设备吗?', + batchDeleteConfirm: '确定要删除选中的设备吗?', + deleteSuccess: '设备删除成功', + batchDeleteSuccess: '选中设备删除成功', + addSuccess: '设备添加成功', + editSuccess: '设备更新成功', + noSelection: '请至少选择一个设备进行删除', + uavNamePlaceholder: '请输入无人机名称', + uavCodePlaceholder: '请输入无人机码', + validation: { + nameRequired: '雷达名称是必填项', + typeRequired: '雷达类型是必填项', + ipRequired: 'IP地址是必填项', + ipInvalid: '请输入有效的IP地址' + }, + radarTurnOnSuccess: '雷达开机成功', + radarEndConfirm: '确定要结束所有任务吗?', + tip: '提示', + radarEndSuccess: '雷达关机成功', + deleteConfirm: '确定要删除该?', + direction: { + left: '左侧视', + right: '右侧视', + }, + }, + picture: { + list: '影像列表', + pictureName: '影像名称', + taskName: '任务名称', + nameRequired: '请输入影像名称', + aiCheckSuccess: 'AI检查成功!', + selectPicture: '请选择要识别的图片', + deleteConfirm: '确定要删除该图片吗?', + tip: '提示', + deleteSuccess: '图片删除成功', + editSuccess: '图片名称更新成功', + task: '所属任务', + time: '拍摄时间', + selectPicture: '选择图片', + aiCheck: 'AI识别', + delete: '删除', + editName: '修改名称', + editNameTitle: '修改图片名称', + taskName: '任务名称', + taskNamePlaceholder: '请输入任务名称', + uploadPicture: '上传精处理图片', + noPicture: '暂无影像', + searchPlaceholder: '请输入影像名称', + }, + picturesUpload: { + title: '上传高精度图片', + jobName: '任务名称', + selectJob: '请选择任务', + uav: '无人机', + selectUav: '请选择无人机', + dirPath: '目录路径', + inputDirPath: '请输入图片目录路径', + fileUrlArr: '图片URL列表', + submit: '确定', + uploadSuccess: '上传成功', + rules: { + selectJob: '请选择任务', + selectUav: '请选择无人机', + inputDirPath: '请输入图片目录路径', + fileUrlArr: '请选择图片URL列表', + }, + }, } diff --git a/frontend/Skyeye-sys-ui/src/layout/components/header-nav/index.vue b/frontend/Skyeye-sys-ui/src/layout/components/header-nav/index.vue index fa91438..05ebe4f 100644 --- a/frontend/Skyeye-sys-ui/src/layout/components/header-nav/index.vue +++ b/frontend/Skyeye-sys-ui/src/layout/components/header-nav/index.vue @@ -25,9 +25,9 @@