3359 lines
378 KiB
Plaintext
3359 lines
378 KiB
Plaintext
=== t() referenced keys missing in ZH (1070) ===
|
||
aiAnalysis.abnormalString
|
||
aiAnalysis.algoCount
|
||
aiAnalysis.algorithmList
|
||
aiAnalysis.analysisId
|
||
aiAnalysis.area
|
||
aiAnalysis.areaLoitering
|
||
aiAnalysis.areaLoiteringDesc
|
||
aiAnalysis.areaLoiteringTimeline
|
||
aiAnalysis.arrayMask
|
||
aiAnalysis.asyncTask
|
||
aiAnalysis.blockNumber
|
||
aiAnalysis.cancelled
|
||
aiAnalysis.centerTitle
|
||
aiAnalysis.clickHotspotHint
|
||
aiAnalysis.default
|
||
aiAnalysis.detect
|
||
aiAnalysis.detectAndSeg
|
||
aiAnalysis.detectDesc
|
||
aiAnalysis.detectModel
|
||
aiAnalysis.detectModelRegistry
|
||
aiAnalysis.detectTaskName
|
||
aiAnalysis.detectWorkspace
|
||
aiAnalysis.detectWorkspaceDesc
|
||
aiAnalysis.dragFile
|
||
aiAnalysis.fireSmokeDesc
|
||
aiAnalysis.fireSmokeDetection
|
||
aiAnalysis.getModelsFailed
|
||
aiAnalysis.healthCheck
|
||
aiAnalysis.historyAnalysis
|
||
aiAnalysis.historyRecords
|
||
aiAnalysis.hotspot
|
||
aiAnalysis.hotspotCount
|
||
aiAnalysis.hotspotPanelList
|
||
aiAnalysis.hotspotRecognition
|
||
aiAnalysis.image
|
||
aiAnalysis.inferencePreset
|
||
aiAnalysis.inputPreview
|
||
aiAnalysis.inputType
|
||
aiAnalysis.integratedCount
|
||
aiAnalysis.modelCount
|
||
aiAnalysis.motionDetection
|
||
aiAnalysis.motionDetectionDesc
|
||
aiAnalysis.motionDetectionTimeline
|
||
aiAnalysis.noHistory
|
||
aiAnalysis.noResult
|
||
aiAnalysis.objectDetection
|
||
aiAnalysis.onlineServices
|
||
aiAnalysis.originalPixels
|
||
aiAnalysis.overlayPixels
|
||
aiAnalysis.pageDebugRecords
|
||
aiAnalysis.panelArea
|
||
aiAnalysis.panelGeojson
|
||
aiAnalysis.panelLabel
|
||
aiAnalysis.perimeterClimbTimeline
|
||
aiAnalysis.perimeterIntrusion
|
||
aiAnalysis.perimeterIntrusionDesc
|
||
aiAnalysis.perimeterIntrusionTimeline
|
||
aiAnalysis.perimeterIntrusionType
|
||
aiAnalysis.personnelIntrusion
|
||
aiAnalysis.personnelIntrusionDesc
|
||
aiAnalysis.personnelIntrusionTimeline
|
||
aiAnalysis.pointDetails
|
||
aiAnalysis.processing
|
||
aiAnalysis.quality
|
||
aiAnalysis.readServerHistory
|
||
aiAnalysis.recommendedCleanBlock
|
||
aiAnalysis.refreshModels
|
||
aiAnalysis.resultDisplay
|
||
aiAnalysis.resultImageVideo
|
||
aiAnalysis.resultJson
|
||
aiAnalysis.resultViewHint
|
||
aiAnalysis.segWorkspace
|
||
aiAnalysis.segWorkspaceDesc
|
||
aiAnalysis.segment
|
||
aiAnalysis.segmentationDesc
|
||
aiAnalysis.segmentationTaskName
|
||
aiAnalysis.selectHotspotPanel
|
||
aiAnalysis.serverDemo
|
||
aiAnalysis.showResultAfterTask
|
||
aiAnalysis.submitDetectTask
|
||
aiAnalysis.submitTaskFailed
|
||
aiAnalysis.submitThermalAnalysis
|
||
aiAnalysis.supportedFormats
|
||
aiAnalysis.syncAnalysis
|
||
aiAnalysis.taskExecutionError
|
||
aiAnalysis.taskSuccess
|
||
aiAnalysis.thermalAnalysisComplete
|
||
aiAnalysis.thermalAnalysisFailed
|
||
aiAnalysis.thermalFileLabel
|
||
aiAnalysis.thermalInteractiveView
|
||
aiAnalysis.thermalSegmentation
|
||
aiAnalysis.uploadFirst
|
||
aiAnalysis.uploadThermal
|
||
aiAnalysis.uploadThermalFirst
|
||
aiAnalysis.videoAbnormalEvent
|
||
aiAnalysis.videoIntelligentAnalysis
|
||
aiAnalysis.waitingSegmentation
|
||
alerts.addAlertSubscription
|
||
alerts.addRule
|
||
alerts.addSubscription
|
||
alerts.alarmContent
|
||
alerts.alarmNo
|
||
alerts.alarmTitle
|
||
alerts.alertDescription
|
||
alerts.alertDetail
|
||
alerts.alertLevelDistribution
|
||
alerts.alertStatusStatistics
|
||
alerts.alertTypeProportion
|
||
alerts.allDevices
|
||
alerts.allLevels
|
||
alerts.appPush
|
||
alerts.compareSymbol
|
||
alerts.confirmCreateOrder
|
||
alerts.confirmHandle
|
||
alerts.contactHandler
|
||
alerts.content
|
||
alerts.criticalAlert
|
||
alerts.deviceBattery
|
||
alerts.deviceSensor
|
||
alerts.dingTalk
|
||
alerts.editAlertSubscription
|
||
alerts.editRule
|
||
alerts.email
|
||
alerts.exportFileName
|
||
alerts.generalAlert
|
||
alerts.handleFail
|
||
alerts.handleOperation
|
||
alerts.handleSuccess
|
||
alerts.importantAlert
|
||
alerts.infoAlert
|
||
alerts.level
|
||
alerts.mockBatteryLow
|
||
alerts.mockDeviceBattery
|
||
alerts.mockDeviceCamera
|
||
alerts.mockDeviceSensor
|
||
alerts.mockRuleBattery
|
||
alerts.mockRuleTemp
|
||
alerts.mockSubAdmin
|
||
alerts.mockSubDevice
|
||
alerts.mockSubOps
|
||
alerts.mockTempExceed
|
||
alerts.mockVideoSignalLost
|
||
alerts.modifyAlert
|
||
alerts.monitorProperty
|
||
alerts.newOrder
|
||
alerts.noAlarmToCreateOrder
|
||
alerts.notifyChannel
|
||
alerts.notifySubscription
|
||
alerts.occurTime
|
||
alerts.orderCreateFail
|
||
alerts.orderCreated
|
||
alerts.orderFromAlarm
|
||
alerts.planStartTime
|
||
alerts.pleaseInputAlarmContent
|
||
alerts.pleaseInputAlarmTitle
|
||
alerts.pleaseInputHandleRemark
|
||
alerts.pleaseInputSubscriptionName
|
||
alerts.pleaseSelectAlertLevel
|
||
alerts.pleaseSelectAlertType
|
||
alerts.pleaseSelectChannel
|
||
alerts.pleaseSelectHandleResult
|
||
alerts.pleaseSelectHandleStatus
|
||
alerts.pleaseSelectPlanStartTime
|
||
alerts.processing
|
||
alerts.recommendedAction
|
||
alerts.relatedModel
|
||
alerts.reportValue
|
||
alerts.rootCause
|
||
alerts.ruleConfig
|
||
alerts.ruleName
|
||
alerts.ruleNamePlaceholder
|
||
alerts.searchDeviceContent
|
||
alerts.searchSubscription
|
||
alerts.sevenDayTrend
|
||
alerts.sms
|
||
alerts.sourceDevice
|
||
alerts.subscriptionName
|
||
alerts.subtitle
|
||
alerts.threshold
|
||
alerts.thresholdPlaceholder
|
||
alerts.todayClosed
|
||
alerts.todayCriticalAlerts
|
||
alerts.todayPending
|
||
alerts.todayTotalAlerts
|
||
alerts.trendDown
|
||
alerts.trendNoChange
|
||
alerts.trendUp
|
||
alerts.trendZero
|
||
alerts.triggerCondition
|
||
alerts.yesterdayValue
|
||
common.apiCallFail
|
||
common.confirmDeleteRecord
|
||
common.deleteIrreversible
|
||
common.detail
|
||
common.deviceId
|
||
common.enabled
|
||
common.loadDetailFailed
|
||
common.loadFailed
|
||
common.modify
|
||
common.operationFailed
|
||
common.pleaseInputDeviceId
|
||
common.quantity
|
||
common.requestError
|
||
common.settings
|
||
common.storeValue
|
||
common.submitFail
|
||
common.timeRange
|
||
common.working
|
||
devices.abMode
|
||
devices.activatedTime
|
||
devices.aiAction1
|
||
devices.aiAction2
|
||
devices.aiAction3
|
||
devices.aiAdvice1
|
||
devices.aiAdvice2
|
||
devices.aiAdvice3
|
||
devices.aiAnalysisTitle
|
||
devices.aiOptimizeGain
|
||
devices.aiOptimizePath
|
||
devices.aiSuggestionColon
|
||
devices.airportCode
|
||
devices.airportSn
|
||
devices.airportSnLabel
|
||
devices.aliasApiError
|
||
devices.aliasHint
|
||
devices.aliasModifiedSuccess
|
||
devices.aliasModifyFail
|
||
devices.aliasNotEmpty
|
||
devices.aliasRobotOnly
|
||
devices.allDrones
|
||
devices.allLevels
|
||
devices.allOnline
|
||
devices.allTypes
|
||
devices.allWaypointsCleared
|
||
devices.apiErrorCheck
|
||
devices.apiRequestError
|
||
devices.apiRequestException
|
||
devices.autoFetch
|
||
devices.autoResumeFromBreakpoint
|
||
devices.backView
|
||
devices.batteryCapacity
|
||
devices.batteryWithPercent
|
||
devices.batteryWithValue
|
||
devices.blockUnit
|
||
devices.boardTaskFetchFail
|
||
devices.boundDrone
|
||
devices.bowMode
|
||
devices.canWorkNormally
|
||
devices.cancelReturnHome
|
||
devices.chargePoint
|
||
devices.checkRouteFail
|
||
devices.cleaningPath
|
||
devices.clearMarks
|
||
devices.clearPlannedRoute
|
||
devices.clearRoute
|
||
devices.clickPlayHint
|
||
devices.colNo
|
||
devices.commGood
|
||
devices.commStatus
|
||
devices.commandFailed
|
||
devices.commandIssued
|
||
devices.commandSendFail
|
||
devices.commandSent
|
||
devices.communicating
|
||
devices.communicationNormal
|
||
devices.communicationStatus
|
||
devices.complete
|
||
devices.completePathFirst
|
||
devices.completedTimeColon
|
||
devices.completionRate
|
||
devices.componentRiskZone
|
||
devices.confirmCreate
|
||
devices.confirmDeleteContent
|
||
devices.confirmDeleteOk
|
||
devices.confirmDeleteTitle
|
||
devices.connectionFailed
|
||
devices.controlLogTitle
|
||
devices.controlRequestContent
|
||
devices.countUnit
|
||
devices.coverClosed
|
||
devices.coverOpen
|
||
devices.coverageEquipment
|
||
devices.coverageValue
|
||
devices.createSuccess
|
||
devices.createTaskException
|
||
devices.createTaskFail
|
||
devices.createTaskSuccess
|
||
devices.createWaylineTask
|
||
devices.createWaylineTaskTitle
|
||
devices.cumWorkArea
|
||
devices.cumWorkMileage
|
||
devices.cumWorkTime
|
||
devices.currentWayline
|
||
devices.currentWaypointLabel
|
||
devices.deleteFailNetwork
|
||
devices.deleteFailRetry
|
||
devices.detailBtn
|
||
devices.deviceAliasLabel
|
||
devices.deviceColHeader
|
||
devices.deviceControlPanel
|
||
devices.deviceData
|
||
devices.deviceInfoError
|
||
devices.deviceList
|
||
devices.deviceOnlineRate
|
||
devices.deviceParamSetting
|
||
devices.deviceSn
|
||
devices.deviceSnColon
|
||
devices.deviceSnLabel
|
||
devices.deviceTaskList
|
||
devices.deviceTypeColon
|
||
devices.dgpsDiff
|
||
devices.dispatchableCount
|
||
devices.droneAirport
|
||
devices.droneAirspace
|
||
devices.droneFallbackName
|
||
devices.dronePort
|
||
devices.dronePortA01
|
||
devices.dronePosition
|
||
devices.droneStatus
|
||
devices.droneVideo
|
||
devices.droneWayline
|
||
devices.droneWaylineTask
|
||
devices.editRobotInfoTitle
|
||
devices.emergencyStopBtn
|
||
devices.emergencyStopTriggered
|
||
devices.endLabel
|
||
devices.envFlightConditions
|
||
devices.envWindSpeed
|
||
devices.equipmentColon
|
||
devices.equipmentControl
|
||
devices.equipmentName
|
||
devices.equipmentOverview
|
||
devices.equipmentScheduleList
|
||
devices.equipmentSituationMap
|
||
devices.execTimePoint
|
||
devices.executeDeviceColon
|
||
devices.executeNow
|
||
devices.executeWayline
|
||
devices.executeWaylineTask
|
||
devices.executingTasks
|
||
devices.fenceAbnormal
|
||
devices.fetchDetailError
|
||
devices.fetchDetailException
|
||
devices.fetchParamFail
|
||
devices.fetchWaylineFailed
|
||
devices.fetchWaylineListFailed
|
||
devices.fillRequiredFields
|
||
devices.firmwareVersion
|
||
devices.fixed
|
||
devices.fixed2
|
||
devices.fixedEnv
|
||
devices.flightAltitude
|
||
devices.flightWindSpeed
|
||
devices.frontView
|
||
devices.ganttViewTitle
|
||
devices.generateTask
|
||
devices.gnssQuality
|
||
devices.gpsMode
|
||
devices.gpsModeDesc
|
||
devices.gpsPlanning
|
||
devices.gpsSingle
|
||
devices.gpsTaskIssued
|
||
devices.gpsUnit
|
||
devices.gpsWaypointPlan
|
||
devices.groupOf
|
||
devices.hangar
|
||
devices.hasRain
|
||
devices.headingAngle
|
||
devices.horizontalSpeed
|
||
devices.hotspotSuspect
|
||
devices.inDock
|
||
devices.inProgressDesc
|
||
devices.indoor
|
||
devices.inputCustomAlias
|
||
devices.inputPlotName
|
||
devices.inputTimestamp
|
||
devices.inputWaylineName
|
||
devices.inspectRobotRbt
|
||
devices.inspectRoute
|
||
devices.inspectionMachine
|
||
devices.inspectionRoute
|
||
devices.irLens
|
||
devices.issueTask
|
||
devices.issueTaskFirst
|
||
devices.landingDockSn
|
||
devices.landingDockSnLabel
|
||
devices.leftView
|
||
devices.leftWheelDrive
|
||
devices.legendTitle
|
||
devices.levelHigh
|
||
devices.levelLow
|
||
devices.levelMid
|
||
devices.locationFail
|
||
devices.logCommand
|
||
devices.logDesc1
|
||
devices.logDesc2
|
||
devices.logDesc3
|
||
devices.logDesc4
|
||
devices.logDesc5
|
||
devices.logDesc6
|
||
devices.logEvent
|
||
devices.logLevelLowBattery
|
||
devices.loginInfoExpired
|
||
devices.lostControlAction
|
||
devices.lostControlActionLabel
|
||
devices.markPoint
|
||
devices.markedPointsCount
|
||
devices.minBattery
|
||
devices.minBatteryLabel
|
||
devices.minExecBatteryLabel
|
||
devices.minThreePoints
|
||
devices.modeAuto
|
||
devices.modeDebugLocal
|
||
devices.modeDebugRemote
|
||
devices.modeLabel
|
||
devices.modeManual
|
||
devices.modeUpgrading
|
||
devices.modeWorking
|
||
devices.monthDays
|
||
devices.mowRobotGr
|
||
devices.mowRoute
|
||
devices.mowingRobot
|
||
devices.networkErrorRetry
|
||
devices.nightFlightLimit
|
||
devices.noData
|
||
devices.noDetail
|
||
devices.noDeviceSelected
|
||
devices.noDroneSelected
|
||
devices.noFlyZone
|
||
devices.noPermission
|
||
devices.noSavedRoutes
|
||
devices.noTaskDetail
|
||
devices.noVideo
|
||
devices.noVideoSignal
|
||
devices.noVideoStream
|
||
devices.noWaylineData
|
||
devices.noWaylineTask
|
||
devices.noWaypoints
|
||
devices.noWaypointsToSave
|
||
devices.normalRunning
|
||
devices.notFixed
|
||
devices.notFixed2
|
||
devices.notFixedEnv
|
||
devices.obstacleAvoidSwitch
|
||
devices.obstacleDetected
|
||
devices.obstacleForbiddenZone
|
||
devices.onStandby
|
||
devices.oneClickCoordinated
|
||
devices.oneClickSchedule
|
||
devices.onlineDevices
|
||
devices.onlineRate
|
||
devices.operationApiError
|
||
devices.operationApiException
|
||
devices.operationFail
|
||
devices.optimize
|
||
devices.optionalEmpty
|
||
devices.otherWebControlling
|
||
devices.outDock
|
||
devices.outdoor
|
||
devices.panorama
|
||
devices.paramArmChannel
|
||
devices.paramBatteryType
|
||
devices.paramChassisChannel
|
||
devices.paramChipUid
|
||
devices.paramChipUidSign
|
||
devices.paramDelFlag
|
||
devices.paramDriveType
|
||
devices.paramDualRtk
|
||
devices.paramFanChannel
|
||
devices.paramFanPolarity
|
||
devices.paramFirmwareVersion
|
||
devices.paramForwardSpeedLimit
|
||
devices.paramFuelPumpChannel
|
||
devices.paramGearRatio
|
||
devices.paramKnifeChannel
|
||
devices.paramKnifeMotorMode
|
||
devices.paramKnifePolarity
|
||
devices.paramKnifeWidth
|
||
devices.paramLeftBackwardGain
|
||
devices.paramLeftForwardGain
|
||
devices.paramLeftMotorReverse
|
||
devices.paramLiftChannel
|
||
devices.paramLiftProtectTime
|
||
devices.paramRelayBoard
|
||
devices.paramRemoteConfig
|
||
devices.paramRemoteType
|
||
devices.paramRightBackwardGain
|
||
devices.paramRightForwardGain
|
||
devices.paramRightMotorReverse
|
||
devices.paramRobotHeight
|
||
devices.paramRobotLength
|
||
devices.paramRobotWidth
|
||
devices.paramRunSpeed
|
||
devices.paramSaveException
|
||
devices.paramSaveFail
|
||
devices.paramSaveSuccess
|
||
devices.paramSwapChannel
|
||
devices.paramThrottleChannel
|
||
devices.paramThrottlePolarity
|
||
devices.paramTurnSpeedLimit
|
||
devices.paramTyreSize
|
||
devices.paramUse4G
|
||
devices.paramViewEditTitle
|
||
devices.paramWalkMotorMode
|
||
devices.paramWifiName
|
||
devices.paramWifiPassword
|
||
devices.pathPlanDone
|
||
devices.pathPlanFailRetry
|
||
devices.pathPlanning
|
||
devices.pauseTask
|
||
devices.pendingApprovalTasks
|
||
devices.pendingExec
|
||
devices.permissionObtained
|
||
devices.permissionRequestTitle
|
||
devices.permissionRequesting
|
||
devices.planeNoLocalRoute
|
||
devices.pleaseLoginFirst
|
||
devices.pleaseSelectWayline
|
||
devices.plotNameLabel
|
||
devices.pointMarked
|
||
devices.positionInStation
|
||
devices.precipStatus
|
||
devices.productType
|
||
devices.rainNo
|
||
devices.rainYes
|
||
devices.rainfall
|
||
devices.realtimeMonitorList
|
||
devices.realtimePicture
|
||
devices.realtimePowerData
|
||
devices.realtimeSpeed
|
||
devices.realtimeVideoMonitor
|
||
devices.rechargeBtn
|
||
devices.rechargeCommandSent
|
||
devices.remoteControl
|
||
devices.remoteControlAndSituation
|
||
devices.repeatDaily
|
||
devices.repeatInterval
|
||
devices.repeatMode
|
||
devices.repeatModeLabel
|
||
devices.repeatMonthlyByDate
|
||
devices.repeatMonthlyByWeek
|
||
devices.repeatNone
|
||
devices.repeatTypeLabel
|
||
devices.repeatWeekly
|
||
devices.requestControlPermission
|
||
devices.requestFail
|
||
devices.resumeAuto
|
||
devices.resumeBreakpoint
|
||
devices.resumeFromBreakpointLabel
|
||
devices.resumeManual
|
||
devices.resumeTask
|
||
devices.returnCommandSent
|
||
devices.returnHomeAltitude
|
||
devices.returnHomeAltitudeColon
|
||
devices.returnHomeAltitudeLabel
|
||
devices.returnHomeMode
|
||
devices.returnHomeModeLabel
|
||
devices.rightView
|
||
devices.rightWheelDrive
|
||
devices.robotExecutingCount
|
||
devices.robotInTaskCount
|
||
devices.robotLocalRoutes
|
||
devices.robotPath
|
||
devices.robotPosition
|
||
devices.robotStatus
|
||
devices.robotTaskData
|
||
devices.robotWorkStatus
|
||
devices.routeDeletedSuccess
|
||
devices.routeLoaded
|
||
devices.routeLoadedWithName
|
||
devices.routeNoPathPoints
|
||
devices.routeSavedLocal
|
||
devices.rtBattery
|
||
devices.rtHeadingAngle
|
||
devices.rtHeadingStatus
|
||
devices.rtInitialized
|
||
devices.rtLeftMotor
|
||
devices.rtLeftSpeed
|
||
devices.rtLeftTemp
|
||
devices.rtMainTemp
|
||
devices.rtMode
|
||
devices.rtPitchAngle
|
||
devices.rtPositioning
|
||
devices.rtRightMotor
|
||
devices.rtRightSpeed
|
||
devices.rtRightTemp
|
||
devices.rtSatellites
|
||
devices.rtVoltage
|
||
devices.rthMode
|
||
devices.rthOptimal
|
||
devices.rthPreset
|
||
devices.rtkCount
|
||
devices.rtkEnvLabel
|
||
devices.rtkFixed2
|
||
devices.rtkFloat
|
||
devices.rtkHighPrecision
|
||
devices.rtkModeDesc
|
||
devices.rtkStatus
|
||
devices.safeRthBattery
|
||
devices.satelliteCount
|
||
devices.savePathTitle
|
||
devices.savePlan
|
||
devices.saving
|
||
devices.searchDeviceName
|
||
devices.searchWaylinePlaceholder
|
||
devices.selectDevice
|
||
devices.selectDrone
|
||
devices.selectExecuteDroneFirst
|
||
devices.selectNoDrone
|
||
devices.selectStartTimePlaceholder
|
||
devices.selectTaskFirst
|
||
devices.selectTaskStartTime
|
||
devices.selectWayline
|
||
devices.selectedWaylineColon
|
||
devices.signalSatellite
|
||
devices.situationMap
|
||
devices.smartAssign
|
||
devices.standbyCount
|
||
devices.startBtn
|
||
devices.startLabel
|
||
devices.startTimeColon
|
||
devices.stationCameraNotFound
|
||
devices.stationStatus
|
||
devices.stationTopology
|
||
devices.stationVideo
|
||
devices.statusExecFailed
|
||
devices.statusExecSuccess
|
||
devices.statusPendingApproval
|
||
devices.statusPreparing
|
||
devices.statusRestored
|
||
devices.statusStartFailed
|
||
devices.statusSuggestExec
|
||
devices.statusTerminated
|
||
devices.statusTimeout
|
||
devices.statusUpdateSuccess
|
||
devices.statusWaitExec
|
||
devices.statusWaitingStart
|
||
devices.stopVideoBtn
|
||
devices.suggestAction
|
||
devices.suggestTime
|
||
devices.suitability
|
||
devices.suitable
|
||
devices.suitableExec
|
||
devices.suitableExec2
|
||
devices.supplyChargePoint
|
||
devices.supportsGpsPlan
|
||
devices.supportsRemoteGpsPlan
|
||
devices.suspendTask
|
||
devices.switchDroneLensFail
|
||
devices.switchManual
|
||
devices.switchStationCameraFail
|
||
devices.taskCancelException
|
||
devices.taskCancelFail
|
||
devices.taskCanceledSuccess
|
||
devices.taskCompletedMsg
|
||
devices.taskCompletionRate
|
||
devices.taskContinuous
|
||
devices.taskEndTimeLabel
|
||
devices.taskEnded
|
||
devices.taskExecSuccess
|
||
devices.taskExecuteException
|
||
devices.taskExecuteFail
|
||
devices.taskExecuteSuccess
|
||
devices.taskExecutedSuccess
|
||
devices.taskIdLabel
|
||
devices.taskImmediate
|
||
devices.taskListFetchFail
|
||
devices.taskListRefreshFail
|
||
devices.taskOrchestrationAI
|
||
devices.taskPauseException
|
||
devices.taskPauseFail
|
||
devices.taskPaused
|
||
devices.taskPaused2
|
||
devices.taskPausedSuccess
|
||
devices.taskRecurring
|
||
devices.taskRestored2
|
||
devices.taskResumeException
|
||
devices.taskResumeFail
|
||
devices.taskResumed
|
||
devices.taskResumedSuccess
|
||
devices.taskReturnedHome
|
||
devices.taskReturnedHome2
|
||
devices.taskStandby2
|
||
devices.taskStartFailure
|
||
devices.taskStartTimeLabel
|
||
devices.taskStarted
|
||
devices.taskStarted2
|
||
devices.taskStatusUpdateSuccess
|
||
devices.taskStopped
|
||
devices.taskSuspended
|
||
devices.taskSuspended2
|
||
devices.taskTerminated
|
||
devices.taskTimed
|
||
devices.taskTimedOut
|
||
devices.taskTimelineTitle
|
||
devices.taskTimeout
|
||
devices.taskTypeLabel
|
||
devices.taskWaitingStart
|
||
devices.taskWaylineTypeLabel
|
||
devices.timelineStatusComplete
|
||
devices.timelineStatusReady
|
||
devices.timelineStatusReturn
|
||
devices.timelineStatusStart
|
||
devices.tlFinishInspection
|
||
devices.tlReturnSupply
|
||
devices.tlStandbyReady
|
||
devices.tlStartCleaning
|
||
devices.tlStartInspection
|
||
devices.tlStartMowing
|
||
devices.todayTaskExecute
|
||
devices.todayWaylinePlan
|
||
devices.totalCount
|
||
devices.trendFlat
|
||
devices.trendYesterday
|
||
devices.typeAIRecheck
|
||
devices.typeArrayMow
|
||
devices.typeComponentClean
|
||
devices.typeDroneHotspot
|
||
devices.typeFenceInspect
|
||
devices.typeHotspotInspect
|
||
devices.typeRecheck
|
||
devices.unitGe
|
||
devices.unitJia
|
||
devices.unitTai
|
||
devices.unitTiao
|
||
devices.unknownDevice
|
||
devices.unknownDrone
|
||
devices.unknownObject
|
||
devices.unknownPlatform
|
||
devices.unknownTime
|
||
devices.verticalSpeed
|
||
devices.videoAndConfig
|
||
devices.videoConfigured
|
||
devices.videoLinkConfigured
|
||
devices.videoStopped
|
||
devices.viewBack
|
||
devices.viewFront
|
||
devices.viewLeft
|
||
devices.viewMore
|
||
devices.viewMoreLogs
|
||
devices.viewRight
|
||
devices.viewTop
|
||
devices.washDrone
|
||
devices.washDroneUav
|
||
devices.waylineDetail
|
||
devices.waylineEditPlan
|
||
devices.waylineExecFail
|
||
devices.waylineFallback
|
||
devices.waylineLabel
|
||
devices.waylineList
|
||
devices.waylineListFetchFail
|
||
devices.waylineName
|
||
devices.waylineParamsTitle
|
||
devices.waylinePrecision
|
||
devices.waylinePrecisionLabel
|
||
devices.waylineTaskCreated
|
||
devices.waylineUuidLabel
|
||
devices.waypoint
|
||
devices.waypointDeleted
|
||
devices.waypointList
|
||
devices.waypointsAdded
|
||
devices.waypointsCount
|
||
devices.weatherAdvice1
|
||
devices.weatherAdvice2
|
||
devices.weatherStation
|
||
devices.weatherWindowTitle
|
||
devices.weedHighZone
|
||
devices.weekFri
|
||
devices.weekMon
|
||
devices.weekNo
|
||
devices.weekSat
|
||
devices.weekSun
|
||
devices.weekThu
|
||
devices.weekTue
|
||
devices.weekWed
|
||
devices.weekday
|
||
devices.weekdayExec
|
||
devices.whichWeek
|
||
devices.wideLens
|
||
devices.windSpeed
|
||
devices.workMode
|
||
devices.workTaskBoard
|
||
devices.working
|
||
devices.workingCurrent
|
||
devices.zoomLens
|
||
home.ambientTemperature
|
||
home.current
|
||
home.currentIrradiance
|
||
home.frequency
|
||
home.gridConnected
|
||
home.gridConnection
|
||
home.gridVoltage
|
||
home.inverterPowerCompare
|
||
home.phaseA
|
||
home.powerCurve
|
||
home.ratedPower
|
||
home.realtimePower
|
||
home.stringCurrentHeatmap
|
||
home.today
|
||
home.todayAccumulated
|
||
home.totalPower
|
||
login.and
|
||
profile.basicInfo
|
||
profile.changePassword
|
||
profile.confirmPasswordPlaceholder
|
||
profile.confirmPasswordRequired
|
||
profile.emailInvalid
|
||
profile.emailPlaceholder
|
||
profile.newPasswordPlaceholder
|
||
profile.oldPasswordPlaceholder
|
||
profile.passwordLengthError
|
||
profile.phoneInvalid
|
||
profile.remarkPlaceholder
|
||
profile.requestFailed
|
||
report.aiAnalysisReport
|
||
report.aiAnalysisStatistics
|
||
report.aiDiagnosisDaily
|
||
report.alarmCount
|
||
report.alertClosureRate
|
||
report.alertClosureWeekly
|
||
report.alertWeekly
|
||
report.autoGeneratedReports
|
||
report.averageIrradiance
|
||
report.cleaningEffectReport
|
||
report.cleaningEffectReportDesc
|
||
report.cleaningOptimizationReport
|
||
report.cleaningRevenueImprovement
|
||
report.closureRate
|
||
report.criticalAlertCount
|
||
report.deviceHealthReport
|
||
report.deviceHealthReportDesc
|
||
report.dispatchChannels
|
||
report.email
|
||
report.estimatedAdditionalGeneration
|
||
report.exportExcel
|
||
report.exportPdf
|
||
report.generateTime
|
||
report.generated
|
||
report.generating
|
||
report.generation
|
||
report.generationDeviation
|
||
report.generationMeteorology
|
||
report.generationRecords
|
||
report.generator
|
||
report.inspectionRobotReport
|
||
report.inspectionRobotReportDesc
|
||
report.monthOverMonthUp
|
||
report.monthlyAccumulated
|
||
report.monthlyAccumulatedGeneration
|
||
report.monthlyGeneration
|
||
report.monthlyOperationAnalysis
|
||
report.monthlyOperationReport
|
||
report.monthlyOperationReportDesc
|
||
report.monthlyTotalOrders
|
||
report.operationReport
|
||
report.operationSummary
|
||
report.overview
|
||
report.prAverage
|
||
report.predictedGeneration
|
||
report.reportCycle
|
||
report.reportDirectory
|
||
report.reportName
|
||
report.reportType
|
||
report.roleDeviceOm
|
||
report.roleOmManager
|
||
report.roleOmSupervisor
|
||
report.roleStationEngineer
|
||
report.sendPlan
|
||
report.stationMonthly
|
||
report.stationMonthlyReportFile
|
||
report.subscribers
|
||
report.subscriptionDispatch
|
||
report.systemAuto
|
||
report.systemNotification
|
||
report.templateCenter
|
||
report.theoreticalGeneration
|
||
report.unitIrradiancePerDay
|
||
report.unitItem
|
||
report.unitReport
|
||
report.weeklyAutoSend
|
||
report.weeklyOperationSummary
|
||
report.workOrderAlertClosure
|
||
report.workOrderCompletionRate
|
||
roles.addSuccess
|
||
roles.confirmDeleteRole
|
||
roles.editRole
|
||
roles.editSuccess
|
||
roles.manageMembers
|
||
roles.menuPermissionConfig
|
||
roles.orgAdmin
|
||
roles.permissionKey
|
||
roles.roleKeyPlaceholder
|
||
roles.roleNamePlaceholder
|
||
roles.rolePermission
|
||
roles.roleSortLabel
|
||
roles.superAdmin
|
||
router.realtimeMonitorCenter
|
||
router.realtimeMonitorDesc
|
||
systemSetting.account
|
||
systemSetting.batchDeleteRolesTitle
|
||
systemSetting.batchDeleteSuccess
|
||
systemSetting.batchDeleteUsersTitle
|
||
systemSetting.belongingOrg
|
||
systemSetting.belongingSite
|
||
systemSetting.chooseRole
|
||
systemSetting.confirmDeleteSelectedRoles
|
||
systemSetting.confirmDeleteSelectedUsers
|
||
systemSetting.confirmDeleteUser
|
||
systemSetting.deviceOperatePermLabel
|
||
systemSetting.devicePerm
|
||
systemSetting.editPasswordPlaceholder
|
||
systemSetting.editRole
|
||
systemSetting.has
|
||
systemSetting.hasPerm
|
||
systemSetting.levelLabel
|
||
systemSetting.nicknameShort
|
||
systemSetting.noPerm
|
||
systemSetting.none
|
||
systemSetting.permissionLabel
|
||
systemSetting.phoneShort
|
||
systemSetting.pleaseInputRoleLevel
|
||
systemSetting.pleaseSelectOrg
|
||
systemSetting.pleaseSelectRoles
|
||
systemSetting.pleaseSelectSite
|
||
systemSetting.pleaseSelectUsers
|
||
systemSetting.resetFail
|
||
systemSetting.roleLevel
|
||
systemSetting.totalCount
|
||
systemSetting.userAndRole
|
||
users.languagePlaceholder
|
||
users.notAssigned
|
||
users.rolePlaceholder
|
||
users.siteId
|
||
video.activeVideoStreams
|
||
video.aiVisualTracking
|
||
video.allRecordings
|
||
video.allStatuses
|
||
video.allTypes
|
||
video.cameraDeviceList
|
||
video.cameraName
|
||
video.capacity
|
||
video.currentDutyDevice
|
||
video.customLayout
|
||
video.domeCamera
|
||
video.eventTimeline
|
||
video.fileDetails
|
||
video.fullScreenWall
|
||
video.labelCargo
|
||
video.labelDetail
|
||
video.labelFrontDrive
|
||
video.labelLeft
|
||
video.labelLeftWing
|
||
video.labelMainFront
|
||
video.labelMainProbe
|
||
video.labelPanorama
|
||
video.labelRear
|
||
video.labelRearMount
|
||
video.labelRight
|
||
video.labelRightWing
|
||
video.lastEventTime
|
||
video.liveLabel
|
||
video.mainView
|
||
video.offlineCameras
|
||
video.offlineRateTrend
|
||
video.onlineCameras
|
||
video.onlineRateTrend
|
||
video.onlineSearch
|
||
video.perimeterAlerts
|
||
video.positionArray1
|
||
video.positionArrayWest
|
||
video.positionEnergyStorage
|
||
video.positionEquipmentArea
|
||
video.positionInverterRoom
|
||
video.positionPerimeterNorth
|
||
video.positionPerimeterSouth
|
||
video.positionStationGate
|
||
video.positionStorageBattery
|
||
video.positionWeatherStation
|
||
video.ptzServoControl
|
||
video.recentAlertSnapshots
|
||
video.recording
|
||
video.recordingStatus
|
||
video.refreshSignal
|
||
video.searchCameraPlaceholder
|
||
video.sourceDevice
|
||
video.startEndTime
|
||
video.storageUsage
|
||
video.storageUsageTrend
|
||
video.systemIntegratedCommand
|
||
video.timeSpan
|
||
video.todayAlertEvents
|
||
video.todayRecordings
|
||
video.triggerRemoteRepellent
|
||
video.twoWayIntercom
|
||
video.unitDevice
|
||
video.unitIncident
|
||
video.videoMonitorCenter
|
||
video.videoReplayCenter
|
||
video.videoStreamChannels
|
||
video.viewMore
|
||
video.vsYesterdayPercent
|
||
workOrder.aiSuggestedOrders
|
||
workOrder.alarmNo
|
||
workOrder.alarmTitle
|
||
workOrder.autoGeneratedToday
|
||
workOrder.avgHandleTime
|
||
workOrder.batchDeleteFail
|
||
workOrder.batchDeleteSuccess
|
||
workOrder.batchExecute
|
||
workOrder.completeFail
|
||
workOrder.completeSuccess
|
||
workOrder.completedOrders
|
||
workOrder.confirmBatchDelete
|
||
workOrder.detail
|
||
workOrder.dispatchFail
|
||
workOrder.dispatchRequestError
|
||
workOrder.dispatchSuccess
|
||
workOrder.executeFail
|
||
workOrder.executeSuccess
|
||
workOrder.fixed
|
||
workOrder.generateOrder
|
||
workOrder.getDetailFailed
|
||
workOrder.getListFailed
|
||
workOrder.handledCompleted
|
||
workOrder.highPriority
|
||
workOrder.hourUnit
|
||
workOrder.invalidOrder
|
||
workOrder.issueClosed
|
||
workOrder.keyword
|
||
workOrder.list
|
||
workOrder.modifyFail
|
||
workOrder.modifySuccess
|
||
workOrder.monthlyTotal
|
||
workOrder.nearItems
|
||
workOrder.newOrders
|
||
workOrder.noActionNeeded
|
||
workOrder.noScheduledOrders
|
||
workOrder.noTitle
|
||
workOrder.onTimeRate
|
||
workOrder.orderNo
|
||
workOrder.orderUnit
|
||
workOrder.overview
|
||
workOrder.pendingDispatch
|
||
workOrder.pendingOrders
|
||
workOrder.planStartTime
|
||
workOrder.pleaseInputHandleRemark
|
||
workOrder.pleaseInputOrderNoOrTitle
|
||
workOrder.pleaseInputResult
|
||
workOrder.pleaseInputTaskDesc
|
||
workOrder.pleaseSelectExecuteDevice
|
||
workOrder.pleaseSelectOneOrder
|
||
workOrder.pleaseSelectOrder
|
||
workOrder.pleaseSelectOrderToDelete
|
||
workOrder.pleaseSelectPerson
|
||
workOrder.pleaseSelectResult
|
||
workOrder.runningOrders
|
||
workOrder.scheduleCalendarView
|
||
workOrder.scheduledOrderList
|
||
workOrder.selectedOrders
|
||
workOrder.statusDistribution
|
||
workOrder.suspendFail
|
||
workOrder.suspendSuccess
|
||
workOrder.taskManagement
|
||
workOrder.timeRange
|
||
workOrder.todayNewOrders
|
||
workOrder.todaySuffix
|
||
workOrder.totalCount
|
||
workOrder.totalWithCount
|
||
workOrder.vsLastWeek
|
||
workOrder.vsYesterday
|
||
|
||
=== t() referenced keys missing in EN (1071) ===
|
||
aiAnalysis.abnormalString
|
||
aiAnalysis.algoCount
|
||
aiAnalysis.algorithmList
|
||
aiAnalysis.analysisId
|
||
aiAnalysis.area
|
||
aiAnalysis.areaLoitering
|
||
aiAnalysis.areaLoiteringDesc
|
||
aiAnalysis.areaLoiteringTimeline
|
||
aiAnalysis.arrayMask
|
||
aiAnalysis.asyncTask
|
||
aiAnalysis.blockNumber
|
||
aiAnalysis.cancelled
|
||
aiAnalysis.centerTitle
|
||
aiAnalysis.clickHotspotHint
|
||
aiAnalysis.default
|
||
aiAnalysis.detect
|
||
aiAnalysis.detectAndSeg
|
||
aiAnalysis.detectDesc
|
||
aiAnalysis.detectModel
|
||
aiAnalysis.detectModelRegistry
|
||
aiAnalysis.detectTaskName
|
||
aiAnalysis.detectWorkspace
|
||
aiAnalysis.detectWorkspaceDesc
|
||
aiAnalysis.dragFile
|
||
aiAnalysis.fireSmokeDesc
|
||
aiAnalysis.fireSmokeDetection
|
||
aiAnalysis.getModelsFailed
|
||
aiAnalysis.healthCheck
|
||
aiAnalysis.historyAnalysis
|
||
aiAnalysis.historyRecords
|
||
aiAnalysis.hotspot
|
||
aiAnalysis.hotspotCount
|
||
aiAnalysis.hotspotPanelList
|
||
aiAnalysis.hotspotRecognition
|
||
aiAnalysis.image
|
||
aiAnalysis.inferencePreset
|
||
aiAnalysis.inputPreview
|
||
aiAnalysis.inputType
|
||
aiAnalysis.integratedCount
|
||
aiAnalysis.modelCount
|
||
aiAnalysis.motionDetection
|
||
aiAnalysis.motionDetectionDesc
|
||
aiAnalysis.motionDetectionTimeline
|
||
aiAnalysis.noHistory
|
||
aiAnalysis.noResult
|
||
aiAnalysis.objectDetection
|
||
aiAnalysis.onlineServices
|
||
aiAnalysis.originalPixels
|
||
aiAnalysis.overlayPixels
|
||
aiAnalysis.pageDebugRecords
|
||
aiAnalysis.panelArea
|
||
aiAnalysis.panelGeojson
|
||
aiAnalysis.panelLabel
|
||
aiAnalysis.perimeterClimbTimeline
|
||
aiAnalysis.perimeterIntrusion
|
||
aiAnalysis.perimeterIntrusionDesc
|
||
aiAnalysis.perimeterIntrusionTimeline
|
||
aiAnalysis.perimeterIntrusionType
|
||
aiAnalysis.personnelIntrusion
|
||
aiAnalysis.personnelIntrusionDesc
|
||
aiAnalysis.personnelIntrusionTimeline
|
||
aiAnalysis.pointDetails
|
||
aiAnalysis.processing
|
||
aiAnalysis.quality
|
||
aiAnalysis.readServerHistory
|
||
aiAnalysis.recommendedCleanBlock
|
||
aiAnalysis.refreshModels
|
||
aiAnalysis.resultDisplay
|
||
aiAnalysis.resultImageVideo
|
||
aiAnalysis.resultJson
|
||
aiAnalysis.resultViewHint
|
||
aiAnalysis.segWorkspace
|
||
aiAnalysis.segWorkspaceDesc
|
||
aiAnalysis.segment
|
||
aiAnalysis.segmentationDesc
|
||
aiAnalysis.segmentationTaskName
|
||
aiAnalysis.selectHotspotPanel
|
||
aiAnalysis.serverDemo
|
||
aiAnalysis.showResultAfterTask
|
||
aiAnalysis.submitDetectTask
|
||
aiAnalysis.submitTaskFailed
|
||
aiAnalysis.submitThermalAnalysis
|
||
aiAnalysis.supportedFormats
|
||
aiAnalysis.syncAnalysis
|
||
aiAnalysis.taskExecutionError
|
||
aiAnalysis.taskSuccess
|
||
aiAnalysis.thermalAnalysisComplete
|
||
aiAnalysis.thermalAnalysisFailed
|
||
aiAnalysis.thermalFileLabel
|
||
aiAnalysis.thermalInteractiveView
|
||
aiAnalysis.thermalSegmentation
|
||
aiAnalysis.uploadFirst
|
||
aiAnalysis.uploadThermal
|
||
aiAnalysis.uploadThermalFirst
|
||
aiAnalysis.videoAbnormalEvent
|
||
aiAnalysis.videoIntelligentAnalysis
|
||
aiAnalysis.waitingSegmentation
|
||
alerts.addAlertSubscription
|
||
alerts.addRule
|
||
alerts.addSubscription
|
||
alerts.alarmContent
|
||
alerts.alarmNo
|
||
alerts.alarmTitle
|
||
alerts.alertDescription
|
||
alerts.alertDetail
|
||
alerts.alertLevelDistribution
|
||
alerts.alertStatusStatistics
|
||
alerts.alertTypeProportion
|
||
alerts.allDevices
|
||
alerts.allLevels
|
||
alerts.appPush
|
||
alerts.compareSymbol
|
||
alerts.confirmCreateOrder
|
||
alerts.confirmHandle
|
||
alerts.contactHandler
|
||
alerts.content
|
||
alerts.criticalAlert
|
||
alerts.deviceBattery
|
||
alerts.deviceSensor
|
||
alerts.dingTalk
|
||
alerts.editAlertSubscription
|
||
alerts.editRule
|
||
alerts.email
|
||
alerts.exportFileName
|
||
alerts.generalAlert
|
||
alerts.handleFail
|
||
alerts.handleOperation
|
||
alerts.handleSuccess
|
||
alerts.importantAlert
|
||
alerts.infoAlert
|
||
alerts.level
|
||
alerts.mockBatteryLow
|
||
alerts.mockDeviceBattery
|
||
alerts.mockDeviceCamera
|
||
alerts.mockDeviceSensor
|
||
alerts.mockRuleBattery
|
||
alerts.mockRuleTemp
|
||
alerts.mockSubAdmin
|
||
alerts.mockSubDevice
|
||
alerts.mockSubOps
|
||
alerts.mockTempExceed
|
||
alerts.mockVideoSignalLost
|
||
alerts.modifyAlert
|
||
alerts.monitorProperty
|
||
alerts.newOrder
|
||
alerts.noAlarmToCreateOrder
|
||
alerts.notifyChannel
|
||
alerts.notifySubscription
|
||
alerts.occurTime
|
||
alerts.orderCreateFail
|
||
alerts.orderCreated
|
||
alerts.orderFromAlarm
|
||
alerts.planStartTime
|
||
alerts.pleaseInputAlarmContent
|
||
alerts.pleaseInputAlarmTitle
|
||
alerts.pleaseInputHandleRemark
|
||
alerts.pleaseInputSubscriptionName
|
||
alerts.pleaseSelectAlertLevel
|
||
alerts.pleaseSelectAlertType
|
||
alerts.pleaseSelectChannel
|
||
alerts.pleaseSelectHandleResult
|
||
alerts.pleaseSelectHandleStatus
|
||
alerts.pleaseSelectPlanStartTime
|
||
alerts.processing
|
||
alerts.recommendedAction
|
||
alerts.relatedModel
|
||
alerts.reportValue
|
||
alerts.rootCause
|
||
alerts.ruleConfig
|
||
alerts.ruleName
|
||
alerts.ruleNamePlaceholder
|
||
alerts.searchDeviceContent
|
||
alerts.searchSubscription
|
||
alerts.sevenDayTrend
|
||
alerts.sms
|
||
alerts.sourceDevice
|
||
alerts.subscriptionName
|
||
alerts.subtitle
|
||
alerts.threshold
|
||
alerts.thresholdPlaceholder
|
||
alerts.todayClosed
|
||
alerts.todayCriticalAlerts
|
||
alerts.todayPending
|
||
alerts.todayTotalAlerts
|
||
alerts.trendDown
|
||
alerts.trendNoChange
|
||
alerts.trendUp
|
||
alerts.trendZero
|
||
alerts.triggerCondition
|
||
alerts.yesterdayValue
|
||
common.apiCallFail
|
||
common.confirmDeleteRecord
|
||
common.deleteIrreversible
|
||
common.detail
|
||
common.deviceId
|
||
common.enabled
|
||
common.loadDetailFailed
|
||
common.loadFailed
|
||
common.modify
|
||
common.operationFailed
|
||
common.pleaseInputDeviceId
|
||
common.quantity
|
||
common.requestError
|
||
common.settings
|
||
common.storeValue
|
||
common.submitFail
|
||
common.timeRange
|
||
common.working
|
||
devices.abMode
|
||
devices.activatedTime
|
||
devices.aiAction1
|
||
devices.aiAction2
|
||
devices.aiAction3
|
||
devices.aiAdvice1
|
||
devices.aiAdvice2
|
||
devices.aiAdvice3
|
||
devices.aiAnalysisTitle
|
||
devices.aiOptimizeGain
|
||
devices.aiOptimizePath
|
||
devices.aiSuggestionColon
|
||
devices.airportCode
|
||
devices.airportSn
|
||
devices.airportSnLabel
|
||
devices.aliasApiError
|
||
devices.aliasHint
|
||
devices.aliasModifiedSuccess
|
||
devices.aliasModifyFail
|
||
devices.aliasNotEmpty
|
||
devices.aliasRobotOnly
|
||
devices.allDrones
|
||
devices.allLevels
|
||
devices.allOnline
|
||
devices.allTypes
|
||
devices.allWaypointsCleared
|
||
devices.apiErrorCheck
|
||
devices.apiRequestError
|
||
devices.apiRequestException
|
||
devices.autoFetch
|
||
devices.autoResumeFromBreakpoint
|
||
devices.backView
|
||
devices.batteryCapacity
|
||
devices.batteryWithPercent
|
||
devices.batteryWithValue
|
||
devices.blockUnit
|
||
devices.boardTaskFetchFail
|
||
devices.boundDrone
|
||
devices.bowMode
|
||
devices.canWorkNormally
|
||
devices.cancelReturnHome
|
||
devices.chargePoint
|
||
devices.checkRouteFail
|
||
devices.cleaningPath
|
||
devices.clearMarks
|
||
devices.clearPlannedRoute
|
||
devices.clearRoute
|
||
devices.clickPlayHint
|
||
devices.colNo
|
||
devices.commGood
|
||
devices.commStatus
|
||
devices.commandFailed
|
||
devices.commandIssued
|
||
devices.commandSendFail
|
||
devices.commandSent
|
||
devices.communicating
|
||
devices.communicationNormal
|
||
devices.communicationStatus
|
||
devices.complete
|
||
devices.completePathFirst
|
||
devices.completedTimeColon
|
||
devices.completionRate
|
||
devices.componentRiskZone
|
||
devices.confirmCreate
|
||
devices.confirmDeleteContent
|
||
devices.confirmDeleteOk
|
||
devices.confirmDeleteTitle
|
||
devices.connectionFailed
|
||
devices.controlLogTitle
|
||
devices.controlRequestContent
|
||
devices.countUnit
|
||
devices.coverClosed
|
||
devices.coverOpen
|
||
devices.coverageEquipment
|
||
devices.coverageValue
|
||
devices.createSuccess
|
||
devices.createTaskException
|
||
devices.createTaskFail
|
||
devices.createTaskSuccess
|
||
devices.createWaylineTask
|
||
devices.createWaylineTaskTitle
|
||
devices.cumWorkArea
|
||
devices.cumWorkMileage
|
||
devices.cumWorkTime
|
||
devices.currentWayline
|
||
devices.currentWaypointLabel
|
||
devices.deleteFailNetwork
|
||
devices.deleteFailRetry
|
||
devices.detailBtn
|
||
devices.deviceAliasLabel
|
||
devices.deviceColHeader
|
||
devices.deviceControlPanel
|
||
devices.deviceData
|
||
devices.deviceInfoError
|
||
devices.deviceList
|
||
devices.deviceOnlineRate
|
||
devices.deviceParamSetting
|
||
devices.deviceSn
|
||
devices.deviceSnColon
|
||
devices.deviceSnLabel
|
||
devices.deviceTaskList
|
||
devices.deviceTypeColon
|
||
devices.dgpsDiff
|
||
devices.dispatchableCount
|
||
devices.droneAirport
|
||
devices.droneAirspace
|
||
devices.droneFallbackName
|
||
devices.dronePort
|
||
devices.dronePortA01
|
||
devices.dronePosition
|
||
devices.droneStatus
|
||
devices.droneVideo
|
||
devices.droneWayline
|
||
devices.droneWaylineTask
|
||
devices.editRobotInfoTitle
|
||
devices.emergencyStopBtn
|
||
devices.emergencyStopTriggered
|
||
devices.endLabel
|
||
devices.envFlightConditions
|
||
devices.envWindSpeed
|
||
devices.equipmentColon
|
||
devices.equipmentControl
|
||
devices.equipmentName
|
||
devices.equipmentOverview
|
||
devices.equipmentScheduleList
|
||
devices.equipmentSituationMap
|
||
devices.execTimePoint
|
||
devices.executeDeviceColon
|
||
devices.executeNow
|
||
devices.executeWayline
|
||
devices.executeWaylineTask
|
||
devices.executingTasks
|
||
devices.fenceAbnormal
|
||
devices.fetchDetailError
|
||
devices.fetchDetailException
|
||
devices.fetchParamFail
|
||
devices.fetchWaylineFailed
|
||
devices.fetchWaylineListFailed
|
||
devices.fillRequiredFields
|
||
devices.firmwareVersion
|
||
devices.fixed
|
||
devices.fixed2
|
||
devices.fixedEnv
|
||
devices.flightAltitude
|
||
devices.flightWindSpeed
|
||
devices.frontView
|
||
devices.ganttViewTitle
|
||
devices.generateTask
|
||
devices.gnssQuality
|
||
devices.gpsMode
|
||
devices.gpsModeDesc
|
||
devices.gpsPlanning
|
||
devices.gpsSingle
|
||
devices.gpsTaskIssued
|
||
devices.gpsUnit
|
||
devices.gpsWaypointPlan
|
||
devices.groupOf
|
||
devices.hangar
|
||
devices.hasRain
|
||
devices.headingAngle
|
||
devices.horizontalSpeed
|
||
devices.hotspotSuspect
|
||
devices.inDock
|
||
devices.inProgressDesc
|
||
devices.indoor
|
||
devices.inputCustomAlias
|
||
devices.inputPlotName
|
||
devices.inputTimestamp
|
||
devices.inputWaylineName
|
||
devices.inspectRobotRbt
|
||
devices.inspectRoute
|
||
devices.inspectionMachine
|
||
devices.inspectionRoute
|
||
devices.irLens
|
||
devices.issueTask
|
||
devices.issueTaskFirst
|
||
devices.landingDockSn
|
||
devices.landingDockSnLabel
|
||
devices.leftView
|
||
devices.leftWheelDrive
|
||
devices.legendTitle
|
||
devices.levelHigh
|
||
devices.levelLow
|
||
devices.levelMid
|
||
devices.locationFail
|
||
devices.logCommand
|
||
devices.logDesc1
|
||
devices.logDesc2
|
||
devices.logDesc3
|
||
devices.logDesc4
|
||
devices.logDesc5
|
||
devices.logDesc6
|
||
devices.logEvent
|
||
devices.logLevelLowBattery
|
||
devices.loginInfoExpired
|
||
devices.lostControlAction
|
||
devices.lostControlActionLabel
|
||
devices.markPoint
|
||
devices.markedPointsCount
|
||
devices.minBattery
|
||
devices.minBatteryLabel
|
||
devices.minExecBatteryLabel
|
||
devices.minThreePoints
|
||
devices.modeAuto
|
||
devices.modeDebugLocal
|
||
devices.modeDebugRemote
|
||
devices.modeLabel
|
||
devices.modeManual
|
||
devices.modeUpgrading
|
||
devices.modeWorking
|
||
devices.monthDays
|
||
devices.mowRobotGr
|
||
devices.mowRoute
|
||
devices.mowingRobot
|
||
devices.networkErrorRetry
|
||
devices.nightFlightLimit
|
||
devices.noData
|
||
devices.noDetail
|
||
devices.noDeviceSelected
|
||
devices.noDroneSelected
|
||
devices.noFlyZone
|
||
devices.noPermission
|
||
devices.noSavedRoutes
|
||
devices.noTaskDetail
|
||
devices.noVideo
|
||
devices.noVideoSignal
|
||
devices.noVideoStream
|
||
devices.noWaylineData
|
||
devices.noWaylineTask
|
||
devices.noWaypoints
|
||
devices.noWaypointsToSave
|
||
devices.normalRunning
|
||
devices.notFixed
|
||
devices.notFixed2
|
||
devices.notFixedEnv
|
||
devices.obstacleAvoidSwitch
|
||
devices.obstacleDetected
|
||
devices.obstacleForbiddenZone
|
||
devices.onStandby
|
||
devices.oneClickCoordinated
|
||
devices.oneClickSchedule
|
||
devices.onlineDevices
|
||
devices.onlineRate
|
||
devices.operationApiError
|
||
devices.operationApiException
|
||
devices.operationFail
|
||
devices.optimize
|
||
devices.optionalEmpty
|
||
devices.otherWebControlling
|
||
devices.outDock
|
||
devices.outdoor
|
||
devices.panorama
|
||
devices.paramArmChannel
|
||
devices.paramBatteryType
|
||
devices.paramChassisChannel
|
||
devices.paramChipUid
|
||
devices.paramChipUidSign
|
||
devices.paramDelFlag
|
||
devices.paramDriveType
|
||
devices.paramDualRtk
|
||
devices.paramFanChannel
|
||
devices.paramFanPolarity
|
||
devices.paramFirmwareVersion
|
||
devices.paramForwardSpeedLimit
|
||
devices.paramFuelPumpChannel
|
||
devices.paramGearRatio
|
||
devices.paramKnifeChannel
|
||
devices.paramKnifeMotorMode
|
||
devices.paramKnifePolarity
|
||
devices.paramKnifeWidth
|
||
devices.paramLeftBackwardGain
|
||
devices.paramLeftForwardGain
|
||
devices.paramLeftMotorReverse
|
||
devices.paramLiftChannel
|
||
devices.paramLiftProtectTime
|
||
devices.paramRelayBoard
|
||
devices.paramRemoteConfig
|
||
devices.paramRemoteType
|
||
devices.paramRightBackwardGain
|
||
devices.paramRightForwardGain
|
||
devices.paramRightMotorReverse
|
||
devices.paramRobotHeight
|
||
devices.paramRobotLength
|
||
devices.paramRobotWidth
|
||
devices.paramRunSpeed
|
||
devices.paramSaveException
|
||
devices.paramSaveFail
|
||
devices.paramSaveSuccess
|
||
devices.paramSwapChannel
|
||
devices.paramThrottleChannel
|
||
devices.paramThrottlePolarity
|
||
devices.paramTurnSpeedLimit
|
||
devices.paramTyreSize
|
||
devices.paramUse4G
|
||
devices.paramViewEditTitle
|
||
devices.paramWalkMotorMode
|
||
devices.paramWifiName
|
||
devices.paramWifiPassword
|
||
devices.pathPlanDone
|
||
devices.pathPlanFailRetry
|
||
devices.pathPlanning
|
||
devices.pauseTask
|
||
devices.pendingApprovalTasks
|
||
devices.pendingExec
|
||
devices.permissionObtained
|
||
devices.permissionRequestTitle
|
||
devices.permissionRequesting
|
||
devices.planeNoLocalRoute
|
||
devices.pleaseLoginFirst
|
||
devices.pleaseSelectWayline
|
||
devices.plotNameLabel
|
||
devices.pointMarked
|
||
devices.positionInStation
|
||
devices.precipStatus
|
||
devices.productType
|
||
devices.rainNo
|
||
devices.rainYes
|
||
devices.rainfall
|
||
devices.realtimeMonitorList
|
||
devices.realtimePicture
|
||
devices.realtimePowerData
|
||
devices.realtimeSpeed
|
||
devices.realtimeVideoMonitor
|
||
devices.rechargeBtn
|
||
devices.rechargeCommandSent
|
||
devices.remoteControl
|
||
devices.remoteControlAndSituation
|
||
devices.repeatDaily
|
||
devices.repeatInterval
|
||
devices.repeatMode
|
||
devices.repeatModeLabel
|
||
devices.repeatMonthlyByDate
|
||
devices.repeatMonthlyByWeek
|
||
devices.repeatNone
|
||
devices.repeatTypeLabel
|
||
devices.repeatWeekly
|
||
devices.requestControlPermission
|
||
devices.requestFail
|
||
devices.resumeAuto
|
||
devices.resumeBreakpoint
|
||
devices.resumeFromBreakpointLabel
|
||
devices.resumeManual
|
||
devices.resumeTask
|
||
devices.returnCommandSent
|
||
devices.returnHomeAltitude
|
||
devices.returnHomeAltitudeColon
|
||
devices.returnHomeAltitudeLabel
|
||
devices.returnHomeMode
|
||
devices.returnHomeModeLabel
|
||
devices.rightView
|
||
devices.rightWheelDrive
|
||
devices.robotExecutingCount
|
||
devices.robotInTaskCount
|
||
devices.robotLocalRoutes
|
||
devices.robotPath
|
||
devices.robotPosition
|
||
devices.robotStatus
|
||
devices.robotTaskData
|
||
devices.robotWorkStatus
|
||
devices.routeDeletedSuccess
|
||
devices.routeLoaded
|
||
devices.routeLoadedWithName
|
||
devices.routeNoPathPoints
|
||
devices.routeSavedLocal
|
||
devices.rtBattery
|
||
devices.rtHeadingAngle
|
||
devices.rtHeadingStatus
|
||
devices.rtInitialized
|
||
devices.rtLeftMotor
|
||
devices.rtLeftSpeed
|
||
devices.rtLeftTemp
|
||
devices.rtMainTemp
|
||
devices.rtMode
|
||
devices.rtPitchAngle
|
||
devices.rtPositioning
|
||
devices.rtRightMotor
|
||
devices.rtRightSpeed
|
||
devices.rtRightTemp
|
||
devices.rtSatellites
|
||
devices.rtVoltage
|
||
devices.rthMode
|
||
devices.rthOptimal
|
||
devices.rthPreset
|
||
devices.rtkCount
|
||
devices.rtkEnvLabel
|
||
devices.rtkFixed2
|
||
devices.rtkFloat
|
||
devices.rtkHighPrecision
|
||
devices.rtkModeDesc
|
||
devices.rtkStatus
|
||
devices.safeRthBattery
|
||
devices.satelliteCount
|
||
devices.savePathTitle
|
||
devices.savePlan
|
||
devices.saving
|
||
devices.searchDeviceName
|
||
devices.searchWaylinePlaceholder
|
||
devices.selectDevice
|
||
devices.selectDrone
|
||
devices.selectExecuteDroneFirst
|
||
devices.selectNoDrone
|
||
devices.selectStartTimePlaceholder
|
||
devices.selectTaskFirst
|
||
devices.selectTaskStartTime
|
||
devices.selectWayline
|
||
devices.selectedWaylineColon
|
||
devices.signalSatellite
|
||
devices.situationMap
|
||
devices.smartAssign
|
||
devices.standbyCount
|
||
devices.startBtn
|
||
devices.startLabel
|
||
devices.startTimeColon
|
||
devices.stationCameraNotFound
|
||
devices.stationStatus
|
||
devices.stationTopology
|
||
devices.stationVideo
|
||
devices.statusExecFailed
|
||
devices.statusExecSuccess
|
||
devices.statusPendingApproval
|
||
devices.statusPreparing
|
||
devices.statusRestored
|
||
devices.statusStartFailed
|
||
devices.statusSuggestExec
|
||
devices.statusTerminated
|
||
devices.statusTimeout
|
||
devices.statusUpdateSuccess
|
||
devices.statusWaitExec
|
||
devices.statusWaitingStart
|
||
devices.stopVideoBtn
|
||
devices.suggestAction
|
||
devices.suggestTime
|
||
devices.suitability
|
||
devices.suitable
|
||
devices.suitableExec
|
||
devices.suitableExec2
|
||
devices.supplyChargePoint
|
||
devices.supportsGpsPlan
|
||
devices.supportsRemoteGpsPlan
|
||
devices.suspendTask
|
||
devices.switchDroneLensFail
|
||
devices.switchManual
|
||
devices.switchStationCameraFail
|
||
devices.taskCancelException
|
||
devices.taskCancelFail
|
||
devices.taskCanceledSuccess
|
||
devices.taskCompletedMsg
|
||
devices.taskCompletionRate
|
||
devices.taskContinuous
|
||
devices.taskEndTimeLabel
|
||
devices.taskEnded
|
||
devices.taskExecSuccess
|
||
devices.taskExecuteException
|
||
devices.taskExecuteFail
|
||
devices.taskExecuteSuccess
|
||
devices.taskExecutedSuccess
|
||
devices.taskIdLabel
|
||
devices.taskImmediate
|
||
devices.taskListFetchFail
|
||
devices.taskListRefreshFail
|
||
devices.taskOrchestrationAI
|
||
devices.taskPauseException
|
||
devices.taskPauseFail
|
||
devices.taskPaused
|
||
devices.taskPaused2
|
||
devices.taskPausedSuccess
|
||
devices.taskRecurring
|
||
devices.taskRestored2
|
||
devices.taskResumeException
|
||
devices.taskResumeFail
|
||
devices.taskResumed
|
||
devices.taskResumedSuccess
|
||
devices.taskReturnedHome
|
||
devices.taskReturnedHome2
|
||
devices.taskStandby2
|
||
devices.taskStartFailure
|
||
devices.taskStartTimeLabel
|
||
devices.taskStarted
|
||
devices.taskStarted2
|
||
devices.taskStatusUpdateSuccess
|
||
devices.taskStopped
|
||
devices.taskSuspended
|
||
devices.taskSuspended2
|
||
devices.taskTerminated
|
||
devices.taskTimed
|
||
devices.taskTimedOut
|
||
devices.taskTimelineTitle
|
||
devices.taskTimeout
|
||
devices.taskTypeLabel
|
||
devices.taskWaitingStart
|
||
devices.taskWaylineTypeLabel
|
||
devices.timelineStatusComplete
|
||
devices.timelineStatusReady
|
||
devices.timelineStatusReturn
|
||
devices.timelineStatusStart
|
||
devices.tlFinishInspection
|
||
devices.tlReturnSupply
|
||
devices.tlStandbyReady
|
||
devices.tlStartCleaning
|
||
devices.tlStartInspection
|
||
devices.tlStartMowing
|
||
devices.todayTaskExecute
|
||
devices.todayWaylinePlan
|
||
devices.totalCount
|
||
devices.trendFlat
|
||
devices.trendYesterday
|
||
devices.typeAIRecheck
|
||
devices.typeArrayMow
|
||
devices.typeComponentClean
|
||
devices.typeDroneHotspot
|
||
devices.typeFenceInspect
|
||
devices.typeHotspotInspect
|
||
devices.typeRecheck
|
||
devices.unitGe
|
||
devices.unitJia
|
||
devices.unitTai
|
||
devices.unitTiao
|
||
devices.unknownDevice
|
||
devices.unknownDrone
|
||
devices.unknownObject
|
||
devices.unknownPlatform
|
||
devices.unknownTime
|
||
devices.verticalSpeed
|
||
devices.videoAndConfig
|
||
devices.videoConfigured
|
||
devices.videoLinkConfigured
|
||
devices.videoStopped
|
||
devices.viewBack
|
||
devices.viewFront
|
||
devices.viewLeft
|
||
devices.viewMore
|
||
devices.viewMoreLogs
|
||
devices.viewRight
|
||
devices.viewTop
|
||
devices.washDrone
|
||
devices.washDroneUav
|
||
devices.waylineDetail
|
||
devices.waylineEditPlan
|
||
devices.waylineExecFail
|
||
devices.waylineFallback
|
||
devices.waylineLabel
|
||
devices.waylineList
|
||
devices.waylineListFetchFail
|
||
devices.waylineName
|
||
devices.waylineParamsTitle
|
||
devices.waylinePrecision
|
||
devices.waylinePrecisionLabel
|
||
devices.waylineTaskCreated
|
||
devices.waylineUuidLabel
|
||
devices.waypoint
|
||
devices.waypointDeleted
|
||
devices.waypointList
|
||
devices.waypointsAdded
|
||
devices.waypointsCount
|
||
devices.weatherAdvice1
|
||
devices.weatherAdvice2
|
||
devices.weatherStation
|
||
devices.weatherWindowTitle
|
||
devices.weedHighZone
|
||
devices.weekFri
|
||
devices.weekMon
|
||
devices.weekNo
|
||
devices.weekSat
|
||
devices.weekSun
|
||
devices.weekThu
|
||
devices.weekTue
|
||
devices.weekWed
|
||
devices.weekday
|
||
devices.weekdayExec
|
||
devices.whichWeek
|
||
devices.wideLens
|
||
devices.windSpeed
|
||
devices.workMode
|
||
devices.workTaskBoard
|
||
devices.working
|
||
devices.workingCurrent
|
||
devices.zoomLens
|
||
home.ambientTemperature
|
||
home.current
|
||
home.currentIrradiance
|
||
home.frequency
|
||
home.gridConnected
|
||
home.gridConnection
|
||
home.gridVoltage
|
||
home.inverterPowerCompare
|
||
home.phaseA
|
||
home.powerCurve
|
||
home.ratedPower
|
||
home.realtimePower
|
||
home.stringCurrentHeatmap
|
||
home.today
|
||
home.todayAccumulated
|
||
home.totalPower
|
||
home.underMaintenance
|
||
login.and
|
||
profile.basicInfo
|
||
profile.changePassword
|
||
profile.confirmPasswordPlaceholder
|
||
profile.confirmPasswordRequired
|
||
profile.emailInvalid
|
||
profile.emailPlaceholder
|
||
profile.newPasswordPlaceholder
|
||
profile.oldPasswordPlaceholder
|
||
profile.passwordLengthError
|
||
profile.phoneInvalid
|
||
profile.remarkPlaceholder
|
||
profile.requestFailed
|
||
report.aiAnalysisReport
|
||
report.aiAnalysisStatistics
|
||
report.aiDiagnosisDaily
|
||
report.alarmCount
|
||
report.alertClosureRate
|
||
report.alertClosureWeekly
|
||
report.alertWeekly
|
||
report.autoGeneratedReports
|
||
report.averageIrradiance
|
||
report.cleaningEffectReport
|
||
report.cleaningEffectReportDesc
|
||
report.cleaningOptimizationReport
|
||
report.cleaningRevenueImprovement
|
||
report.closureRate
|
||
report.criticalAlertCount
|
||
report.deviceHealthReport
|
||
report.deviceHealthReportDesc
|
||
report.dispatchChannels
|
||
report.email
|
||
report.estimatedAdditionalGeneration
|
||
report.exportExcel
|
||
report.exportPdf
|
||
report.generateTime
|
||
report.generated
|
||
report.generating
|
||
report.generation
|
||
report.generationDeviation
|
||
report.generationMeteorology
|
||
report.generationRecords
|
||
report.generator
|
||
report.inspectionRobotReport
|
||
report.inspectionRobotReportDesc
|
||
report.monthOverMonthUp
|
||
report.monthlyAccumulated
|
||
report.monthlyAccumulatedGeneration
|
||
report.monthlyGeneration
|
||
report.monthlyOperationAnalysis
|
||
report.monthlyOperationReport
|
||
report.monthlyOperationReportDesc
|
||
report.monthlyTotalOrders
|
||
report.operationReport
|
||
report.operationSummary
|
||
report.overview
|
||
report.prAverage
|
||
report.predictedGeneration
|
||
report.reportCycle
|
||
report.reportDirectory
|
||
report.reportName
|
||
report.reportType
|
||
report.roleDeviceOm
|
||
report.roleOmManager
|
||
report.roleOmSupervisor
|
||
report.roleStationEngineer
|
||
report.sendPlan
|
||
report.stationMonthly
|
||
report.stationMonthlyReportFile
|
||
report.subscribers
|
||
report.subscriptionDispatch
|
||
report.systemAuto
|
||
report.systemNotification
|
||
report.templateCenter
|
||
report.theoreticalGeneration
|
||
report.unitIrradiancePerDay
|
||
report.unitItem
|
||
report.unitReport
|
||
report.weeklyAutoSend
|
||
report.weeklyOperationSummary
|
||
report.workOrderAlertClosure
|
||
report.workOrderCompletionRate
|
||
roles.addSuccess
|
||
roles.confirmDeleteRole
|
||
roles.editRole
|
||
roles.editSuccess
|
||
roles.manageMembers
|
||
roles.menuPermissionConfig
|
||
roles.orgAdmin
|
||
roles.permissionKey
|
||
roles.roleKeyPlaceholder
|
||
roles.roleNamePlaceholder
|
||
roles.rolePermission
|
||
roles.roleSortLabel
|
||
roles.superAdmin
|
||
router.realtimeMonitorCenter
|
||
router.realtimeMonitorDesc
|
||
systemSetting.account
|
||
systemSetting.batchDeleteRolesTitle
|
||
systemSetting.batchDeleteSuccess
|
||
systemSetting.batchDeleteUsersTitle
|
||
systemSetting.belongingOrg
|
||
systemSetting.belongingSite
|
||
systemSetting.chooseRole
|
||
systemSetting.confirmDeleteSelectedRoles
|
||
systemSetting.confirmDeleteSelectedUsers
|
||
systemSetting.confirmDeleteUser
|
||
systemSetting.deviceOperatePermLabel
|
||
systemSetting.devicePerm
|
||
systemSetting.editPasswordPlaceholder
|
||
systemSetting.editRole
|
||
systemSetting.has
|
||
systemSetting.hasPerm
|
||
systemSetting.levelLabel
|
||
systemSetting.nicknameShort
|
||
systemSetting.noPerm
|
||
systemSetting.none
|
||
systemSetting.permissionLabel
|
||
systemSetting.phoneShort
|
||
systemSetting.pleaseInputRoleLevel
|
||
systemSetting.pleaseSelectOrg
|
||
systemSetting.pleaseSelectRoles
|
||
systemSetting.pleaseSelectSite
|
||
systemSetting.pleaseSelectUsers
|
||
systemSetting.resetFail
|
||
systemSetting.roleLevel
|
||
systemSetting.totalCount
|
||
systemSetting.userAndRole
|
||
users.languagePlaceholder
|
||
users.notAssigned
|
||
users.rolePlaceholder
|
||
users.siteId
|
||
video.activeVideoStreams
|
||
video.aiVisualTracking
|
||
video.allRecordings
|
||
video.allStatuses
|
||
video.allTypes
|
||
video.cameraDeviceList
|
||
video.cameraName
|
||
video.capacity
|
||
video.currentDutyDevice
|
||
video.customLayout
|
||
video.domeCamera
|
||
video.eventTimeline
|
||
video.fileDetails
|
||
video.fullScreenWall
|
||
video.labelCargo
|
||
video.labelDetail
|
||
video.labelFrontDrive
|
||
video.labelLeft
|
||
video.labelLeftWing
|
||
video.labelMainFront
|
||
video.labelMainProbe
|
||
video.labelPanorama
|
||
video.labelRear
|
||
video.labelRearMount
|
||
video.labelRight
|
||
video.labelRightWing
|
||
video.lastEventTime
|
||
video.liveLabel
|
||
video.mainView
|
||
video.offlineCameras
|
||
video.offlineRateTrend
|
||
video.onlineCameras
|
||
video.onlineRateTrend
|
||
video.onlineSearch
|
||
video.perimeterAlerts
|
||
video.positionArray1
|
||
video.positionArrayWest
|
||
video.positionEnergyStorage
|
||
video.positionEquipmentArea
|
||
video.positionInverterRoom
|
||
video.positionPerimeterNorth
|
||
video.positionPerimeterSouth
|
||
video.positionStationGate
|
||
video.positionStorageBattery
|
||
video.positionWeatherStation
|
||
video.ptzServoControl
|
||
video.recentAlertSnapshots
|
||
video.recording
|
||
video.recordingStatus
|
||
video.refreshSignal
|
||
video.searchCameraPlaceholder
|
||
video.sourceDevice
|
||
video.startEndTime
|
||
video.storageUsage
|
||
video.storageUsageTrend
|
||
video.systemIntegratedCommand
|
||
video.timeSpan
|
||
video.todayAlertEvents
|
||
video.todayRecordings
|
||
video.triggerRemoteRepellent
|
||
video.twoWayIntercom
|
||
video.unitDevice
|
||
video.unitIncident
|
||
video.videoMonitorCenter
|
||
video.videoReplayCenter
|
||
video.videoStreamChannels
|
||
video.viewMore
|
||
video.vsYesterdayPercent
|
||
workOrder.aiSuggestedOrders
|
||
workOrder.alarmNo
|
||
workOrder.alarmTitle
|
||
workOrder.autoGeneratedToday
|
||
workOrder.avgHandleTime
|
||
workOrder.batchDeleteFail
|
||
workOrder.batchDeleteSuccess
|
||
workOrder.batchExecute
|
||
workOrder.completeFail
|
||
workOrder.completeSuccess
|
||
workOrder.completedOrders
|
||
workOrder.confirmBatchDelete
|
||
workOrder.detail
|
||
workOrder.dispatchFail
|
||
workOrder.dispatchRequestError
|
||
workOrder.dispatchSuccess
|
||
workOrder.executeFail
|
||
workOrder.executeSuccess
|
||
workOrder.fixed
|
||
workOrder.generateOrder
|
||
workOrder.getDetailFailed
|
||
workOrder.getListFailed
|
||
workOrder.handledCompleted
|
||
workOrder.highPriority
|
||
workOrder.hourUnit
|
||
workOrder.invalidOrder
|
||
workOrder.issueClosed
|
||
workOrder.keyword
|
||
workOrder.list
|
||
workOrder.modifyFail
|
||
workOrder.modifySuccess
|
||
workOrder.monthlyTotal
|
||
workOrder.nearItems
|
||
workOrder.newOrders
|
||
workOrder.noActionNeeded
|
||
workOrder.noScheduledOrders
|
||
workOrder.noTitle
|
||
workOrder.onTimeRate
|
||
workOrder.orderNo
|
||
workOrder.orderUnit
|
||
workOrder.overview
|
||
workOrder.pendingDispatch
|
||
workOrder.pendingOrders
|
||
workOrder.planStartTime
|
||
workOrder.pleaseInputHandleRemark
|
||
workOrder.pleaseInputOrderNoOrTitle
|
||
workOrder.pleaseInputResult
|
||
workOrder.pleaseInputTaskDesc
|
||
workOrder.pleaseSelectExecuteDevice
|
||
workOrder.pleaseSelectOneOrder
|
||
workOrder.pleaseSelectOrder
|
||
workOrder.pleaseSelectOrderToDelete
|
||
workOrder.pleaseSelectPerson
|
||
workOrder.pleaseSelectResult
|
||
workOrder.runningOrders
|
||
workOrder.scheduleCalendarView
|
||
workOrder.scheduledOrderList
|
||
workOrder.selectedOrders
|
||
workOrder.statusDistribution
|
||
workOrder.suspendFail
|
||
workOrder.suspendSuccess
|
||
workOrder.taskManagement
|
||
workOrder.timeRange
|
||
workOrder.todayNewOrders
|
||
workOrder.todaySuffix
|
||
workOrder.totalCount
|
||
workOrder.totalWithCount
|
||
workOrder.vsLastWeek
|
||
workOrder.vsYesterday
|
||
|
||
Total referenced keys: 1587
|
||
|
||
=== USER-FACING hardcoded CJK lines (1288) ===
|
||
src\api\api.ts:207 | responseType: 'arraybuffer' // 馃憟 鍙渶瑕佸姞杩欎竴琛岋紒
|
||
src\api\device.ts:92 | data: data, // 涓婁紶鏂囦欢蹇呴』鐢?data锛屼笉鑳界敤 params
|
||
src\api\device.ts:94 | 'Content-Type': 'multipart/form-data' // 涓婁紶鏂囦欢蹇呭姞锛?src\api\device.ts:418 | url: '/iot/workRecord/add', // 淇涓烘纭殑娣诲姞鎺ュ彛
|
||
src\api\reportDownloader.ts:15 | [key: string]: string; // 閫傞厤鍓茶崏(妞嶈楂樺害)銆佹竻娲?鐏版崯鐜?鐨勪笉鍚屽瓧娈?src\api\reportDownloader.ts:240 | <!-- 鏍稿績鎸囨爣 -->
|
||
src\api\reportDownloader.ts:254 | <!-- 鏈€浣充綔涓氱獥鍙?-->
|
||
src\api\reportDownloader.ts:264 | <!-- 浠诲姟鍒楄〃 -->
|
||
src\api\reportDownloader.ts:281 | if (task[key] === '楂?) className = 'priority-high';
|
||
src\api\reportDownloader.ts:282 | else if (task[key] === '涓?) className = 'priority-medium';
|
||
src\api\reportDownloader.ts:295 | <!-- 绠楁硶鎵ц娴佺▼ -->
|
||
src\api\request.ts:8 | const message = utils.message; // 浣跨敤鍏ㄥ眬 message
|
||
src\components\AgoraRtc.tsx:61 | await destroy(); // 鍏堟竻鐞嗕笂涓€娆?src\components\AgoraRtc.tsx:96 | message.error("瑙嗛杩炴帴澶辫触");
|
||
src\components\alerts\AlarmOverview.tsx:263 | fetchList(); // 鍒锋柊鍒楄〃
|
||
src\components\alerts\AlarmOverview.tsx:264 | fetchStat(); // 鍒锋柊缁熻
|
||
src\components\alerts\AlarmOverview.tsx:338 | case 1: color = 'orange'; break; // 寰呭鐞?src\components\alerts\AlarmOverview.tsx:339 | case 2: color = 'green'; break; // 宸插叧闂?src\components\alerts\AlarmOverview.tsx:478 | sourceType: 7, // 鏉ユ簮 7=鍛婅
|
||
src\components\alerts\AlarmOverview.tsx:479 | orderType: 5, // 绫诲瀷 5=杩愮淮
|
||
src\components\alerts\AlarmOverview.tsx:480 | priorityLevel: currentAlarm.alarmLevel === 'ERROR' ? 1 : 2, // 淇锛氱瓑绾ф槸瀛楃涓诧紝涓嶆槸鏁板瓧1
|
||
src\components\alerts\AlarmOverview.tsx:495 | orderStatus: 1, // 1-寰呭鐞?src\components\alerts\AlarmOverview.tsx:694 | const trimVal = e.target.value.trim(); // 鍙竻闄ら灏剧┖鏍?src\components\alerts\AlarmOverview.tsx:728 | fetchChartAllAlarm(); // 鏂板锛氬埛鏂板浘琛ㄥ叏閲忓憡璀?src\components\alerts\AlarmOverview.tsx:731 | fetchList(); // 鍒锋柊鍒楄〃
|
||
src\components\alerts\AlarmOverview.tsx:732 | fetchStat(); // 鍒锋柊缁熻
|
||
src\components\alerts\AlarmOverview.tsx:733 | fetchChartAllAlarm(); // 鏂板锛氬埛鏂板浘琛ㄥ叏閲忓憡璀?src\components\alerts\AlarmSubscription.tsx:16 | { id: 1, name: i18n.t('alerts.mockSubOps'), deviceType: 'all', level: 'all', channels: ['鐭俊'] },
|
||
src\components\alerts\AlarmSubscription.tsx:17 | { id: 2, name: i18n.t('alerts.mockSubAdmin'), deviceType: 'sensor', level: 'error', channels: ['鐭俊', '閭欢'] },
|
||
src\components\alerts\AlarmSubscription.tsx:18 | { id: 3, name: i18n.t('alerts.mockSubDevice'), deviceType: 'camera', level: 'warn', channels: ['APP鎺ㄩ€?] },
|
||
src\components\alerts\AlarmSubscription.tsx:31 | '鐭俊': t('alerts.sms'),
|
||
src\components\alerts\AlarmSubscription.tsx:32 | '閭欢': t('alerts.email'),
|
||
src\components\alerts\AlarmSubscription.tsx:33 | 'APP鎺ㄩ€?: t('alerts.appPush'),
|
||
src\components\alerts\AlarmSubscription.tsx:167 | <Option value="鐭俊">{t('alerts.sms')}</Option>
|
||
src\components\alerts\AlarmSubscription.tsx:168 | <Option value="閭欢">{t('alerts.email')}</Option>
|
||
src\components\alerts\AlarmSubscription.tsx:169 | <Option value="APP鎺ㄩ€?>{t('alerts.appPush')}</Option>
|
||
src\components\devices\DeviceControl.tsx:87 | const [selectedRoute, setSelectedRoute] = useState(null); // 鉁?鏂板
|
||
src\components\devices\DeviceControl.tsx:90 | const [isConnecting, setIsConnecting] = useState(false); // 杩炴帴涓姸鎬?src\components\devices\DeviceControl.tsx:126 | const [isModalOpen, setIsModalOpen] = useState(false);//鏉冮檺璇锋眰鐨勫脊绐?src\components\devices\DeviceControl.tsx:127 | const [hasControlRight, setHasContronRight] = useState(false);//鏄惁鏈夋帶鍒舵潈闄?src\components\devices\DeviceControl.tsx:336 | case 'AUTH'://杩炴帴澶辫触 閲嶆柊杩炴帴
|
||
src\components\devices\DeviceControl.tsx:343 | case 'switchResult'://杩炴帴澶辫触 閲嶆柊杩炴帴
|
||
src\components\devices\DeviceControl.tsx:354 | case 'switchPermission'://杩炴帴澶辫触 閲嶆柊杩炴帴
|
||
src\components\devices\DeviceControl.tsx:359 | return; // 杩欓噷鐨剅eturn浼氱粓姝㈡暣涓猦andleMessage鍑芥暟鐨勬墽琛?src\components\devices\DeviceControl.tsx:369 | case 'detectionReport'://杩炴帴澶辫触 閲嶆柊杩炴帴
|
||
src\components\devices\DeviceControl.tsx:503 | setWsDeviceInfo([]);//娓呯┖璁惧淇℃伅
|
||
src\components\devices\DeviceControl.tsx:634 | }, 8000); // 8绉掑悗鍙颁繚娲?src\components\devices\DeviceControl.tsx:761 | setPoints([]); // 馃敟 鍏抽敭锛氭竻绌轰笂涓€涓澶囩殑杞ㄨ抗
|
||
src\components\devices\DeviceControl.tsx:945 | setWaylineList(_list || []); // 鍙杔ist鏁扮粍
|
||
src\components\devices\DeviceControl.tsx:1000 | setSelectedRoute(route); // 鉁?鍔犱笂杩欏彞
|
||
src\components\devices\DeviceControl.tsx:1040 | wsRef.current.readyState !== WebSocket.OPEN || // 2. 杩炴帴鏄惁鎵撳紑
|
||
src\components\devices\DeviceControl.tsx:1041 | !controlRef.current) { // 3. 鏄惁鏈夋帶鍒舵潈闄?src\components\devices\DeviceControl.tsx:1052 | type: "remoteControl", // 娑堟伅绫诲瀷
|
||
src\components\devices\DeviceControl.tsx:1053 | remoteData: data, // 鍘熷鎵嬫焺鏁版嵁
|
||
src\components\devices\DeviceControl.tsx:1054 | token: token, // 璁よ瘉浠ょ墝
|
||
src\components\devices\DeviceControl.tsx:1086 | setSelectedRoute(work); // 鉁?鍔犱笂杩欏彞
|
||
src\components\devices\DeviceControl.tsx:1342 | {selectedDevice?.name}锝滃疄鏃惰棰?src\components\devices\DeviceControl.tsx:1369 | <p className="text-xs text-[#9ca3af] mb-1">浠诲姟鎬佸娍</p>
|
||
src\components\devices\DeviceControl.tsx:1395 | <MapPin className="w-3 h-3 text-[#9ca3af]" />鍖哄煙: {device?.area}
|
||
src\components\devices\DeviceControl.tsx:1487 | <p className="text-xs text-[#9ca3af] mb-1.5">褰撳墠浣嶇疆</p>
|
||
src\components\devices\DeviceControl.tsx:1497 | <p className="text-xs text-[#9ca3af] mb-1.5">褰撳墠妯″紡</p>
|
||
src\components\devices\DeviceControl.tsx:1498 | <p className="text-sm font-bold text-white">{selectedDevice?.type === 'plane' ? '鏃犱汉鏈哄緟鍛? : selectedDevice?.type === 'mower' ? '鍓茶崏寰呭懡' : '寰呭懡'}</p>
|
||
src\components\devices\DeviceControl.tsx:1501 | <p className="text-xs text-[#9ca3af] mb-1.5">鐢甸噺/鑸悜</p>
|
||
src\components\devices\DeviceControl.tsx:1509 | <span className="text-xs text-[#9ca3af]">鍚敤閬ユ帶</span>
|
||
src\components\devices\DeviceControl.tsx:1539 | <p className="text-xs text-[#9ca3af] mb-1.5">TCP閾捐矾</p>
|
||
src\components\devices\DeviceControl.tsx:1543 | <p className="text-xs text-[#9ca3af] mb-1.5">閬ユ帶鎺ョ</p>
|
||
src\components\devices\DeviceControl.tsx:1547 | <p className="text-xs text-[#9ca3af] mb-1.5">瑙勫垝鎬佸娍</p>
|
||
src\components\devices\DeviceControl.tsx:1841 | <Send className="w-4 h-4" /> 涓嬪彂浠诲姟
|
||
src\components\devices\DeviceControl.tsx:1845 | {taskRunning ? t('video.pause') : "鎵ц"}
|
||
src\components\devices\DeviceControl.tsx:1848 | <Square className="w-4 h-4" /> 鍋滄
|
||
src\components\devices\deviceController.js:20 | this.currentDevice = null; // 淇濆瓨褰撳墠璁惧
|
||
src\components\devices\deviceController.js:32 | this.keepAliveInterval = null; // 鍚庡彴淇濇椿瀹氭椂鍣?src\components\devices\deviceController.js:178 | this.messageApi.warning('鍏朵粬绔鍦ㄦ帶鍒?);
|
||
src\components\devices\deviceController.js:187 | this.messageApi.error('鏉冮檺鏍¢獙澶辫触');
|
||
src\components\devices\deviceController.js:210 | this.messageApi.warning('鏃犳帶鍒舵潈闄?);
|
||
src\components\devices\deviceController.js:219 | content: '璇锋眰鎺у埗涓?..',
|
||
src\components\devices\deviceController.js:231 | this.messageApi.error('鎺у埗璇锋眰瓒呮椂');
|
||
src\components\devices\deviceController.js:283 | this.messageApi.error({ key: 'control', content: msg.message || '鎺у埗澶辫触' });
|
||
src\components\devices\deviceController.js:288 | this.messageApi.success({ key: 'control', content: '鎺у埗鎴愬姛' });
|
||
src\components\devices\deviceController.js:313 | title: '鏉冮檺璇锋眰',
|
||
src\components\devices\deviceController.js:314 | content: `${msg.platform} 璇锋眰鎺у埗璁惧`,
|
||
src\components\devices\deviceController.js:325 | const types = { 0: t('constants.locationUnknown'), 1: '浜?, 2: '杞﹁締', 3: '鍥存爮', 4: '鍧戞礊', 5: '鑽変笡' };
|
||
src\components\devices\deviceController.js:328 | content: `妫€娴嬪埌 ${types[type] ?? '鏈煡鐗?}锛岃窛绂?${distance}m`,
|
||
src\components\devices\DeviceOverviewPage.tsx:232 | return true; // 榛樿閮界畻
|
||
src\components\devices\DeviceOverviewPage.tsx:277 | }, [selectedDevice]); // 鍙湁鍒囪澶囨墠鍙?鈫?瑙嗛涓嶉棯
|
||
src\components\devices\DeviceOverviewPage.tsx:458 | const activeMowers = devices?.filter(d => d.feStatus == 1).length || 0; // 浣滀笟涓姸鎬佹暟閲?src\components\devices\DeviceStatusPage.tsx:73 | const [persistentDroneData, setPersistentDroneData] = useState(null); // 鎸佷箙鍖栨棤浜烘満鏁版嵁
|
||
src\components\devices\DeviceStatusPage.tsx:74 | const [persistentHostData, setPersistentHostData] = useState(null); // 鎸佷箙鍖栨満鍦烘暟鎹?src\components\devices\DeviceStatusPage.tsx:78 | const [arrivedPoint, setArrivedPoint] = useState(null);//瀹屾垚鐐?src\components\devices\DeviceStatusPage.tsx:101 | const [queryTimeRange, setQueryTimeRange] = useState([]); // 鏃堕棿鑼冨洿
|
||
src\components\devices\DeviceStatusPage.tsx:102 | const [startTimestamp, setStartTimestamp] = useState(''); // 寮€濮嬫椂闂存埑
|
||
src\components\devices\DeviceStatusPage.tsx:103 | const [endTimestamp, setEndTimestamp] = useState(''); // 缁撴潫鏃堕棿鎴?src\components\devices\DeviceStatusPage.tsx:118 | const [markedPoints, setMarkedPoints] = useState([]); // 鏍囪鐨勭偣
|
||
src\components\devices\DeviceStatusPage.tsx:119 | const [completeFlag, setCompleteFlag] = useState(false); // 鏄惁瀹屾垚璺緞瑙勫垝
|
||
src\components\devices\DeviceStatusPage.tsx:120 | const [savePath, setSavePath] = useState(null); // 淇濆瓨鐨勮矾寰勬暟鎹?src\components\devices\DeviceStatusPage.tsx:121 | const [isSaveModalVisible, setIsSaveModalVisible] = useState(false); // 淇濆瓨妯℃€佹鍙鎬?src\components\devices\DeviceStatusPage.tsx:122 | const [plotName, setPlotName] = useState(''); // 鍦板潡鍚嶇О
|
||
src\components\devices\DeviceStatusPage.tsx:123 | const [isSaving, setIsSaving] = useState(false); // 鏄惁姝e湪淇濆瓨
|
||
src\components\devices\DeviceStatusPage.tsx:124 | const mapRef = useRef(null); // 鍦板浘 ref
|
||
src\components\devices\DeviceStatusPage.tsx:128 | const urlSn = queryParams.get('sn'); // 鎷垮埌璺敱涓婄殑sn
|
||
src\components\devices\DeviceStatusPage.tsx:596 | ...currentDroneData, // 鎸佷箙鍖栨暟鎹渶鍚庤鐩栵紝纭繚浼樺厛鏄剧ず
|
||
src\components\devices\DeviceStatusPage.tsx:708 | path: path, // 瀛樺偍杩斿洖鐨勮矾寰勭粨鏋?src\components\devices\DeviceStatusPage.tsx:736 | path: positionPoints, // 瀛樺偍杩斿洖鐨勮矾寰勭粨鏋?src\components\devices\DroneVideoPlayer.tsx:47 | const [selectedCamera, setSelectedCamera] = useState<'indoor' | 'outdoor'>('outdoor'); // 榛樿閫夋嫨瀹ゅ
|
||
src\components\devices\DroneVideoPlayer.tsx:48 | const [selectedLens, setSelectedLens] = useState<'wide' | 'zoom' | 'ir'>(''); // 榛樿閫夋嫨骞胯
|
||
src\components\devices\DroneVideoPlayer.tsx:65 | const cameraIndex = device?.gateway_camera_list[0]?.camera_index || ""; // 鐩墠鍏堥粯璁ょ敤绗竴涓憚鍍忓ご
|
||
src\components\devices\DroneVideoPlayer.tsx:198 | hasLoadedRef.current.drone = false; // 閲嶇疆鍙︿竴杈圭殑鍔犺浇鐘舵€?src\components\devices\DroneVideoPlayer.tsx:205 | hasLoadedRef.current.station = false; // 閲嶇疆鍙︿竴杈圭殑鍔犺浇鐘舵€?src\components\devices\DroneVideoPlayer.tsx:253 | minWidth: dualVideo ? '300px' : 'auto' // 纭繚鍦ㄥ弻瑙嗛妯″紡涓嬫湁鏈€灏忓搴?src\components\devices\mowerAllView.jsx:10 | gap: 8, // 涓夊垪涔嬮棿闂磋窛
|
||
src\components\devices\mowerAllView.jsx:41 | <div style={{ position: 'absolute', top: 4, left: 8, color: '#fff', fontSize: 12, background: '#0006', padding: '2px 6px', borderRadius: 4 }}>宸﹁</div>
|
||
src\components\devices\mowerAllView.jsx:69 | <div style={{ position: 'absolute', top: 4, left: 8, color: '#fff', fontSize: 12, background: '#0006', padding: '2px 6px', borderRadius: 4 }}>鍓嶈</div>
|
||
src\components\devices\mowerAllView.jsx:88 | <div style={{ position: 'absolute', top: 4, left: 8, color: '#fff', fontSize: 12, background: '#0006', padding: '2px 6px', borderRadius: 4 }}>鍚庤</div>
|
||
src\components\devices\mowerAllView.jsx:118 | <div style={{ position: 'absolute', top: 4, left: 8, color: '#fff', fontSize: 12, background: '#0006', padding: '2px 6px', borderRadius: 4 }}>鍙宠</div>
|
||
src\components\devices\RobotTaskPage.tsx:63 | const [execute, setExecute] = useState(false); // 鏄惁鎵ц浠诲姟
|
||
src\components\devices\RobotTaskPage.tsx:65 | const [arrivedPoint, setArrivedPoint] = useState(null);//瀹屾垚鐐?src\components\devices\RobotTaskPage.tsx:90 | const [runningPoolTask, setRunningPoolTask] = useState(null);//姝e湪鎵ц鐨勪换鍔?src\components\devices\RobotTaskPage.tsx:95 | const [showVideo, setShowVideo] = useState(false); // 鎺у埗瑙嗛缁勪欢鏄剧ず
|
||
src\components\devices\RobotTaskPage.tsx:102 | const [activeTab, setActiveTab] = useState('pool'); // 'task' for 浠诲姟鍒楄〃, 'pool' for 浠诲姟姹? 'history' for 鍘嗗彶浠诲姟
|
||
src\components\devices\RobotTaskPage.tsx:134 | dateRange: null, // 鏃堕棿鑼冨洿
|
||
src\components\devices\RobotTaskPage.tsx:135 | taskStatus: null, // 浠诲姟鐘舵€?src\components\devices\RobotTaskPage.tsx:136 | robot: null // 鏈哄櫒浜鸿澶?src\components\devices\RobotTaskPage.tsx:142 | setShowVideo(false); // 浠诲姟瀹屾垚鍏抽棴瑙嗛
|
||
src\components\devices\RobotTaskPage.tsx:238 | setClearNavLine(v => v + 1); // 娓呯┖鍦板浘杞ㄨ抗
|
||
src\components\devices\RobotTaskPage.tsx:267 | setClearNavLine(v => v + 1); // 娓呯┖鍦板浘杞ㄨ抗
|
||
src\components\devices\RobotTaskPage.tsx:295 | setRunningPoolTask(runningTask); // 璁剧疆褰撳墠浠诲姟
|
||
src\components\devices\RobotTaskPage.tsx:298 | setClearNavLine(v => v + 1); // 娓呯┖鍦板浘杞ㄨ抗
|
||
src\components\devices\RobotTaskPage.tsx:401 | let method = '';//0寮撳瓙 2 鍥炲瓙
|
||
src\components\devices\RobotTaskPage.tsx:462 | setClearNavLine(v => v + 1); // 娓呯┖鍦板浘杞ㄨ抗
|
||
src\components\devices\RobotTaskPage.tsx:570 | setShowVideo(true); // 杩炴帴鎴愬姛鍚庤嚜鍔ㄦ墦寮€瑙嗛
|
||
src\components\devices\RobotTaskPage.tsx:905 | width: 100, // 鍔犲涓€鐐?src\components\devices\RobotTaskPage.tsx:966 | const status = record.taskStaus; // 鍘熷鐘舵€佸€?src\components\devices\RobotTaskPage.tsx:1125 | minWidth: 0, // flex 瀛愬厓绱犳敹缂╁厹搴曪紝瓒呴暱鏃跺厑璁稿帇缂╂崲琛?src\components\devices\RobotTaskPage.tsx:1137 | <Space size={4} wrap> {/* Space寮€鍚嚜鍔ㄦ崲琛岋紝灏忓睆鎸夐挳鑷姩鎶樿 */}
|
||
src\components\devices\RobotTaskPage.tsx:1142 | <Button size="small" icon={<NodeIndexOutlined />} style={{ borderRadius: 4 }}>浼樺寲</Button>
|
||
src\components\devices\RobotTaskPage.tsx:1171 | left: 10, // 閬垮紑宸︿晶鍥句緥闈㈡澘锛岄槻姝㈤噸鍙?src\components\devices\RobotTaskPage.tsx:1179 | maxWidth: 360, // 闄愬埗鏈€澶у搴︼紝涓嶄細鏃犻檺鎷夐暱
|
||
src\components\devices\WayLinePage.tsx:56 | const [persistentDroneData, setPersistentDroneData] = useState(null); // 鎸佷箙鍖栨棤浜烘満鏁版嵁
|
||
src\components\devices\WayLinePage.tsx:57 | const [persistentHostData, setPersistentHostData] = useState(null); // 鎸佷箙鍖栨満鍦烘暟鎹?src\components\devices\WayLinePage.tsx:307 | const [waylineList, setWaylineList] = useState([]); // 鑸嚎鍒楄〃
|
||
src\components\devices\WayLinePage.tsx:553 | setWaylineDrone(planedevices[0]); // 鑸嚎鍒楄〃榛樿閫変腑绗竴涓?src\components\devices\WayLinePage.tsx:678 | sn: waylineDrone.gateway_sn, // 鉁?浣跨敤鑸嚎鍒楄〃鏃犱汉鏈?src\components\devices\XboxController.tsx:48 | onGamepadUpdate(state); // 鉁?鍙湁杩欓噷鎵嶅彂
|
||
src\components\devices\XboxController.tsx:75 | }, []); // 鉁?绌轰緷璧?src\components\devices\XboxController.tsx:80 | navigator.getGamepads(); // 馃敟 寮哄埗瑙﹀彂涓€娆?src\components\devices\XboxController.tsx:82 | }, [/* 椤甸潰鍒囨崲渚濊禆 */]);
|
||
src\components\devices\XboxController.tsx:138 | '鏈繛鎺ヨ澶?
|
||
src\components\devices\XboxController.tsx:140 | '鍏朵粬 Web 绔凡杩炴帴'
|
||
src\components\devices\XboxController.tsx:142 | '璇锋眰鎺у埗涓?..'
|
||
src\components\devices\XboxController.tsx:144 | '鎺у埗涓?
|
||
src\components\devices\XboxController.tsx:146 | '鐐瑰嚮鑾峰彇鎺у埗鏉冮檺'
|
||
src\components\Draggable.tsx:26 | handle=".drag-header" // 浠呮爣棰樻爮鍙嫋鎷斤紝鍐呭鍖轰笉瑙﹀彂鎷栨嫿
|
||
src\components\Draggable.tsx:32 | 'border-[8px] border-slate-200 top-[8px] right-[8px] w-[800px] h-[580px] ' // 鏁翠綋8px澶栬竟妗?src\components\LanguageSwitcher.tsx:16 | 涓枃
|
||
src\components\LanguageSwitcher.tsx:42 | {currentLng === 'zh' ? '涓枃' : 'EN'}
|
||
src\components\Map.jsx:39 | const planLineRef = useRef(null); // points 瑙勫垝鑸嚎
|
||
src\components\Map.jsx:40 | const navLineRef = useRef(null); // 瀹屾垚鐐瑰疄鏃惰建杩?src\components\Map.jsx:41 | const markedPointsRef = useRef([]); // 鏍囪鐐瑰疄浣?src\components\Map.jsx:50 | const followCarEntityRef = useRef(null); // 璺熼殢灏忚溅鐨勫疄渚?src\components\Map.jsx:64 | const realtimeCartesianRef = useRef([]); // 鐩存帴瀛?Cartesian3锛堟€ц兘鏈€楂橈級
|
||
src\components\Map.jsx:199 | viewer.scene.requestRender(); // 寮哄埗鍒锋柊锛?src\components\Map.jsx:649 | pitch: window.Cesium.Math.toRadians(-90), // 鍨傜洿淇
|
||
src\components\Map.jsx:770 | viewer.scene.requestRenderMode = true; // 馃憟 鍔犺繖涓紙鍙湪闇€瑕佹椂娓叉煋锛?src\components\Map.jsx:1182 | device?.type === "plane" ? planeImg : // 椋炴満
|
||
src\components\Map.jsx:1183 | device?.type === "drone" ? planeImg : // 鏃犱汉鏈?src\components\Map.jsx:1184 | device?.type === "mower" ? carImg : // 鍓茶崏
|
||
src\components\Map.jsx:1185 | device?.type === "robot" ? droneInspectImg : // 宸℃
|
||
src\components\Map.jsx:1186 | carImg; // 榛樿杞?src\components\recharts.jsx:209 | { month: '1鏈?, uv: 400, pv: 240, amt: 240 },
|
||
src\components\recharts.jsx:210 | { month: '2鏈?, uv: 300, pv: 456, amt: 300 },
|
||
src\components\recharts.jsx:211 | { month: '3鏈?, uv: 500, pv: 139, amt: 200 },
|
||
src\components\recharts.jsx:212 | { month: '4鏈?, uv: 278, pv: 390, amt: 278 },
|
||
src\components\recharts.jsx:213 | { month: '5鏈?, uv: 189, pv: 480, amt: 189 },
|
||
src\components\recharts.jsx:233 | name: '璁块棶閲?,
|
||
src\components\recharts.jsx:239 | name: '娴忚閲?,
|
||
src\components\recharts.jsx:245 | name: '鎴愪氦閲?,
|
||
src\components\recharts.jsx:260 | name: '璁块棶閲?,
|
||
src\components\recharts.jsx:265 | name: '娴忚閲?,
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:28 | getErrorListAllApi, // 閿欒缂栫爜涓嬫媺鏁版嵁婧?src\components\SystemSetting\AlarmSettingsManagement.tsx:29 | getWorkOrderModelListApi // 宸ュ崟妯″瀷涓嬫媺鏁版嵁婧?src\components\SystemSetting\AlarmSettingsManagement.tsx:69 | utils.message.error('鑾峰彇鍛婅妯″瀷鍒楄〃澶辫触');
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:137 | title: '纭鍒犻櫎',
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:138 | content: '鎮ㄧ‘瀹氳鍒犻櫎杩欐潯鍛婅妯″瀷鍚楋紵',
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:158 | message.warning('璇峰厛鍕鹃€夎鍒犻櫎鐨勬暟鎹?);
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:162 | title: '鎵归噺鍒犻櫎纭',
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:163 | content: `鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨?${selectedRowKeys.length} 鏉″憡璀︽ā鍨嬪悧锛熷垹闄ゅ悗涓嶅彲鎭㈠锛乣,
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:171 | message.success('鎵归噺鍒犻櫎鎴愬姛');
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:175 | message.error('鎵归噺鍒犻櫎澶辫触');
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:197 | message.success(editingItem ? '鏇存柊鎴愬姛' : t('common.addSuccess'));
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:209 | { title: '閿欒缂栫爜', dataIndex: 'errorCode', key: 'errorCode' },
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:211 | title: '閿欒鏉ユ簮',
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:217 | title: '鍏宠仈宸ュ崟妯″瀷',
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:226 | title: '鑷姩鐢熸垚宸ュ崟',
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:229 | render: (val: boolean) => val ? '鏄? : '鍚?
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:253 | <Button type="primary" icon={<PlusOutlined />} onClick={handleAdd}>鏂板鍛婅妯″瀷</Button>
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:261 | 鎵归噺鍒犻櫎{selectedRowKeys.length ? `(${selectedRowKeys.length})` : ''}
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:275 | title={editingItem ? '缂栬緫鍛婅妯″瀷' : '鏂板鍛婅妯″瀷'}
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:284 | label="閿欒缂栫爜"
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:286 | rules={[{ required: true, message: '璇烽€夋嫨閿欒缂栫爜' }]}
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:288 | <Select placeholder="璇烽€夋嫨閿欒缂栫爜" options={errorCodeOptions} allowClear />
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:293 | label="鍏宠仈宸ュ崟妯″瀷"
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:295 | rules={[{ required: true, message: '璇烽€夋嫨宸ュ崟妯″瀷' }]}
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:297 | <Select placeholder="璇烽€夋嫨宸ュ崟妯″瀷" options={modelOptions} allowClear />
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:301 | label="閿欒鏉ユ簮"
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:303 | rules={[{ required: true, message: '璇烽€夋嫨閿欒鏉ユ簮' }]}
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:305 | <Select placeholder="璇烽€夋嫨閿欒鏉ユ簮" options={errorSourceOptions} allowClear />
|
||
src\components\SystemSetting\AlarmSettingsManagement.tsx:311 | label="鑷姩鐢熸垚宸ュ崟"
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:24 | { id: 1, code: 'CAM-01', name: '鎽勫儚澶?CAM-01', type: 'CAMERA', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:25 | { id: 2, code: 'CAM-02', name: '鎽勫儚澶?CAM-02', type: 'CAMERA', online: 'OFFLINE', status: 'FAULT' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:26 | { id: 3, code: 'CAM-03', name: '鎽勫儚澶?CAM-03', type: 'CAMERA', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:27 | { id: 4, code: 'CLEAN-01', name: '娓呮礂鏈哄櫒浜?CLEAN-01', type: 'CLEANING_DEVICE', online: 'ONLINE', status: 'IDLE' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:28 | { id: 5, code: 'CMB-A01', name: '姹囨祦绠?CMB-A01', type: 'COMBINER_BOX', online: 'ONLINE', status: 'WARNING' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:29 | { id: 6, code: 'CMB-A02', name: '姹囨祦绠?CMB-A02', type: 'COMBINER_BOX', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:30 | { id: 7, code: 'INV-A01', name: '閫嗗彉鍣?INV-A01', type: 'INVERTER', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:31 | { id: 8, code: 'INV-A02', name: '閫嗗彉鍣?INV-A02', type: 'INVERTER', online: 'ONLINE', status: 'WARNING' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:32 | { id: 9, code: 'INV-B01', name: '閫嗗彉鍣?INV-B01', type: 'INVERTER', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:33 | { id: 10, code: 'METER-01', name: '鐢佃〃 METER-01', type: 'METER', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:34 | { id: 11, code: 'ROBOT-01', name: '杩愮淮鏈哄櫒浜?ROBOT-01', type: 'ROBOT', online: 'ONLINE', status: 'IDLE' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:35 | { id: 12, code: 'DRONE-01', name: '鏃犱汉鏈?DRONE-01', type: 'DRONE', online: 'OFFLINE', status: 'FAULT' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:36 | { id: 13, code: 'WEATHER-01', name: '姘旇薄绔?WEATHER-01', type: 'WEATHER_STATION', online: 'ONLINE', status: 'NORMAL' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:47 | { title: '璁惧缂栫爜', dataIndex: 'code', key: 'code' },
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:57 | title: '杩愯', dataIndex: 'status', key: 'status',
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:104 | title: '缂栬緫璁惧',
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:105 | content: `缂栬緫璁惧锛?{record.name}`,
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:111 | title: '纭鍒犻櫎',
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:112 | content: `纭畾瑕佸垹闄よ澶?${record.name} 鍚楋紵`,
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:124 | <Input placeholder="璇疯緭鍏ヨ澶囧悕绉? style={{ width: 220 }} />
|
||
src\components\SystemSetting\AllDeviceManagement.tsx:147 | showTotal: (total) => `鍏?${total} 鏉,
|
||
src\components\SystemSetting\BasicSettings.tsx:75 | message.success('璁剧疆宸蹭繚瀛?);
|
||
src\components\SystemSetting\BasicSettings.tsx:81 | title: '褰撳墠鐗堟湰',
|
||
src\components\SystemSetting\BasicSettings.tsx:83 | tag: '鏈€鏂扮増',
|
||
src\components\SystemSetting\BasicSettings.tsx:97 | title: '鍛婅閫氶亾',
|
||
src\components\SystemSetting\BasicSettings.tsx:105 | title: '鏁版嵁澶囦唤鐘舵€?,
|
||
src\components\SystemSetting\BasicSettings.tsx:113 | title: '鏈€杩戞洿鏂?,
|
||
src\components\SystemSetting\BasicSettings.tsx:123 | title: '瓒呯骇绠$悊鍛?,
|
||
src\components\SystemSetting\BasicSettings.tsx:126 | tags: ['鍏ㄩ儴鏉冮檺', '绯荤粺绠$悊'],
|
||
src\components\SystemSetting\BasicSettings.tsx:132 | title: '杩愮淮宸ョ▼甯?,
|
||
src\components\SystemSetting\BasicSettings.tsx:135 | tags: [t('router.devices'), '宸ュ崟绠$悊'],
|
||
src\components\SystemSetting\BasicSettings.tsx:141 | title: '宸℃涓荤',
|
||
src\components\SystemSetting\BasicSettings.tsx:144 | tags: ['宸℃绠$悊', '鍛婅澶勭悊'],
|
||
src\components\SystemSetting\BasicSettings.tsx:150 | title: '鏁版嵁鍒嗘瀽甯?,
|
||
src\components\SystemSetting\BasicSettings.tsx:153 | tags: ['鏁版嵁鍒嗘瀽', '鎶ヨ〃鏌ョ湅'],
|
||
src\components\SystemSetting\BasicSettings.tsx:164 | { name: '姘旇薄绔?, count: '1/1', status: t('roles.normal') },
|
||
src\components\SystemSetting\BasicSettings.tsx:168 | { name: 'API鎺ュ彛', count: t('roles.normal'), status: t('roles.normal') },
|
||
src\components\SystemSetting\BasicSettings.tsx:207 | title={<Space><SettingOutlined style={{ color: '#1677ff' }} /><b>鍩虹閰嶇疆</b></Space>}
|
||
src\components\SystemSetting\BasicSettings.tsx:220 | <Form.Item label="榛樿鐢电珯" name="defaultSite" style={{ marginBottom: 12 }}>
|
||
src\components\SystemSetting\BasicSettings.tsx:242 | <Form.Item label="棣栭〉榛樿椤甸潰" name="defaultPage" style={{ marginBottom: 12 }}>
|
||
src\components\SystemSetting\BasicSettings.tsx:249 | <Form.Item label="鏁版嵁鍒锋柊棰戠巼" name="refreshRate" style={{ marginBottom: 12 }}>
|
||
src\components\SystemSetting\BasicSettings.tsx:251 | <Select.Option value="5min">5 鍒嗛挓</Select.Option>
|
||
src\components\SystemSetting\BasicSettings.tsx:256 | <Form.Item label="鍦板浘鏈嶅姟" name="mapService" style={{ marginBottom: 12 }}>
|
||
src\components\SystemSetting\BasicSettings.tsx:258 | <Select.Option value="gaode">楂樺痉鍦板浘</Select.Option>
|
||
src\components\SystemSetting\BasicSettings.tsx:265 | <span style={{ fontSize: fontSmall }}>宸ュ崟鑷姩缂栧彿</span>
|
||
src\components\SystemSetting\BasicSettings.tsx:269 | <span style={{ fontSize: fontSmall }}>AI寤鸿鑷姩鐢熸垚</span>
|
||
src\components\SystemSetting\BasicSettings.tsx:273 | <span style={{ fontSize: fontSmall }}>绉诲姩绔悓姝?/span>
|
||
src\components\SystemSetting\BasicSettings.tsx:280 | <Button type="primary" size="small" onClick={handleSave} style={{ width: 100, borderRadius: 6 }}>淇濆瓨璁剧疆</Button>
|
||
src\components\SystemSetting\BasicSettings.tsx:281 | <Button size="small" style={{ marginLeft: 8, borderRadius: 6 }}>鎭㈠榛樿</Button>
|
||
src\components\SystemSetting\BasicSettings.tsx:288 | title={<Space><BellOutlined style={{ color: '#1677ff' }} /><b>閫氱煡涓庡憡璀︾瓥鐣?/b></Space>}
|
||
src\components\SystemSetting\BasicSettings.tsx:295 | { label: '鐭俊', icon: <Smartphone size={16} />, color: '#52c41a', status: '宸插惎鐢? },
|
||
src\components\SystemSetting\BasicSettings.tsx:296 | { label: '閭欢', icon: <Mail size={16} />, color: '#1677ff', status: '宸插惎鐢? },
|
||
src\components\SystemSetting\BasicSettings.tsx:297 | { label: 'Telegram', icon: <Send size={16} />, color: '#13c2c2', status: '宸插惎鐢? },
|
||
src\components\SystemSetting\BasicSettings.tsx:298 | { label: '绯荤粺閫氱煡', icon: <BellOutlined style={{ fontSize: 16 }} />, color: '#fa8c16', status: '宸插惎鐢? },
|
||
src\components\SystemSetting\BasicSettings.tsx:315 | <Col xs={24} sm={12} md={8}><Space size={8}><span style={{ fontSize: fontSmall }}>涓ラ噸鍛婅绔嬪嵆閫氱煡</span><Switch size="small" defaultChecked /></Space></Col>
|
||
src\components\SystemSetting\BasicSettings.tsx:316 | <Col xs={24} sm={12} md={8}><Space size={8}><span style={{ fontSize: fontSmall }}>鍙戠數涓嬮檷瓒呰繃 15%</span><Switch size="small" defaultChecked /></Space></Col>
|
||
src\components\SystemSetting\BasicSettings.tsx:317 | <Col xs={24} sm={12} md={8}><Space size={8}><span style={{ fontSize: fontSmall }}>閫氫俊涓柇閫氱煡</span><Switch size="small" defaultChecked /></Space></Col>
|
||
src\components\SystemSetting\BasicSettings.tsx:318 | <Col xs={24} sm={12} md={8}><Space size={8}><span style={{ fontSize: fontSmall }}>姣忔棩姹囨€绘帹閫?/span><Switch size="small" defaultChecked /></Space></Col>
|
||
src\components\SystemSetting\BasicSettings.tsx:321 | <span style={{ fontSize: fontSmall }}>澶滈棿鍏嶆墦鎵?/span>
|
||
src\components\SystemSetting\BasicSettings.tsx:331 | title={<Space><Users size={16} style={{ color: '#1677ff' }} /><b>鐢ㄦ埛涓庢潈闄愰瑙?/b></Space>}
|
||
src\components\SystemSetting\BasicSettings.tsx:343 | pagination={{ size: 'small', total: 4, pageSize: 4, showTotal: (total) => `鍏?${total} 鏉 }}
|
||
src\components\SystemSetting\BasicSettings.tsx:345 | { title: '鐢ㄦ埛鍚?, dataIndex: 'name', key: 'name', fixed: 'left', width: 80 },
|
||
src\components\SystemSetting\BasicSettings.tsx:353 | '瓒呯骇绠$悊鍛?: { color: '#1677ff', bg: '#e6f4ff' },
|
||
src\components\SystemSetting\BasicSettings.tsx:354 | '杩愮淮宸ョ▼甯?: { color: '#52c41a', bg: '#f6ffed' },
|
||
src\components\SystemSetting\BasicSettings.tsx:355 | '宸℃涓荤': { color: '#fa8c16', bg: '#fff7e6' },
|
||
src\components\SystemSetting\BasicSettings.tsx:356 | '鏁版嵁鍒嗘瀽甯?: { color: '#722ed1', bg: '#f9f0ff' },
|
||
src\components\SystemSetting\BasicSettings.tsx:383 | 鏌ョ湅
|
||
src\components\SystemSetting\BasicSettings.tsx:388 | { name: '寮犺繍缁?, role: '瓒呯骇绠$悊鍛?, phone: '138****0001', email: 'zhangyw@pvsmart.com', status: t('devices.online') },
|
||
src\components\SystemSetting\BasicSettings.tsx:389 | { name: '鏉庡伐绋嬪笀', role: '杩愮淮宸ョ▼甯?, phone: '139****0002', email: 'li.gongcheng@pvsmart.com', status: t('devices.online') },
|
||
src\components\SystemSetting\BasicSettings.tsx:390 | { name: '鐜嬬彮闀?, role: '宸℃涓荤', phone: '137****0003', email: 'wang.banzhang@pvsmart.com', status: t('devices.online') },
|
||
src\components\SystemSetting\BasicSettings.tsx:391 | { name: '璧靛垎鏋愬笀', role: '鏁版嵁鍒嗘瀽甯?, phone: '136****0004', email: 'zhao.fx@pvsmart.com', status: t('devices.online') },
|
||
src\components\SystemSetting\BasicSettings.tsx:401 | title={<Space><Users size={16} style={{ color: '#1677ff' }} /><b>瑙掕壊鏉冮檺姒傝</b></Space>}
|
||
src\components\SystemSetting\BasicSettings.tsx:416 | 鐢ㄦ埛 {role.users} | 鏉冮檺 {role.perms}
|
||
src\components\SystemSetting\BasicSettings.tsx:431 | title={<Space><ApiOutlined style={{ color: '#1677ff' }} /><b>璁惧鎺ュ叆鐘舵€?/b></Space>}
|
||
src\components\SystemSetting\BasicSettings.tsx:432 | extra={<Button type="link" size="small" style={{ fontSize: 11, padding: 0 }}>璇︽儏 <RightOutlined style={{ fontSize: 9 }} /></Button>}
|
||
src\components\SystemSetting\BasicSettings.tsx:471 | { x: 160, y: 80, icon: <Wind size={10} />, label: '姘旇薄绔? },
|
||
src\components\SystemSetting\BasicSettings.tsx:474 | { x: 40, y: 80, icon: <Zap size={10} />, label: '鎺ュ彛' },
|
||
src\components\SystemSetting\BasicSettings.tsx:498 | { label: '鏁版嵁淇濈暀', value: '3 骞?, icon: <DatabaseOutlined style={{ color: '#1677ff' }} /> },
|
||
src\components\SystemSetting\BasicSettings.tsx:499 | { label: '鐧诲綍瀹¤', value: '宸插紑鍚?, icon: <CheckCircleOutlined style={{ color: '#52c41a' }} />, color: '#52c41a' },
|
||
src\components\SystemSetting\BasicSettings.tsx:500 | { label: '鑷姩澶囦唤', value: '02:00', icon: <RefreshCw size={12} color="#1677ff" /> },
|
||
src\components\SystemSetting\BasicSettings.tsx:501 | { label: 'API 瀵嗛挜', value: t('roles.normal'), icon: <Key size={12} color="#52c41a" />, color: '#52c41a' },
|
||
src\components\SystemSetting\BasicSettings.tsx:502 | { label: '鏈€杩戝浠?, value: '2025-05-24 02:00', icon: <CalendarOutlined style={{ color: '#1677ff' }} /> },
|
||
src\components\SystemSetting\BasicSettings.tsx:503 | { label: 'SSL 璇佷功', value: '鏈夋晥鏈熻嚦 2026-12-31', icon: <SafetyCertificateOutlined style={{ color: '#fa8c16' }} /> },
|
||
src\components\SystemSetting\BasicSettings.tsx:504 | { label: '鍙屽洜绱犺璇?, value: '宸插紑鍚?, icon: <Lock size={12} color="#52c41a" />, color: '#52c41a' },
|
||
src\components\SystemSetting\BasicSettings.tsx:522 | extra={<Button type="link" size="small" danger style={{ fontSize: 10, padding: 0 }}>绠$悊鏉冮檺</Button>}
|
||
src\components\SystemSetting\BasicSettings.tsx:529 | { label: '娓呯悊缂撳瓨', icon: <DeleteOutlined />, color: '#1677ff' },
|
||
src\components\SystemSetting\BasicSettings.tsx:530 | { label: '閲嶅惎鏈嶅姟', icon: <RefreshCw size={16} />, color: '#1677ff' },
|
||
src\components\SystemSetting\BasicSettings.tsx:531 | { label: '澶囦唤涓嬭浇', icon: <DownloadOutlined />, color: '#1677ff' },
|
||
src\components\SystemSetting\BasicSettings.tsx:532 | { label: '鏃ュ織瀵煎嚭', icon: <FileTextOutlined />, color: '#1677ff' },
|
||
src\components\SystemSetting\CameraManagement.tsx:35 | name: '涓滈棬鍏ュ彛鎽勫儚澶?,
|
||
src\components\SystemSetting\CameraManagement.tsx:39 | location: '鍥尯涓滈棬',
|
||
src\components\SystemSetting\CameraManagement.tsx:40 | type: '楂樻竻鐞冩満',
|
||
src\components\SystemSetting\CameraManagement.tsx:41 | manufacturer: '娴峰悍濞佽',
|
||
src\components\SystemSetting\CameraManagement.tsx:49 | name: '瑗块棬鍏ュ彛鎽勫儚澶?,
|
||
src\components\SystemSetting\CameraManagement.tsx:53 | location: '鍥尯瑗块棬',
|
||
src\components\SystemSetting\CameraManagement.tsx:54 | type: '楂樻竻鏋満',
|
||
src\components\SystemSetting\CameraManagement.tsx:55 | manufacturer: '澶у崕',
|
||
src\components\SystemSetting\CameraManagement.tsx:63 | name: '鍋滆溅鍦烘憚鍍忓ご',
|
||
src\components\SystemSetting\CameraManagement.tsx:67 | location: '鍦颁笅鍋滆溅鍦築1',
|
||
src\components\SystemSetting\CameraManagement.tsx:68 | type: '楂樻竻鐞冩満',
|
||
src\components\SystemSetting\CameraManagement.tsx:69 | manufacturer: '娴峰悍濞佽',
|
||
src\components\SystemSetting\CameraManagement.tsx:77 | name: '鍔炲叕妤煎ぇ鍫傛憚鍍忓ご',
|
||
src\components\SystemSetting\CameraManagement.tsx:81 | location: '鍔炲叕妤?灞傚ぇ鍫?,
|
||
src\components\SystemSetting\CameraManagement.tsx:82 | type: '鍗婄悆鎽勫儚鏈?,
|
||
src\components\SystemSetting\CameraManagement.tsx:83 | manufacturer: '瀹囪',
|
||
src\components\SystemSetting\CameraManagement.tsx:91 | name: '浠撳簱鐩戞帶鎽勫儚澶?,
|
||
src\components\SystemSetting\CameraManagement.tsx:95 | location: '鐗╂枡浠撳簱',
|
||
src\components\SystemSetting\CameraManagement.tsx:96 | type: '楂樻竻鏋満',
|
||
src\components\SystemSetting\CameraManagement.tsx:97 | manufacturer: '娴峰悍濞佽',
|
||
src\components\SystemSetting\CameraManagement.tsx:115 | { title: '璁惧缂栫爜', dataIndex: 'code', key: 'code', width: 120 },
|
||
src\components\SystemSetting\CameraManagement.tsx:118 | { title: '鎽勫儚澶寸被鍨?, dataIndex: 'type', key: 'type', width: 120 },
|
||
src\components\SystemSetting\CameraManagement.tsx:119 | { title: '鍝佺墝', dataIndex: 'manufacturer', key: 'manufacturer', width: 120 },
|
||
src\components\SystemSetting\CameraManagement.tsx:120 | { title: '鍒嗚鲸鐜?, dataIndex: 'resolution', key: 'resolution', width: 100 },
|
||
src\components\SystemSetting\CameraManagement.tsx:131 | title: '浜戝彴', dataIndex: 'ptz', key: 'ptz', width: 80,
|
||
src\components\SystemSetting\CameraManagement.tsx:132 | render: (ptz) => ptz ? <Tag color="blue">鏀寔</Tag> : <Tag color="default">涓嶆敮鎸?/Tag>
|
||
src\components\SystemSetting\CameraManagement.tsx:135 | title: '澶滆', dataIndex: 'nightVision', key: 'nightVision', width: 80,
|
||
src\components\SystemSetting\CameraManagement.tsx:136 | render: (nv) => nv ? <Tag color="green">鏀寔</Tag> : <Tag color="default">涓嶆敮鎸?/Tag>
|
||
src\components\SystemSetting\CameraManagement.tsx:164 | <Button type="link" icon={<VideoCameraOutlined />} onClick={() => handleView(record)}>棰勮</Button>
|
||
src\components\SystemSetting\CameraManagement.tsx:205 | title: `${record.name} - 瑙嗛棰勮`,
|
||
src\components\SystemSetting\CameraManagement.tsx:220 | <span>瑙嗛棰勮鍗犱綅 - {record.name}</span>
|
||
src\components\SystemSetting\CameraManagement.tsx:236 | title: '纭鍒犻櫎',
|
||
src\components\SystemSetting\CameraManagement.tsx:237 | content: `纭畾瑕佸垹闄ゆ憚鍍忓ご ${record.name} 鍚楋紵`,
|
||
src\components\SystemSetting\CameraManagement.tsx:264 | <div style={{ color: '#86909C', fontSize: 12 }}>鎽勫儚澶存€绘暟</div>
|
||
src\components\SystemSetting\CameraManagement.tsx:312 | <div style={{ color: '#86909C', fontSize: 12 }}>绂荤嚎/鏁呴殰</div>
|
||
src\components\SystemSetting\CameraManagement.tsx:338 | <Input placeholder="璇疯緭鍏ュ悕绉?缂栫爜/IP" style={{ width: 240 }} prefix={<SearchOutlined />} />
|
||
src\components\SystemSetting\CameraManagement.tsx:341 | <Select placeholder="鐘舵€佺瓫閫? style={{ width: 140 }} allowClear>
|
||
src\components\SystemSetting\CameraManagement.tsx:354 | <Button type="primary" icon={<PlusOutlined />} onClick={handleAdd}>鏂板鎽勫儚澶?/Button>
|
||
src\components\SystemSetting\CameraManagement.tsx:369 | showTotal: (total) => `鍏?${total} 鏉,
|
||
src\components\SystemSetting\CameraManagement.tsx:375 | title={currentCamera ? '缂栬緫鎽勫儚澶? : '鏂板鎽勫儚澶?}
|
||
src\components\SystemSetting\CameraManagement.tsx:387 | <Form.Item label="璁惧缂栫爜" name="code" rules={[{ required: true, message: '璇疯緭鍏ヨ澶囩紪鐮? }]}>
|
||
src\components\SystemSetting\CameraManagement.tsx:388 | <Input placeholder="璇疯緭鍏ヨ澶囩紪鐮? />
|
||
src\components\SystemSetting\CameraManagement.tsx:392 | <Form.Item label={t('devices.deviceName')} name="name" rules={[{ required: true, message: '璇疯緭鍏ヨ澶囧悕绉? }]}>
|
||
src\components\SystemSetting\CameraManagement.tsx:393 | <Input placeholder="璇疯緭鍏ヨ澶囧悕绉? />
|
||
src\components\SystemSetting\CameraManagement.tsx:397 | <Form.Item label={t('systemSetting.ipAddress')} name="ip" rules={[{ required: true, message: '璇疯緭鍏P鍦板潃' }]}>
|
||
src\components\SystemSetting\CameraManagement.tsx:398 | <Input placeholder="渚嬪: 192.168.1.100" />
|
||
src\components\SystemSetting\CameraManagement.tsx:402 | <Form.Item label="鎽勫儚澶寸被鍨? name="type" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\CameraManagement.tsx:403 | <Select placeholder="璇烽€夋嫨绫诲瀷">
|
||
src\components\SystemSetting\CameraManagement.tsx:404 | <Select.Option value="楂樻竻鐞冩満">楂樻竻鐞冩満</Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:405 | <Select.Option value="楂樻竻鏋満">楂樻竻鏋満</Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:406 | <Select.Option value="鍗婄悆鎽勫儚鏈?>鍗婄悆鎽勫儚鏈?/Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:407 | <Select.Option value="鍏ㄦ櫙鎽勫儚鏈?>鍏ㄦ櫙鎽勫儚鏈?/Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:412 | <Form.Item label="鍝佺墝" name="manufacturer">
|
||
src\components\SystemSetting\CameraManagement.tsx:413 | <Select placeholder="璇烽€夋嫨鍝佺墝">
|
||
src\components\SystemSetting\CameraManagement.tsx:414 | <Select.Option value="娴峰悍濞佽">娴峰悍濞佽</Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:415 | <Select.Option value="澶у崕">澶у崕</Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:416 | <Select.Option value="瀹囪">瀹囪</Select.Option>
|
||
src\components\SystemSetting\CameraManagement.tsx:422 | <Form.Item label="鍒嗚鲸鐜? name="resolution">
|
||
src\components\SystemSetting\CameraManagement.tsx:423 | <Select placeholder="璇烽€夋嫨鍒嗚鲸鐜?>
|
||
src\components\SystemSetting\CameraManagement.tsx:432 | <Form.Item label="瀹夎浣嶇疆" name="location">
|
||
src\components\SystemSetting\CameraManagement.tsx:433 | <Input placeholder="璇疯緭鍏ュ畨瑁呬綅缃? prefix={<EnvironmentOutlined />} />
|
||
src\components\SystemSetting\CameraManagement.tsx:437 | <Form.Item label="浜戝彴鎺у埗" name="ptz" valuePropName="checked">
|
||
src\components\SystemSetting\CameraManagement.tsx:442 | <Form.Item label="澶滆鍔熻兘" name="nightVision" valuePropName="checked">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:36 | const [deviceList, setDeviceList] = useState([]); // 馃憟 鏇挎崲杩欒
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:76 | { id: 2, code: 'record_status', name: '褰曞儚鐘舵€?, type: 'string', rw: 'r', isAlarm: false, unit: '', required: true, defaultValue: null },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:78 | events: [{ id: 1, code: 'alarm_perimeter', name: '鍛ㄧ晫鍏ヤ镜鍛婅' }],
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:84 | { id: 2, code: 'humi', name: '婀垮害', type: 'float', rw: 'r', isAlarm: true, unit: '%', required: true, defaultValue: null },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:86 | events: [{ id: 1, code: 'temp_over', name: '瓒呮俯鍛婅' }],
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:92 | { id: 2, code: 'voltage', name: '鐢靛帇', type: 'float', rw: 'r', isAlarm: true, unit: 'V', required: true, defaultValue: null },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:94 | events: [{ id: 1, code: 'low_power', name: '浣庣數閲忓憡璀? }],
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:162 | fetchModelPageList(); // 銆愪紭鍖栥€戝垹闄ゅ悗鍒锋柊
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:164 | messageApi.error('鍒犻櫎澶辫触锛? + res.msg);
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:173 | fetchProductPageList(); // 銆愪紭鍖栥€戝垹闄ゅ悗鍒锋柊
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:175 | messageApi.error('鍒犻櫎澶辫触锛? + res.msg);
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:226 | actionConfig = record.thingsModels[modelId].actions || {}; // 馃憟 琛屼负閰嶇疆鍥炴樉
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:284 | id: editData?.id, // 缂栬緫鎵嶆湁
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:285 | deviceName: values.name, // 璁惧鍚嶇О
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:288 | modelId: values.modelId || 10, // 榛樿缁欎竴涓?src\components\SystemSetting\DeviceAccessPage.tsx:294 | remark: values.remark || '闃靛垪鍖虹洃鎺ц澶?,
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:301 | res = await updateIotDevice(submitData); // 缂栬緫
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:303 | res = await addIotDevice(submitData); // 鏂板
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:307 | messageApi.success(editData ? '缂栬緫璁惧鎴愬姛' : '鏂板璁惧鎴愬姛');
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:310 | messageApi.error(res.msg || '鎿嶄綔澶辫触');
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:358 | messageApi.success(editData ? '浜у搧缂栬緫鎴愬姛' : '浜у搧鏂板鎴愬姛');
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:446 | { title: t('devices.deviceName'), dataIndex: 'deviceName' }, // 馃憟 鏀规垚 deviceName
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:448 | { title: '浜у搧ID', dataIndex: 'productId' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:449 | { title: '妯″瀷ID', dataIndex: 'modelId' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:451 | { title: '绔彛', dataIndex: 'port' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:452 | { title: '璐﹀彿', dataIndex: 'username' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:464 | 缂栬緫
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:471 | { title: '妯″瀷鍚嶇О', dataIndex: 'name' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:472 | { title: '杩炴帴鍗忚', dataIndex: 'connectType' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:474 | title: '灞炴€у垪琛?, width: 300, render: (record) => {
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:476 | if (list.length === 0) return <span style={{ color: '#999' }}>鏃犲睘鎬?/span>;
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:481 | title: '鎸囦护鍒楄〃', width: 300, render: (record) => {
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:483 | if (list.length === 0) return <span style={{ color: '#999' }}>鏃犳寚浠?/span>;
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:491 | <Popconfirm title="纭畾瑕佸垹闄よ鐗╂ā鍨嬪悧锛? onConfirm={() => handleDeleteModel(r.id)} okText={t('common.ok')} cancelText={t('common.cancel')}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:507 | <TabPane tab={<span><ProductOutlined />浜у搧绠$悊</span>} key="product" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:508 | <TabPane tab={<span><AppstoreOutlined />鐗╂ā鍨嬬鐞?/span>} key="model" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:512 | {activeTab === 'device' && <Card><Space className="mb-3"><Button type="primary" icon={<PlusOutlined />} onClick={() => openModal('device')}>鏂板璁惧</Button></Space>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:529 | <Form.Item name="code" label="浜у搧缂栫爜">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:530 | <Input placeholder="璇疯緭鍏ョ紪鐮? allowClear />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:532 | <Form.Item name="name" label="浜у搧鍚嶇О">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:533 | <Input placeholder="璇疯緭鍏ュ悕绉? allowClear />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:535 | <Form.Item name="manufacturer" label="鐢熶骇鍘傚">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:536 | <Input placeholder="璇疯緭鍏ュ巶瀹? allowClear />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:539 | <Form.Item name="protocolCode" label="鍗忚缂栫爜">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:540 | <Select placeholder="璇烽€夋嫨鍗忚" allowClear style={{ width: 140 }}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:546 | <Form.Item name="transport" label="浼犺緭鏂瑰紡">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:547 | <Select placeholder="浼犺緭鏂瑰紡" allowClear style={{ width: 120 }}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:555 | <Option value={0}>绂佺敤</Option>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:564 | 鏂板浜у搧
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:572 | { title: '浜у搧缂栫爜', dataIndex: 'code', width: 120 },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:573 | { title: '浜у搧鍚嶇О', dataIndex: 'name', width: 160 },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:574 | { title: '鐢熶骇鍘傚', dataIndex: 'manufacturer', width: 130 },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:575 | { title: '鍗忚', dataIndex: 'protocolCode', width: 100 },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:576 | { title: '浼犺緭鏂瑰紡', dataIndex: 'transport', width: 100 },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:577 | { title: '涓婃姤Topic', dataIndex: 'uploadTopic', ellipsis: true },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:578 | { title: '璁㈤槄Topic', dataIndex: 'subscribeTopic', ellipsis: true },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:583 | render: (s) => <Tag color={s === 1 ? 'green' : 'red'}>{s === 1 ? t('common.enable') : '绂佺敤'}</Tag>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:589 | <Button type="text" icon={<SwapOutlined />} onClick={() => openMappingModal()}>瀛楁鏄犲皠</Button>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:591 | title="纭畾瑕佸垹闄よ浜у搧鍚楋紵"
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:608 | showTotal: (total) => `鍏?${total} 鏉
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:621 | <Form.Item name="name" label="妯″瀷鍚嶇О">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:624 | <Form.Item name="connectType" label="杩炴帴鍗忚">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:625 | <Select placeholder="鍗忚" allowClear style={{ width: 160 }}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:636 | <Button type="primary" icon={<PlusOutlined />} onClick={() => openModal('model')}>鏂板鐗╂ā鍨?/Button>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:646 | title={modalType === 'device' ? '璁惧閰嶇疆' : modalType === 'product' ? '浜у搧閰嶇疆' : '鐗╂ā鍨嬮厤缃?}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:653 | rules={[{ required: true, message: '璇疯緭鍏ヨ澶囧悕绉? }]}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:655 | <Input placeholder="璇疯緭鍏ヨ澶囧悕绉? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:659 | label="璁惧SN"
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:661 | rules={[{ required: true, message: '璇疯緭鍏ヨ澶嘢N' }]}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:663 | <Input placeholder="璇疯緭鍏ヨ澶嘢N" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:667 | label="鍏宠仈浜у搧"
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:669 | rules={[{ required: true, message: '璇烽€夋嫨鍏宠仈浜у搧' }]}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:672 | placeholder="璇烽€夋嫨鍏宠仈浜у搧"
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:711 | <Form.Item label="IP 鍦板潃" name="ip">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:712 | <Input placeholder="渚嬪锛?92.168.1.65" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:714 | <Form.Item label="绔彛" name="port">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:715 | <InputNumber className="w-full" placeholder="榛樿 80" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:717 | <Form.Item label="鐧诲綍璐﹀彿" name="username">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:718 | <Input placeholder="璁惧鐧诲綍璐﹀彿" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:720 | <Form.Item label="鐧诲綍瀵嗙爜" name="password">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:721 | <Input.Password placeholder="璁惧鐧诲綍瀵嗙爜" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:728 | <Form.Item label="RTSP 鍦板潃" name="rtspUrl">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:736 | <Form.Item label="MQTT 鏈嶅姟鍦板潃" name="mqttServer">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:739 | <Form.Item label="MQTT 绔彛" name="mqttPort">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:743 | <Input placeholder="瀹㈡埛绔敮涓€鏍囪瘑" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:745 | <Form.Item label="MQTT 鐢ㄦ埛鍚? name="mqttUsername">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:746 | <Input placeholder="MQTT 璐﹀彿锛堥€夊~锛? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:748 | <Form.Item label="MQTT 瀵嗙爜" name="mqttPassword">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:749 | <Input.Password placeholder="MQTT 瀵嗙爜锛堥€夊~锛? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:755 | <Divider>鍛婅闃堝€奸厤缃?/Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:761 | label={`${item.name} 涓婇檺`}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:765 | <InputNumber className="w-full" placeholder="涓婇檺鍊? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:768 | label={`${item.name} 涓嬮檺`}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:772 | <InputNumber className="w-full" placeholder="涓嬮檺鍊? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:777 | <Empty description="褰撳墠鐗╂ā鍨嬫湭璁剧疆鍛婅灞炴€э紝鏃犳硶閰嶇疆闃堝€? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:785 | <Form.Item label="浜у搧缂栧彿" name="code" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:788 | <Form.Item label="浜у搧鍚嶇О" name="name" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:789 | <Input placeholder="鏅鸿兘缃戝叧" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:791 | <Form.Item label="鍘傚晢" name="manufacturer">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:792 | <Input placeholder="杩堟绉戞妧" />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:798 | <Form.Item label="浼犺緭绫诲瀷" name="transport">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:799 | <Select placeholder="浼犺緭鏂瑰紡">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:808 | <Option value={0}>绂佺敤</Option>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:813 | <Divider>缁戝畾鐗╂ā鍨?/Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:814 | <Form.Item label="缁戝畾鐗╂ā鍨? name="modelId">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:816 | placeholder="璇烽€夋嫨瑕佺粦瀹氱殑鐗╂ā鍨?
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:869 | <Divider>鍗忚鑷姩閰嶇疆椤?/Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:871 | <Form.Item label="涓婃姤Topic" name="uploadTopic">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:874 | <Form.Item label="璁㈤槄Topic" name="subscribeTopic">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:882 | <Divider>鐗╂ā鍨嬪睘鎬ч厤缃?/Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:890 | <Form.Item label="鏈€灏忓€? name={['limitConfig', item.propertyKey, 'min']} style={{ flex: 1 }}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:891 | <InputNumber style={{ width: '100%' }} placeholder="鏈€灏忓€? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:893 | <Form.Item label="鏈€澶у€? name={['limitConfig', item.propertyKey, 'max']} style={{ flex: 1 }}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:894 | <InputNumber style={{ width: '100%' }} placeholder="鏈€澶у€? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:901 | 璇烽€夋嫨鐗╂ā鍨嬩互鏄剧ず灞炴€?src\components\SystemSetting\DeviceAccessPage.tsx:907 | <Divider>鐗╂ā鍨嬭涓猴紙鎸囦护锛夐厤缃?/Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:918 | label={`${paramKey} 榛樿鍊糮}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:922 | <Input style={{ width: '100%' }} placeholder="榛樿鍊? />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:945 | 璇ョ墿妯″瀷鏆傛棤鎸囦护
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:957 | <Form.Item label="妯″瀷鍚嶇О" name="name" rules={[{ required: true }]}><Input /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:960 | <Form.Item label="杩炴帴鍗忚" name="connectType" initialValue="MQTT">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:970 | <Divider>灞炴€?/Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:973 | { title: '缂栫爜', dataIndex: 'code' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:976 | { title: '鍗曚綅', dataIndex: 'unit' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:977 | { title: '榛樿鍊?, dataIndex: 'defaultValue' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:989 | <Divider>鎸囦护</Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:996 | { title: '鎸囦护缂栫爜', dataIndex: 'actionId' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:997 | { title: '鎸囦护鍚嶇О', dataIndex: 'actionName' },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:998 | { title: '鍙傛暟', render: r => Object.keys(r.params || []).join(',') || '鏃? },
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1034 | <Modal open={itemModal} width={580} zIndex={1001} destroyOnClose onCancel={() => setItemModal(false)} onOk={saveItem} title="閰嶇疆灞炴€?>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1037 | <Form.Item label="灞炴€х紪鐮? name="code" rules={[{ required: true }]}><Input placeholder="濡?temp" /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1038 | <Form.Item label="灞炴€у悕绉? name="name" rules={[{ required: true }]}><Input placeholder="濡?娓╁害" /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1046 | <Form.Item label="鍗曚綅" name="unit"><Input placeholder="鈩冦€?銆乂" /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1047 | <Form.Item label="榛樿鍊? name="defaultValue"><Input /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1048 | <Form.Item label="鍛婅鍙傛暟" name="isAlarm" valuePropName="checked"><Switch /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1053 | <Modal title="閰嶇疆鎸囦护" open={actionModal} zIndex={1002} onCancel={() => setActionModal(false)}
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1069 | <Input placeholder="鎸囦护缂栫爜" value={currentAction?.actionId} onChange={e => setCurrentAction({ ...currentAction, actionId: e.target.value })} style={{ flex: 1 }} />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1070 | <Input placeholder="鎸囦护鍚嶇О" value={currentAction?.actionName} onChange={e => setCurrentAction({ ...currentAction, actionName: e.target.value })} style={{ flex: 1 }} />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1072 | <Divider>鎸囦护鍙傛暟</Divider>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1074 | <Input placeholder="鍙傛暟鍚? value={paramList[0]?.paramKey || ''} onChange={e => setParamList([{ ...paramList[0], paramKey: e.target.value }])} />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1081 | <Input placeholder="榛樿鍊? value={paramList[0]?.defaultValue || ''} onChange={e => setParamList([{ ...paramList[0], defaultValue: e.target.value }])} />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1082 | <Input placeholder="鏋氫妇(,鍒嗛殧)" value={(paramList[0]?.enum || []).join(',')} onChange={e => setParamList([{ ...paramList[0], enum: e.target.value.split(',').map(s => s.trim()) }])} />
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1087 | <Modal open={mappingModal} width={600} zIndex={1002} destroyOnClose onCancel={() => setMappingModal(false)} onOk={saveMapping} title="瀛楁鏄犲皠">
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1090 | <Form.Item label="鏍囧噯瀛楁" name="standardCode" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1093 | <Form.Item label="鍘傚晢鍘熷瀛楁" name="sourceField" rules={[{ required: true }]}><Input /></Form.Item>
|
||
src\components\SystemSetting\DeviceAccessPage.tsx:1094 | <Form.Item label="杞崲瑙勫垯" name="convertRule"><Input /></Form.Item>
|
||
src\components\SystemSetting\DeviceManagement.tsx:92 | { key: 'drone', label: '鏃犱汉鏈虹鐞? },
|
||
src\components\SystemSetting\DeviceManagement.tsx:93 | { key: 'smart', label: '鏅鸿兘瑁呭' },
|
||
src\components\SystemSetting\DeviceManagement.tsx:94 | { key: 'camera', label: '鎽勫儚澶寸鐞? },
|
||
src\components\SystemSetting\DeviceManagement.tsx:95 | { key: 'serialGenerate', label: '鏈哄櫒浜虹敓鎴? },
|
||
src\components\SystemSetting\DroneManagement.tsx:91 | utils.message.error('鑾峰彇鏃犱汉鏈哄垪琛ㄥけ璐?);
|
||
src\components\SystemSetting\DroneManagement.tsx:146 | return utils.message.warning('璇峰厛鍦ㄥ垪琛ㄤ腑閫変腑闇€瑕佺粦瀹氱殑鏃犱汉鏈?);
|
||
src\components\SystemSetting\DroneManagement.tsx:213 | utils.message.success('缁戝畾鎴愬姛');
|
||
src\components\SystemSetting\DroneManagement.tsx:220 | utils.message.error(res.msg || '缁戝畾澶辫触');
|
||
src\components\SystemSetting\DroneManagement.tsx:223 | utils.message.error('鎿嶄綔寮傚父');
|
||
src\components\SystemSetting\DroneManagement.tsx:232 | return utils.message.warning('鏈€夋嫨鏈夋晥璁惧锛屾棤娉曡В缁?);
|
||
src\components\SystemSetting\DroneManagement.tsx:234 | const typeText = { 1: '浜哄憳', 2: '鍦虹珯', 3: '缁勭粐' }[type];
|
||
src\components\SystemSetting\DroneManagement.tsx:236 | title: '纭瑙g粦',
|
||
src\components\SystemSetting\DroneManagement.tsx:237 | content: `纭畾瑕佷负閫変腑鐨勬棤浜烘満娓呴櫎${typeText}缁戝畾鍚楋紵`,
|
||
src\components\SystemSetting\DroneManagement.tsx:244 | utils.message.success('瑙g粦鎴愬姛');
|
||
src\components\SystemSetting\DroneManagement.tsx:249 | utils.message.error(res.msg || '瑙g粦澶辫触');
|
||
src\components\SystemSetting\DroneManagement.tsx:252 | utils.message.error('鎿嶄綔寮傚父');
|
||
src\components\SystemSetting\DroneManagement.tsx:261 | { title: '鏈哄満SN', width: 150, dataIndex: 'gateway_sn', key: 'gsn' },
|
||
src\components\SystemSetting\DroneManagement.tsx:263 | title: '鎵€灞炵粍缁?, width: 150, key: 'orgName',
|
||
src\components\SystemSetting\DroneManagement.tsx:266 | return org ? (org.orgName || org.name) : <Text type="secondary">鏈粦瀹?/Text>;
|
||
src\components\SystemSetting\DroneManagement.tsx:270 | title: '鎵€灞炲満绔?, width: 150, key: 'siteName',
|
||
src\components\SystemSetting\DroneManagement.tsx:273 | return site ? (site.siteName || site.name) : <Text type="secondary">鏈粦瀹?/Text>;
|
||
src\components\SystemSetting\DroneManagement.tsx:280 | return user ? (user.nickName || user.userName) : <Text type="secondary">鏈粦瀹?/Text>;
|
||
src\components\SystemSetting\DroneManagement.tsx:291 | <Tooltip title="浜哄憳瑙g粦">
|
||
src\components\SystemSetting\DroneManagement.tsx:292 | <Button size="small" icon={<DisconnectOutlined />} onClick={() => handleUnbind([record.gateway_sn], 1)}>鐢ㄦ埛</Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:294 | <Tooltip title="鍦虹珯瑙g粦">
|
||
src\components\SystemSetting\DroneManagement.tsx:295 | <Button size="small" icon={<DisconnectOutlined />} onClick={() => handleUnbind([record.gateway_sn], 2)}>鍦虹珯</Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:297 | <Tooltip title="缁勭粐瑙g粦">
|
||
src\components\SystemSetting\DroneManagement.tsx:298 | <Button size="small" icon={<DisconnectOutlined />} onClick={() => handleUnbind([record.gateway_sn], 3)}>缁勭粐</Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:324 | placeholder="鏈哄満SN"
|
||
src\components\SystemSetting\DroneManagement.tsx:341 | <Button type="primary" icon={<LinkOutlined />} onClick={openBindModal}>缁戝畾鏃犱汉鏈?/Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:342 | <Button disabled={selectedDroneKeys.length === 0} onClick={() => handleUnbind(selectedDroneKeys, 1)}>鎵归噺瑙g粦(鐢ㄦ埛)</Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:343 | <Button disabled={selectedDroneKeys.length === 0} onClick={() => handleUnbind(selectedDroneKeys, 2)}>鎵归噺瑙g粦(鍦虹珯)</Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:344 | <Button disabled={selectedDroneKeys.length === 0} onClick={() => handleUnbind(selectedDroneKeys, 3)}>鎵归噺瑙g粦(缁?</Button>
|
||
src\components\SystemSetting\DroneManagement.tsx:359 | showTotal: t => `鍏?${t} 鏉,
|
||
src\components\SystemSetting\DroneManagement.tsx:372 | <span style={{ fontWeight: 600 }}>缁戝畾鏃犱汉鏈?/span>
|
||
src\components\SystemSetting\DroneManagement.tsx:388 | <Form.Item label={<>宸查€夋棤浜烘満锛坽selectedDroneKeys.length}鍙帮級SN</>} name="sns" rules={[{ required: true, message: '璇疯緭鍏?SN' }]}>
|
||
src\components\SystemSetting\DroneManagement.tsx:389 | <Input.TextArea placeholder="渚嬪: SN001, SN002" rows={2} disabled style={{ resize: 'none', background: '#fafafa' }} />
|
||
src\components\SystemSetting\DroneManagement.tsx:394 | <span>鎵€灞炵粍缁?/span>
|
||
src\components\SystemSetting\DroneManagement.tsx:397 | name="orgId" rules={[{ required: true, message: '璇烽€夋嫨缁勭粐' }]}
|
||
src\components\SystemSetting\DroneManagement.tsx:400 | placeholder="璇烽€夋嫨缁勭粐"
|
||
src\components\SystemSetting\DroneManagement.tsx:418 | <span>鎵€灞炲満绔?/span>
|
||
src\components\SystemSetting\DroneManagement.tsx:421 | name="siteId" rules={[{ required: !siteFieldDisabled, message: '璇烽€夋嫨鍦虹珯' }]}
|
||
src\components\SystemSetting\DroneManagement.tsx:424 | placeholder="璇峰厛閫夋嫨缁勭粐"
|
||
src\components\SystemSetting\DroneManagement.tsx:439 | <Form.Item label={t('systemSetting.leader')} name="userId" rules={[{ required: true, message: '璇烽€夋嫨璐熻矗浜? }]}>
|
||
src\components\SystemSetting\DroneManagement.tsx:441 | placeholder="璇峰厛閫夋嫨鍦虹珯鍚庨€夋嫨璐熻矗浜?
|
||
src\components\SystemSetting\FlvPlayer.tsx:45 | setError('褰撳墠娴忚鍣ㄤ笉鏀寔 FLV MSE鎾斁锛岃涓嬭浇鏂囦欢鏌ョ湅');
|
||
src\components\SystemSetting\FlvPlayer.tsx:58 | stashInitialSize: 4 * 1024 * 1024, // 4MB 閫傞厤4K
|
||
src\components\SystemSetting\FlvPlayer.tsx:59 | lazyLoad: true, // 鉁呭叧閿細澶ф枃浠剁偣鎾笉鑳絝alse锛屽惁鍒欎竴娆℃€у叏閮ㄤ笅杞界珛鍒诲叧闂璏SE
|
||
src\components\SystemSetting\FlvPlayer.tsx:81 | setError('瑙嗛缂栫爜涓嶅彈娴忚鍣∕SE鏀寔锛岃涓嬭浇鏂囦欢鏈湴鎾斁');
|
||
src\components\SystemSetting\FlvPlayer.tsx:85 | setError('濯掍綋婧愪笉鏀寔');
|
||
src\components\SystemSetting\FlvPlayer.tsx:109 | let msg = 'FLV鎾斁寮傚父锛屽缓璁笅杞芥枃浠舵湰鍦版挱鏀?;
|
||
src\components\SystemSetting\FlvPlayer.tsx:111 | msg = '缃戠粶閿欒锛岃妫€鏌ヨ棰戝湴鍧€';
|
||
src\components\SystemSetting\FlvPlayer.tsx:113 | msg = '濯掍綋瑙g爜閿欒锛岃FLV鏂囦欢鍙兘涓嶅吋瀹规祻瑙堝櫒MSE';
|
||
src\components\SystemSetting\FlvPlayer.tsx:123 | setError('鍔犺浇瓒呮椂锛屾祻瑙堝櫒MSE瑙f瀽澶辫触锛岃涓嬭浇鏂囦欢鏈湴鎾斁');
|
||
src\components\SystemSetting\FlvPlayer.tsx:133 | setError('鎾斁鍣ㄥ垵濮嬪寲澶辫触锛岃閲嶈瘯');
|
||
src\components\SystemSetting\FlvPlayer.tsx:147 | setError('瑙嗛鍔犺浇澶辫触锛岃妫€鏌ュ湴鍧€鎴栦笅杞?);
|
||
src\components\SystemSetting\FlvPlayer.tsx:189 | <Alert message="鎾斁澶辫触" description={error} type="error" showIcon style={{ marginBottom: 16 }} />
|
||
src\components\SystemSetting\FlvPlayer.tsx:191 | <Button icon={<ReloadOutlined />} onClick={handleRetry}>閲嶈瘯</Button>
|
||
src\components\SystemSetting\FlvPlayer.tsx:193 | 涓嬭浇瑙嗛
|
||
src\components\SystemSetting\FlvPlayer.tsx:209 | 鐐瑰嚮鎵嬪姩鎾斁瑙嗛
|
||
src\components\SystemSetting\FlvPlayer.tsx:225 | {isFlv(fileName) && <span>馃挕 FLV 浣跨敤 flv.js(MSE)瑙g爜锛岄儴鍒嗙壒娈婄紪鐮丗LV娴忚鍣ㄦ棤娉曟覆鏌擄紝寤鸿涓嬭浇鏈湴鎾斁</span>}
|
||
src\components\SystemSetting\FlvPlayer.tsx:226 | {!isFlv(fileName) && <span>馃挕 闈濬LV浣跨敤娴忚鍣ㄥ師鐢熸挱鏀?/span>}
|
||
src\components\SystemSetting\LogManagement.tsx:27 | { id: 1, time: '2026-08-10 13:02:11', level: 'info', source: '绯荤粺', operator: '绯荤粺', message: '鏈哄櫒浜烘櫤鎱ф湇鍔$郴缁?Alpha 涓夋湇鍔★紙鎺ュ叆/鐘舵€?鍛戒护锛夊惎鍔ㄥ畬鎴? },
|
||
src\components\SystemSetting\LogManagement.tsx:28 | { id: 2, time: '2026-08-10 12:58:40', level: 'action', source: '鍛戒护鏈嶅姟', operator: '寮犺繍缁?, message: '鍚?ROBOT-001 涓嬪彂绉诲姩鍛戒护锛坰eq=d6b5d545锛夛紝鎵ц缁撴灉锛氭垚鍔? },
|
||
src\components\SystemSetting\LogManagement.tsx:29 | { id: 3, time: '2026-08-10 12:51:22', level: 'action', source: t('router.users'), operator: '寮犺繍缁?, message: '鏂板杩愮淮宸ョ▼甯堣处鍙枫€屾潕宸ャ€嶏紝瑙掕壊锛氳繍缁村伐绋嬪笀' },
|
||
src\components\SystemSetting\LogManagement.tsx:30 | { id: 4, time: '2026-08-10 12:40:05', level: 'warning', source: t('systemSetting.deviceAccess'), operator: '绯荤粺', message: 'DRONE-001 蹇冭烦瓒呮椂锛?60s锛夛紝宸茶嚜鍔ㄧ疆涓虹绾? },
|
||
src\components\SystemSetting\LogManagement.tsx:31 | { id: 5, time: '2026-08-10 12:33:18', level: 'error', source: '鍛戒护鏈嶅姟', operator: '绯荤粺', message: 'ROBOT-002 鎵ц銆岃嚜涓诲贰妫€銆嶈秴鏃讹紝宸茶嚜鍔ㄩ噸璇?1 娆″悗浠嶅け璐? },
|
||
src\components\SystemSetting\LogManagement.tsx:32 | { id: 6, time: '2026-08-10 12:20:09', level: 'action', source: t('router.systemSetting'), operator: '寮犺繍缁?, message: '淇敼绯荤粺鍚嶇О涓庢暟鎹埛鏂伴鐜囷紙5min 鈫?1min锛? },
|
||
src\components\SystemSetting\LogManagement.tsx:33 | { id: 7, time: '2026-08-10 11:55:44', level: 'info', source: '鐘舵€佹湇鍔?, operator: '绯荤粺', message: '璁惧 ROBOT-001 涓婃姤鐘舵€侊細鐢甸噺 85%锛屾ā寮?patrol' },
|
||
src\components\SystemSetting\LogManagement.tsx:34 | { id: 8, time: '2026-08-10 11:30:02', level: 'warning', source: t('router.alerts'), operator: '绯荤粺', message: '閫嗗彉鍣?INV-03 杈撳嚭鍔熺巼杈冩槰鏃ヤ笅闄?16%锛岃Е鍙戦璀? },
|
||
src\components\SystemSetting\LogManagement.tsx:35 | { id: 9, time: '2026-08-10 10:48:37', level: 'action', source: t('router.videoManage'), operator: '鐜嬬彮闀?, message: '璋冩暣 CAM-04 鐑垚鍍忛€氶亾鐮佺巼鍙傛暟' },
|
||
src\components\SystemSetting\LogManagement.tsx:36 | { id: 10, time: '2026-08-10 10:12:15', level: 'info', source: '绯荤粺', operator: '绯荤粺', message: '姣忔棩鑷姩澶囦唤瀹屾垚锛屽浠芥枃浠讹細backup-20260810-0200.tar' },
|
||
src\components\SystemSetting\LogManagement.tsx:37 | { id: 11, time: '2026-08-10 09:40:50', level: 'error', source: t('systemSetting.deviceAccess'), operator: '绯荤粺', message: '鏈煡璁惧灏濊瘯娉ㄥ唽锛坰ecret 鏍¢獙澶辫触锛夛紝宸叉嫆缁濓紝鏉ユ簮 IP锛?0.0.12.45' },
|
||
src\components\SystemSetting\LogManagement.tsx:38 | { id: 12, time: '2026-08-10 09:05:23', level: 'action', source: t('router.roles'), operator: '寮犺繍缁?, message: '涓恒€屾暟鎹垎鏋愬笀銆嶈鑹叉巿鏉冦€屾姤琛ㄤ腑蹇?瀵煎嚭銆嶆潈闄? },
|
||
src\components\SystemSetting\LogManagement.tsx:63 | message.success('鏃ュ織宸插埛鏂?);
|
||
src\components\SystemSetting\LogManagement.tsx:74 | const header = '鏃堕棿,绾у埆,鏉ユ簮,鎿嶄綔浜?娑堟伅\n';
|
||
src\components\SystemSetting\LogManagement.tsx:80 | a.download = `绯荤粺鏃ュ織_${dayjs().format('YYYYMMDD_HHmmss')}.csv`;
|
||
src\components\SystemSetting\LogManagement.tsx:83 | message.success(`宸插鍑?${filtered.length} 鏉℃棩蹇梎);
|
||
src\components\SystemSetting\LogManagement.tsx:89 | title: '绾у埆', dataIndex: 'level', key: 'level', width: 80,
|
||
src\components\SystemSetting\LogManagement.tsx:97 | { title: '娑堟伅', dataIndex: 'message', key: 'message', ellipsis: true },
|
||
src\components\SystemSetting\LogManagement.tsx:104 | <Text type="secondary" style={{ fontSize: 12 }}>绯荤粺杩愯銆佽澶囨帶鍒朵笌绠$悊鍛樻搷浣滄祦姘达紝浠呰秴绾х鐞嗗憳鍙煡鐪?/Text>
|
||
src\components\SystemSetting\LogManagement.tsx:115 | { value: 'all', label: '鍏ㄩ儴绾у埆' },
|
||
src\components\SystemSetting\LogManagement.tsx:125 | size="small" allowClear placeholder="鎼滅储娑堟伅 / 鎿嶄綔浜?/ 鏉ユ簮"
|
||
src\components\SystemSetting\LogManagement.tsx:152 | pagination={{ size: 'small', pageSize: 10, showTotal: (t) => `鍏?${t} 鏉 }}
|
||
src\components\SystemSetting\MenuList.tsx:70 | messageApi.error('鑿滃崟鍔犺浇澶辫触');
|
||
src\components\SystemSetting\MenuList.tsx:171 | 鏂板瀛愯彍鍗?src\components\SystemSetting\MenuList.tsx:201 | }}>鏂板鑿滃崟</Button>
|
||
src\components\SystemSetting\MenuList.tsx:208 | pagination={false} // 鍏抽棴鍒嗛〉
|
||
src\components\SystemSetting\MenuList.tsx:217 | title={editMenu ? '缂栬緫鑿滃崟' : '鏂板鑿滃崟'}
|
||
src\components\SystemSetting\MenuList.tsx:226 | <Select placeholder="鏃狅紙涓€绾ц彍鍗曪級">
|
||
src\components\SystemSetting\MenuList.tsx:227 | <Option value={0}>鏃狅紙涓€绾ц彍鍗曪級</Option>
|
||
src\components\SystemSetting\MenuList.tsx:235 | <Input placeholder="璇疯緭鍏ヨ彍鍗曞悕绉? />
|
||
src\components\SystemSetting\MenuList.tsx:244 | <Form.Item label="鏄剧ず鎺掑簭" name="orderNum">
|
||
src\components\SystemSetting\MenuList.tsx:245 | <InputNumber min={0} style={{ width: '100%' }} placeholder="鏁板瓧瓒婂皬瓒婇潬鍓? />
|
||
src\components\SystemSetting\MenuList.tsx:252 | title="閫夋嫨鑿滃崟鍥炬爣"
|
||
src\components\SystemSetting\OnlineUser.tsx:18 | dept: '鐮斿彂閮ㄩ棬',
|
||
src\components\SystemSetting\OnlineUser.tsx:20 | location: '鍐呯綉IP',
|
||
src\components\SystemSetting\OnlineUser.tsx:29 | dept: '鐮斿彂閮ㄩ棬',
|
||
src\components\SystemSetting\OnlineUser.tsx:31 | location: '鍐呯綉IP',
|
||
src\components\SystemSetting\OnlineUser.tsx:40 | const [activeTab, setActiveTab] = useState('onlineUser'); // 榛樿閫変腑鍦ㄧ嚎鐢ㄦ埛
|
||
src\components\SystemSetting\OnlineUser.tsx:54 | message.success('鎼滅储瀹屾垚');
|
||
src\components\SystemSetting\OnlineUser.tsx:62 | message.info('宸查噸缃悳绱㈡潯浠?);
|
||
src\components\SystemSetting\OnlineUser.tsx:67 | message.info(`宸插悜浼氳瘽 ${record.sessionId} 鍙戦€佸己閫€鎸囦护`);
|
||
src\components\SystemSetting\OnlineUser.tsx:72 | { title: '搴忓彿', dataIndex: 'id', width: 60 },
|
||
src\components\SystemSetting\OnlineUser.tsx:73 | { title: '浼氳瘽缂栧彿', dataIndex: 'sessionId', ellipsis: true },
|
||
src\components\SystemSetting\OnlineUser.tsx:74 | { title: '鐧诲綍鍚嶇О', dataIndex: 'loginName' },
|
||
src\components\SystemSetting\OnlineUser.tsx:75 | { title: '鎵€灞為儴闂?, dataIndex: 'dept' },
|
||
src\components\SystemSetting\OnlineUser.tsx:76 | { title: '涓绘満', dataIndex: 'host' },
|
||
src\components\SystemSetting\OnlineUser.tsx:77 | { title: '鐧诲綍鍦扮偣', dataIndex: 'location' },
|
||
src\components\SystemSetting\OnlineUser.tsx:78 | { title: '鎿嶄綔绯荤粺', dataIndex: 'os' },
|
||
src\components\SystemSetting\OnlineUser.tsx:79 | { title: '娴忚鍣?, dataIndex: 'browser' },
|
||
src\components\SystemSetting\OnlineUser.tsx:80 | { title: '鐧诲綍鏃堕棿', dataIndex: 'loginTime' },
|
||
src\components\SystemSetting\OnlineUser.tsx:85 | 寮洪€€
|
||
src\components\SystemSetting\OnlineUser.tsx:94 | <Typography.Title level={4} style={{ margin: 0, fontSize: 'clamp(14px, 1.2vw, 18px)' }}>绯荤粺鐩戞帶</Typography.Title>
|
||
src\components\SystemSetting\OnlineUser.tsx:103 | <TabPane tab="鍏朵粬鐩戞帶" key="other" />
|
||
src\components\SystemSetting\OnlineUser.tsx:112 | <span>鐧诲綍鍦板潃</span>
|
||
src\components\SystemSetting\OnlineUser.tsx:114 | placeholder="璇疯緭鍏ョ櫥褰曞湴鍧€"
|
||
src\components\SystemSetting\OnlineUser.tsx:123 | placeholder="璇疯緭鍏ョ敤鎴峰悕绉?
|
||
src\components\SystemSetting\OnlineUser.tsx:130 | 鎼滅储
|
||
src\components\SystemSetting\OnlineUser.tsx:133 | 閲嶇疆
|
||
src\components\SystemSetting\OnlineUser.tsx:147 | showTotal: (total) => `鍏?${total} 鏉,
|
||
src\components\SystemSetting\OnlineUser.tsx:158 | <h2>鍏朵粬鐩戞帶鍐呭</h2>
|
||
src\components\SystemSetting\OnlineUser.tsx:159 | <p>杩欓噷鍙互鏀炬湇鍔$姸鎬併€丆PU鐩戞帶銆佸唴瀛樼洃鎺с€佹帴鍙g洃鎺х瓑鍐呭</p>
|
||
src\components\SystemSetting\Organization.tsx:144 | <Popconfirm title="纭畾鍒犻櫎璇ョ粍缁囷紵" onConfirm={() => handleDelete(r.id)}>
|
||
src\components\SystemSetting\Organization.tsx:162 | 鏂板缁勭粐
|
||
src\components\SystemSetting\Organization.tsx:176 | showTotal: (total) => `鍏?${total} 鏉
|
||
src\components\SystemSetting\Organization.tsx:185 | title={editRecord ? '缂栬緫缁勭粐' : '鏂板缁勭粐'}
|
||
src\components\SystemSetting\Organization.tsx:194 | <Input placeholder="璇疯緭鍏ョ粍缁囧悕绉? />
|
||
src\components\SystemSetting\Organization.tsx:198 | <Input placeholder="璇疯緭鍏ョ粍缁囩紪鐮? />
|
||
src\components\SystemSetting\Organization.tsx:201 | <Form.Item name="manager" label={t('systemSetting.leader')} rules={[{ required: true, message: '璇疯緭鍏ヨ礋璐d汉' }]}>
|
||
src\components\SystemSetting\Organization.tsx:202 | <Input placeholder="璇疯緭鍏ヨ礋璐d汉" />
|
||
src\components\SystemSetting\Organization.tsx:205 | <Form.Item name="phone" label={t('systemSetting.contact')} rules={[{ required: true, message: '璇疯緭鍏ヨ仈绯荤數璇? }]}>
|
||
src\components\SystemSetting\Organization.tsx:206 | <Input placeholder="璇疯緭鍏ヨ仈绯荤數璇? />
|
||
src\components\SystemSetting\Organization.tsx:210 | <Input placeholder="璇疯緭鍏ラ偖绠? />
|
||
src\components\SystemSetting\Organization.tsx:213 | <Form.Item name="address" label="鍦板潃">
|
||
src\components\SystemSetting\Organization.tsx:214 | <Input placeholder="璇疯緭鍏ュ湴鍧€" />
|
||
src\components\SystemSetting\Organization.tsx:218 | <Input.TextArea rows={3} placeholder="璇疯緭鍏ュ娉? />
|
||
src\components\SystemSetting\Organization.tsx:224 | <Option value={0}>绂佺敤</Option>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:150 | message.warning('璇烽€夋嫨瑕佸垹闄ょ殑鏁版嵁');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:155 | messageApi.success('鎵归噺鍒犻櫎鎴愬姛');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:158 | messageApi.error('鎵归噺鍒犻櫎澶辫触');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:235 | if (!qrUrl) return messageApi.warning('璇峰厛鐢熸垚');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:244 | if (!serialNumber) return messageApi.warning('璇峰厛鐢熸垚');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:271 | messageApi.error('淇濆瓨澶辫触锛? + res?.msg);
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:296 | messageApi.warning('鏈煡璇㈠埌鏁版嵁');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:299 | messageApi.error('鏌ヨ澶辫触');
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:329 | title: '搴忓彿',
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:334 | { title: '搴忓垪鍙?, width: 380, dataIndex: 'serialNumber', key: 'sn', ellipsis: true },
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:336 | title: '鍨嬪彿',
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:345 | title: '閰嶇疆',
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:363 | title: '鍥藉',
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:368 | title: '鐪佷唤',
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:373 | title: '浜岀淮鐮?,
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:391 | 鍒犻櫎
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:411 | title="鏈哄櫒浜轰簩缁寸爜绠$悊"
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:415 | <Button onClick={() => setManageVisible(true)}>鏁版嵁绠$悊</Button>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:416 | <Popconfirm title="纭畾鍒犻櫎閫変腑椤癸紵" onConfirm={handleBatchDelete}>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:425 | <Form.Item name="serialNumber" label="搴忓垪鍙?>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:426 | <Input placeholder="璇疯緭鍏ュ簭鍒楀彿" allowClear style={{ width: '100%', minWidth: 260, maxWidth: 420 }} />
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:453 | title="鐢熸垚鏈哄櫒浜轰簩缁寸爜"
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:469 | <Form.Item name="model" label="鍨嬪彿" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:470 | <Select placeholder="閫夋嫨鍨嬪彿" showSearch>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:474 | <Form.Item name="config" label="閰嶇疆" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:475 | <Select placeholder="閫夋嫨閰嶇疆" showSearch>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:480 | <Select placeholder="閫夋嫨绫诲瀷" showSearch>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:484 | <Form.Item name="country" label="鍥藉">
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:485 | <Select placeholder="閫夋嫨鍥藉" showSearch allowClear onChange={handleCountryChange}>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:489 | <Form.Item name="province" label="鐪佷唤">
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:490 | <Select placeholder="璇峰厛閫夋嫨鍥藉" showSearch allowClear disabled={provinces.length === 0}>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:495 | <Button type="primary" onClick={generateQRCode} block>鐢熸垚搴忓垪鍙?& 浜岀淮鐮?/Button>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:504 | <Text strong>搴忓垪鍙凤細{serialNumber}</Text>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:510 | <div style={{ color: '#999', padding: '60px 0' }}>璇峰厛鐢熸垚浜岀淮鐮?/div>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:522 | <Modal open={viewModal} title="浜岀淮鐮佽鎯? onCancel={() => setViewModal(false)} footer={null} width={400}>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:526 | <div style={{ marginTop: 16 }}>搴忓垪鍙凤細{viewRecord.serialNumber}</div>
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:532 | <Modal open={manageVisible} title="鏁版嵁绠$悊" width="90%" style={{ maxWidth: 900 }} onCancel={() => setManageVisible(false)} footer={<Button onClick={() => setManageVisible(false)}>{t('common.close')}</Button>} destroyOnClose
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:533 | <DictManager title="鏈哄櫒浜虹被鍨? data={types} fields={[{ name: 'displayName', label: '绫诲瀷鍚嶇О', required: true }, { name: 'storeValue', label: '瀛樺偍鍊?, required: true }, { name: 'remark', label: t('roles.remark') }]} onAdd={handleA
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:534 | <DictManager title="鏈哄櫒浜哄瀷鍙? data={models} fields={[{ name: 'displayName', label: '鍨嬪彿鍚嶇О', required: true }, { name: 'storeValue', label: '瀛樺偍鍊?, required: true }]} onAdd={handleAddModel} onUpdate={handleUpdateModel} onDelet
|
||
src\components\SystemSetting\SerialNumGenerate.jsx:535 | <DictManager title="閰嶇疆" data={configs} fields={[{ name: 'displayName', label: '閰嶇疆鍚嶇О', required: true }, { name: 'storeValue', label: '瀛樺偍鍊?, required: true }]} onAdd={handleAddConfig} onUpdate={handleUpdateConfig} onDelet
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:105 | utils.message.error('鑾峰彇鏅鸿兘瑁呭鍒楄〃澶辫触');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:175 | utils.message.success('瑁呭缂栬緫鎴愬姛');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:200 | utils.message.error('鏃犳潈闄?);
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:214 | utils.message.success('淇濆瓨鍙傛暟鎴愬姛');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:217 | utils.message.error(res.msg || '鎺堟潈澶辫触');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:220 | utils.message.error('鎿嶄綔寮傚父');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:226 | return utils.message.warning('璇峰厛鍦ㄥ垪琛ㄤ腑閫変腑闇€瑕佺粦瀹氱殑鏅鸿兘瑁呭');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:274 | utils.message.success('缁戝畾鎴愬姛');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:280 | utils.message.error('缁戝畾澶辫触');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:283 | utils.message.error('鎿嶄綔寮傚父');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:290 | return utils.message.warning('鏈€夋嫨鏈夋晥璁惧锛屾棤娉曡В缁?);
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:292 | const typeText = { 1: '浜哄憳', 2: '鍦虹珯', 3: '缁勭粐' }[type as number];
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:294 | title: '纭瑙g粦',
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:295 | content: `纭畾瑕佷负閫変腑鐨勬櫤鑳借澶囨竻闄?{typeText}缁戝畾鍚楋紵`,
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:302 | utils.message.success('瑙g粦鎴愬姛');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:307 | utils.message.error(res.msg || '瑙g粦澶辫触');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:310 | utils.message.error('鎿嶄綔寮傚父');
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:318 | { title: '璁惧鐮?, width: 280, dataIndex: 'serialNumber', key: 'sn' },
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:320 | title: '鎵€灞炵粍缁?, width: 150, key: 'orgName',
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:323 | return org ? (org.orgName || org.name) : <Text type="secondary">鏈粦瀹?/Text>;
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:327 | title: '鎵€灞炲満绔?, width: 150, key: 'siteName',
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:330 | return site ? (site.siteName || site.name) : <Text type="secondary">鏈粦瀹?/Text>;
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:337 | return user ? (user.nickName || user.userName) : <Text type="secondary">鏈粦瀹?/Text>;
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:345 | <Tooltip title="娓呴櫎浜哄憳缁戝畾">
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:346 | <Button size="small" icon={<DisconnectOutlined />} onClick={() => handleUnbindSmart([record.serialNumber], 1)}>鐢ㄦ埛</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:348 | <Tooltip title="娓呴櫎鍦虹珯缁戝畾">
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:349 | <Button size="small" icon={<DisconnectOutlined />} onClick={() => handleUnbindSmart([record.serialNumber], 2)}>鍦虹珯</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:351 | <Tooltip title="娓呴櫎缁勭粐缁戝畾">
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:352 | <Button size="small" icon={<DisconnectOutlined />} onClick={() => handleUnbindSmart([record.serialNumber], 3)}>缁勭粐</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:354 | <Button size="small" icon={<EditOutlined />} onClick={() => openParamModal(record)}>鍙傛暟</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:355 | {userInfo?.userId == 1 && <Button size="small" icon={<EditOutlined />} onClick={() => openParamModal1(record)}>鎺堟潈</Button>}
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:381 | placeholder="璁惧鐮?
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:388 | <Button type="primary" icon={<LinkOutlined />} onClick={openBindSmartModal}>缁戝畾瑁呭</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:389 | <Button disabled={selectedSmartKeys.length === 0} onClick={() => handleUnbindSmart(selectedSmartKeys, 1)}>鎵归噺瑙g粦(鐢ㄦ埛)</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:390 | <Button disabled={selectedSmartKeys.length === 0} onClick={() => handleUnbindSmart(selectedSmartKeys, 2)}>鎵归噺瑙g粦(鍦虹珯)</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:391 | <Button disabled={selectedSmartKeys.length === 0} onClick={() => handleUnbindSmart(selectedSmartKeys, 3)}>鎵归噺瑙g粦(缁勭粐)</Button>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:407 | showTotal: (t) => `鍏?${t} 鏉,
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:420 | <span style={{ fontWeight: 600 }}>缁戝畾鏅鸿兘瑁呭</span>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:436 | <Form.Item label={<>宸查€夋櫤鑳借澶囷紙{selectedSmartKeys.length}鍙帮級ID</>} name="deviceIds" rules={[{ required: true, message: '璇烽€夋嫨瑁呭' }]}>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:437 | <Input.TextArea placeholder="渚嬪: ID001, ID002" rows={2} disabled style={{ resize: 'none', background: '#fafafa' }} />
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:442 | <span>鎵€灞炵粍缁?/span>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:445 | name="orgId" rules={[{ required: true, message: '璇烽€夋嫨缁勭粐' }]}
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:448 | placeholder="璇烽€夋嫨缁勭粐"
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:466 | <span>鎵€灞炲満绔?/span>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:469 | name="siteId" rules={[{ required: !siteFieldDisabled, message: '璇烽€夋嫨鍦虹珯' }]}
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:472 | placeholder="璇峰厛閫夋嫨缁勭粐"
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:487 | <Form.Item label={t('systemSetting.leader')} name="userId" rules={[{ required: true, message: '璇烽€夋嫨璐熻矗浜? }]}>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:489 | placeholder="璇峰厛閫夋嫨鍦虹珯鍚庨€夋嫨璐熻矗浜?
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:506 | title="缂栬緫鏅鸿兘瑁呭淇℃伅"
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:517 | <Form.Item label={t('devices.deviceName')} name="deviceAlias" rules={[{ required: true, message: '璇峰~鍐欒澶囧悕绉? }]}>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:518 | <Input placeholder="璇疯緭鍏ヨ澶囧悕绉? />
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:520 | <Form.Item label="璁惧搴忓垪鍙? name="serialNumber" rules={[{ required: true, message: '璇峰~鍐欒澶囩爜' }]}>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:521 | <Input placeholder="璇疯緭鍏ヨ澶囧簭鍒楀彿" />
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:523 | <Form.Item label={t('devices.onlineStatus')} name="onlineStatus" rules={[{ required: true, message: '璇烽€夋嫨鍦ㄧ嚎鐘舵€? }]}>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:524 | <Select placeholder="閫夋嫨鍦ㄧ嚎鐘舵€?>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:542 | <span style={{ fontWeight: 600 }}>璁惧鎺堟潈</span>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:572 | <span>璁剧疆璁惧鎿嶄綔鎺堟潈锛屾巿鏉冨埌鏈熷悗璁惧灏嗗け鍘诲搴旀搷浣滄潈闄?/span>
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:576 | label={<span style={{ fontWeight: 500 }}>鎺堟潈鏃堕棿(min)</span>}
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:579 | { required: true, message: '璇疯緭鍏ユ巿鏉冨墿浣欐椂闂? },
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:580 | { type: 'number', min: 0, message: '鎺堟潈鏃堕棿涓嶈兘灏忎簬0' }
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:586 | placeholder="璇疯緭鍏ユ巿鏉冨墿浣欐椂闂?
|
||
src\components\SystemSetting\SmartDeviceManagement.tsx:592 | <Button type="primary" htmlType="submit" style={{ borderRadius: 8, padding: '4px 24px' }}>淇濆瓨鎺堟潈</Button>
|
||
src\components\SystemSetting\StationManage.tsx:250 | title: '鎵€灞炵粍缁?,
|
||
src\components\SystemSetting\StationManage.tsx:257 | { title: '鍦板潃', dataIndex: 'address' },
|
||
src\components\SystemSetting\StationManage.tsx:264 | <Button icon={<BgColorsOutlined />} onClick={() => handleOpenArea(record)}>鍒嗗尯璁剧疆</Button>
|
||
src\components\SystemSetting\StationManage.tsx:265 | <Button onClick={() => handleOpenMap(record)}>杈圭晫缁樺埗</Button>
|
||
src\components\SystemSetting\StationManage.tsx:286 | placeholder="璇烽€夋嫨缁勭粐绛涢€?
|
||
src\components\SystemSetting\StationManage.tsx:300 | 鏂板鍦虹珯
|
||
src\components\SystemSetting\StationManage.tsx:314 | showTotal: (total) => `鍏?${total} 鏉
|
||
src\components\SystemSetting\StationManage.tsx:324 | title={editRecord ? '缂栬緫鍦虹珯' : '鏂板鍦虹珯'}
|
||
src\components\SystemSetting\StationManage.tsx:339 | <Form.Item name="orgId" label="鎵€灞炵粍缁? rules={[{ required: true }]}>
|
||
src\components\SystemSetting\StationManage.tsx:340 | <Select placeholder="璇烽€夋嫨鎵€灞炵粍缁? allowClear>
|
||
src\components\SystemSetting\StationManage.tsx:364 | <Form.Item name="address" label="璇︾粏鍦板潃">
|
||
src\components\SystemSetting\StationManage.tsx:365 | <Input placeholder="鍦板潃" />
|
||
src\components\SystemSetting\StationManage.tsx:368 | <Divider orientation="left">娑堟伅鎺ㄩ€侀厤缃?/Divider>
|
||
src\components\SystemSetting\StationManage.tsx:372 | <Form.Item name="dingTalkPush" label="閽夐拤鍛婅鎺ㄩ€? valuePropName="checked">
|
||
src\components\SystemSetting\StationManage.tsx:373 | <Switch checkedChildren="寮€鍚? unCheckedChildren={t('common.close')} />
|
||
src\components\SystemSetting\StationManage.tsx:377 | <Form.Item name="dingTalkOrderPush" label="閽夐拤宸ュ崟鎺ㄩ€? valuePropName="checked">
|
||
src\components\SystemSetting\StationManage.tsx:378 | <Switch checkedChildren="寮€鍚? unCheckedChildren={t('common.close')} />
|
||
src\components\SystemSetting\StationManage.tsx:382 | <Form.Item name="emailPush" label="閭欢鎺ㄩ€? valuePropName="checked">
|
||
src\components\SystemSetting\StationManage.tsx:383 | <Switch checkedChildren="寮€鍚? unCheckedChildren={t('common.close')} />
|
||
src\components\SystemSetting\StationManage.tsx:387 | <Form.Item name="alertPush" label="鍛婅寮圭獥鎺ㄩ€? valuePropName="checked">
|
||
src\components\SystemSetting\StationManage.tsx:388 | <Switch checkedChildren="寮€鍚? unCheckedChildren={t('common.close')} />
|
||
src\components\SystemSetting\StationManage.tsx:399 | label="閽夐拤鏈哄櫒浜篢oken"
|
||
src\components\SystemSetting\StationManage.tsx:401 | { required: true, message: '寮€鍚拤閽夋帹閫佹椂蹇呴』濉啓Token' }
|
||
src\components\SystemSetting\StationManage.tsx:404 | <Input placeholder="璇疯緭鍏ラ拤閽夋満鍣ㄤ汉Webhook Token" />
|
||
src\components\SystemSetting\StationManage.tsx:410 | label="閽夐拤鍔犲瘑瀵嗛挜"
|
||
src\components\SystemSetting\StationManage.tsx:412 | { required: true, message: '寮€鍚拤閽夋帹閫佹椂蹇呴』濉啓鍔犲瘑瀵嗛挜' }
|
||
src\components\SystemSetting\StationManage.tsx:415 | <Input placeholder="閽夐拤鏈哄櫒浜哄姞绛惧瘑閽? />
|
||
src\components\SystemSetting\StationManage.tsx:433 | title={`銆?{currentStation?.siteName}銆戝垎鍖鸿缃甡}
|
||
src\components\SystemSetting\StationManage.tsx:442 | <Form.Item name="regionName" label="鍒嗗尯鍚嶇О" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\StationManage.tsx:447 | <Form.Item name="regionCode" label="鍒嗗尯缂栫爜" rules={[{ required: true }]}>
|
||
src\components\SystemSetting\StationManage.tsx:454 | <Form.Item name="type" label="鍒嗗尯绫诲瀷">
|
||
src\components\SystemSetting\StationManage.tsx:455 | <Select><Option value="娓呮壂鍖?>娓呮壂鍖?/Option><Option value="宸℃鍖?>宸℃鍖?/Option></Select>
|
||
src\components\SystemSetting\StationManage.tsx:465 | <Button type="primary" onClick={handleSaveRegion}>淇濆瓨鍒嗗尯</Button>
|
||
src\components\SystemSetting\StationManage.tsx:474 | { title: '鍒嗗尯鍚嶇О', dataIndex: 'regionName' },
|
||
src\components\SystemSetting\StationManage.tsx:475 | { title: '缂栫爜', dataIndex: 'regionCode' },
|
||
src\components\SystemSetting\StationManage.tsx:495 | title={`銆?{currentStation?.siteName}銆戣竟鐣岀粯鍒禶}
|
||
src\components\SystemSetting\StationManage.tsx:502 | 鍦板浘鍖哄煙缁樺埗锛堝彲鑷鎺ュ叆楂樺痉/鐧惧害鍦板浘锛?src\components\SystemSetting\StationManage.tsx:504 | <Button type="primary">寮€濮嬬粯鍒?/Button>
|
||
src\components\SystemSetting\StationManage.tsx:505 | <Button>淇濆瓨杈圭晫</Button>
|
||
src\components\SystemSetting\SystemMaintain.tsx:38 | <TabPane tab={<span><ExclamationCircleOutlined />閿欒绠$悊</span>} key="error" />
|
||
src\components\SystemSetting\SystemMaintain.tsx:39 | <TabPane tab={<span><AlertOutlined />鍛婅妯″瀷绠$悊</span>} key="alarm" />
|
||
src\components\SystemSetting\SystemMaintain.tsx:40 | <TabPane tab={<span><FormOutlined />宸ュ崟妯″瀷绠$悊</span>} key="workOrder" />
|
||
src\components\SystemSetting\UserPage.tsx:552 | showTotal={(t) => `鍏?${t} 鏉}
|
||
src\components\SystemSetting\VideoManagement.tsx:72 | message.warning(data.error || '璇诲彇閫氶亾澶辫触');
|
||
src\components\SystemSetting\VideoManagement.tsx:76 | message.error('鏃犳硶杩炴帴瑙嗛鏈嶅姟');
|
||
src\components\SystemSetting\VideoManagement.tsx:138 | if (data.code !== 200) message.warning(data.error || '璇诲彇鏂囦欢澶辫触');
|
||
src\components\SystemSetting\VideoManagement.tsx:139 | } catch { setFiles([]); message.error('璇诲彇鏂囦欢澶辫触'); }
|
||
src\components\SystemSetting\VideoManagement.tsx:147 | message.warning('璇峰厛閫夋嫨瀹屾暣鐨勬椂闂磋矾寰?);
|
||
src\components\SystemSetting\VideoManagement.tsx:158 | { title: '澶у皬', dataIndex: 'sizeFormatted', key: 'sizeFormatted', width: 120 },
|
||
src\components\SystemSetting\VideoManagement.tsx:186 | 褰曞儚閫氶亾涓庡洖鏀剧鐞?路 鍏?{channels.length} 涓€氶亾
|
||
src\components\SystemSetting\VideoManagement.tsx:193 | <Text style={{ fontSize: 12, color: '#666' }}>閫氶亾</Text>
|
||
src\components\SystemSetting\VideoManagement.tsx:195 | size="small" style={{ width: '100%' }} placeholder="閫夋嫨璁惧閫氶亾"
|
||
src\components\SystemSetting\VideoManagement.tsx:203 | <Text style={{ fontSize: 12, color: '#666' }}>骞?/Text>
|
||
src\components\SystemSetting\VideoManagement.tsx:205 | size="small" style={{ width: '100%' }} placeholder="骞?
|
||
src\components\SystemSetting\VideoManagement.tsx:211 | <Text style={{ fontSize: 12, color: '#666' }}>鏈?/Text>
|
||
src\components\SystemSetting\VideoManagement.tsx:213 | size="small" style={{ width: '100%' }} placeholder="鏈?
|
||
src\components\SystemSetting\VideoManagement.tsx:219 | <Text style={{ fontSize: 12, color: '#666' }}>鏃?/Text>
|
||
src\components\SystemSetting\VideoManagement.tsx:221 | size="small" style={{ width: '100%' }} placeholder="鏃?
|
||
src\components\SystemSetting\VideoManagement.tsx:234 | <Empty description="璇峰厛閫夋嫨瑙嗛閫氶亾" style={{ padding: 40 }} />
|
||
src\components\SystemSetting\VideoManagement.tsx:236 | <Empty description="璇烽€夋嫨 骞?/ 鏈?/ 鏃?鍔犺浇褰曞儚" image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ padding: 40 }} />
|
||
src\components\SystemSetting\VideoManagement.tsx:238 | <Empty description="璇ユ棩鏆傛棤褰曞儚鏂囦欢" style={{ padding: 40 }} />
|
||
src\components\SystemSetting\VideoManagement.tsx:242 | pagination={{ size: 'small', pageSize: 10, showTotal: (t) => `鍏?${t} 涓枃浠禶 }}
|
||
src\components\SystemSetting\VideoManagement.tsx:249 | title={`棰勮: ${preview?.fileName || ''}`}
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:164 | utils.message.error('鑾峰彇宸ュ崟妯″瀷鍒楄〃澶辫触');
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:214 | title: '纭鍒犻櫎',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:215 | content: '鎮ㄧ‘瀹氳鍒犻櫎杩欐潯宸ュ崟妯″瀷鍚楋紵',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:235 | message.warning('璇峰厛鍕鹃€夎鍒犻櫎鐨勬暟鎹?);
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:239 | title: '鎵归噺鍒犻櫎纭',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:240 | content: `鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨?${selectedRowKeys.length} 鏉″伐鍗曟ā鍨嬪悧锛熷垹闄ゅ悗涓嶅彲鎭㈠锛乣,
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:248 | message.success('鎵归噺鍒犻櫎鎴愬姛');
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:252 | message.error('鎵归噺鍒犻櫎澶辫触');
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:277 | message.success(editingItem ? '鏇存柊鎴愬姛' : t('common.addSuccess'));
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:301 | { title: '宸ュ崟鍚嶇О', dataIndex: 'orderName', key: 'orderName' },
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:309 | title: '閿欒绛夌骇',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:314 | const text = { 1: '杞诲井', 2: t('constants.general'), 3: t('constants.critical') }[val] || val;
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:319 | title: '璁惧',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:329 | title: '璺緞/鑸嚎',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:342 | title: '鑷姩鐢熸垚浠诲姟',
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:345 | render: (val: boolean) => val ? '鏄? : '鍚?
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:369 | <Button type="primary" icon={<PlusOutlined />} onClick={handleAdd}>鏂板宸ュ崟妯″瀷</Button>
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:377 | 鎵归噺鍒犻櫎{selectedRowKeys.length ? `(${selectedRowKeys.length})` : ''}
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:391 | title={editingItem ? '缂栬緫宸ュ崟妯″瀷' : '鏂板宸ュ崟妯″瀷'}
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:398 | <Form.Item label="宸ュ崟鍚嶇О" name="orderName" rules={[{ required: true, message: '璇疯緭鍏ュ伐鍗曞悕绉? }]}>
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:399 | <Input placeholder="璇疯緭鍏ュ伐鍗曞悕绉? />
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:404 | <Form.Item label="閿欒绛夌骇" name="errorLevel" rules={[{ required: true, message: '璇烽€夋嫨閿欒绛夌骇' }]}>
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:405 | <Select placeholder="璇烽€夋嫨閿欒绛夌骇" options={errorLevelOptions} />
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:407 | <Form.Item label="璁惧" name="deviceId" rules={[{ required: true, message: '璇烽€夋嫨璁惧' }]}>
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:409 | placeholder="璇烽€夋嫨璁惧"
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:418 | <Form.Item label="棰勮璺緞" name="routeId" rules={[{ required: true, message: '璇烽€夋嫨棰勮璺緞' }]}>
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:419 | <Select placeholder="璇烽€夋嫨棰勮璺緞" options={routeOptions} />
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:424 | <Form.Item label="鏃犱汉鏈鸿埅绾? name="waylineId" rules={[{ required: true, message: '璇烽€夋嫨鏃犱汉鏈鸿埅绾? }]}>
|
||
src\components\SystemSetting\WorkOrderSettingsManagement.tsx:425 | <Select placeholder="璇烽€夋嫨鏃犱汉鏈鸿埅绾? options={waylineOptions} />
|
||
src\components\useWebRTCStream.tsx:81 | }, [deviceId, url]); // 馃敟 蹇呴』鍔?url
|
||
src\components\VideoCanvas.tsx:42 | if (title.includes('鍓?) || title.includes('front')) {
|
||
src\components\VideoCanvas.tsx:60 | if (title.includes('鍚?) || title.includes('back')) {
|
||
src\components\VideoCanvas.tsx:76 | if (title.includes('宸?) || title.includes('left')) {
|
||
src\components\VideoCanvas.tsx:86 | if (title.includes('鍙?) || title.includes('right')) {
|
||
src\components\VideoPlayer.tsx:28 | const viewTitles = ['鍓嶈鍥?, '鍚庤鍥?, '宸﹁鍥?, '鍙宠鍥?];
|
||
src\components\VideoPlayer.tsx:32 | return <Empty description="瑙嗛婧愯繛鎺ュけ璐? />;
|
||
src\components\Weather\WeatherSunny.jsx:5 | const angle = i * 30; // 姣忔牴 30掳
|
||
src\lib\TracePoint\circQueue.js:40 | this.capacity = capacity; /* 闃熷垪瀹归噺 (鏈€澶氬瓨鍌ㄩ」鐩暟) */
|
||
src\lib\TracePoint\circQueue.js:41 | this.buffer = new Array(capacity); /* 闃熷垪瀛樺偍鍖猴紝浣跨敤鏁扮粍瀛樹换鎰忓璞?*/
|
||
src\lib\TracePoint\circQueue.js:42 | this.head = 0; /* 闃熷ご绱㈠紩 */
|
||
src\lib\TracePoint\circQueue.js:43 | this.tail = 0; /* 闃熷熬绱㈠紩 */
|
||
src\lib\TracePoint\circQueue.js:44 | this.isFull = false; /* 闃熸弧鏍囧織 */
|
||
src\lib\TracePoint\circQueue.js:46 | this.deepCopy = options.deepCopy ?? true; /* 鏄惁鍚敤娣辨嫹璐?(榛樿鍚敤) */
|
||
src\lib\TracePoint\circQueue.js:47 | this.maxMemoryBytes = options.maxMemoryBytes ?? Infinity; /* 闃熷垪鏈€澶у唴瀛橀檺鍒?(鍗曚綅锛氬瓧鑺? */
|
||
src\lib\TracePoint\circQueue.js:48 | this.currentMemoryBytes = 0; /* 褰撳墠宸蹭娇鐢ㄥ唴瀛樺ぇ灏?(鍗曚綅锛氬瓧鑺? */
|
||
src\lib\TracePoint\circQueue.js:68 | return Buffer.byteLength(JSON.stringify(obj), 'utf8'); /* Node.js 涓敤浜庤绠楀瓧鑺傞暱搴?*/
|
||
src\lib\TracePoint\circQueue.js:72 | return 0; /* 鑻ュ璞′笉鍙簭鍒楀寲锛岃繑鍥?0 (閬垮厤鍑洪敊) */
|
||
src\lib\TracePoint\circQueue.js:85 | const itemSize = this._estimateSize(item); /* 浼扮畻椤圭洰鍐呭瓨澶у皬 */
|
||
src\lib\TracePoint\circQueue.js:88 | return false; /* 鑻ラ槦婊℃垨瓒呰繃鍐呭瓨闄愬埗鍒欏叆闃熷け璐?*/
|
||
src\lib\TracePoint\circQueue.js:91 | const clone = this._deepClone(item); /* 娣辨嫹璐濆叆闃熸暟鎹?(閬垮厤澶栭儴淇敼褰卞搷闃熷垪) */
|
||
src\lib\TracePoint\circQueue.js:92 | this.buffer[this.tail] = clone; /* 瀛樺叆闃熷熬 */
|
||
src\lib\TracePoint\circQueue.js:93 | this.tail = (this.tail + 1) % this.capacity; /* 鐜舰澧為暱 tail */
|
||
src\lib\TracePoint\circQueue.js:94 | this.currentMemoryBytes += itemSize; /* 澧炲姞褰撳墠鍐呭瓨浣跨敤 */
|
||
src\lib\TracePoint\circQueue.js:96 | if (this.tail === this.head) this.isFull = true; /* 鑻ュ熬杩藉ご锛岃〃绀洪槦婊?*/
|
||
src\lib\TracePoint\circQueue.js:103 | if (this.isEmpty()) return null; /* 闃熺┖杩斿洖 null */
|
||
src\lib\TracePoint\circQueue.js:105 | const item = this.buffer[this.head]; /* 璇诲彇闃熷ご椤圭洰 */
|
||
src\lib\TracePoint\circQueue.js:106 | this.currentMemoryBytes -= this._estimateSize(item); /* 鏇存柊鍐呭瓨浣跨敤 */
|
||
src\lib\TracePoint\circQueue.js:107 | this.head = (this.head + 1) % this.capacity; /* 鐜舰澧為暱 head */
|
||
src\lib\TracePoint\circQueue.js:108 | this.isFull = false; /* 鍑洪槦蹇呯劧闃熶笉婊?*/
|
||
src\lib\TracePoint\circQueue.js:109 | return this._deepClone(item); /* 杩斿洖娣辨嫹璐濓紝淇濇姢闃熷垪鍐呴儴鏁版嵁 */
|
||
src\lib\TracePoint\circQueue.js:117 | if (this.isEmpty()) return false; /* 闃熺┖鍒欎笉鑳界户缁涪寮?*/
|
||
src\lib\TracePoint\circQueue.js:121 | this.currentMemoryBytes -= this._estimateSize(item); /* 鍑忓幓鍐呭瓨澶у皬 */
|
||
src\lib\TracePoint\circQueue.js:122 | this.tail = (this.tail - 1 + this.capacity) % this.capacity; /* tail 鍥為€€ */
|
||
src\lib\TracePoint\circQueue.js:148 | if (Date.now() - start >= timeoutMs) return false; /* 瓒呮椂閫€鍑?*/
|
||
src\lib\TracePoint\circQueue.js:149 | await new Promise(resolve => setTimeout(resolve, 1)); /* 寮傛杞, 鑷棆鍔?sleep 鎸傝捣 1ms */
|
||
src\lib\TracePoint\circQueue.js:166 | if (item !== null) return item; /* 鎴愬姛鍙栧嚭鍒欒繑鍥?*/
|
||
src\lib\TracePoint\circQueue.js:167 | if (Date.now() - start >= timeoutMs) return null; /* 瓒呮椂閫€鍑?*/
|
||
src\lib\TracePoint\circQueue.js:168 | await new Promise(resolve => setTimeout(resolve, 1)); /* 寮傛杞, 鑷棆鍔?sleep 鎸傝捣 1ms */
|
||
src\lib\TracePoint\circQueue.js:180 | result.push(this._deepClone(this.buffer[i])); /* 澶嶅埗姣忎釜鍏冪礌 */
|
||
src\lib\TracePoint\circQueue.js:181 | i = (i + 1) % this.capacity; /* 绉诲姩鍒颁笅涓€涓厓绱?*/
|
||
src\lib\TracePoint\tracePoint.js:66 | #queue; /* 寰幆闃熷垪, 鐢ㄤ簬瀛樻斁绛夊緟澶勭悊鐨勭偣 */
|
||
src\lib\TracePoint\tracePoint.js:67 | #tracePoint; /* 杞ㄨ抗鐐规暟缁? 瀛樻斁宸插畬鎴愮偣 + 褰撳墠鐐?*/
|
||
src\lib\TracePoint\tracePoint.js:68 | #completePointIndex; /* 瀹屾垚鐐圭储寮? 鎸囧悜褰撳墠鐐逛箣鍓嶇殑鏈€鍚庝竴涓鎻掑叆鐨勫畬鎴愮偣鐨勪綅缃?*/
|
||
src\lib\TracePoint\tracePoint.js:69 | #lock; /* 閿? 鐢ㄤ簬闃叉澶氱嚎绋嬪悓鏃舵洿鏂?*/
|
||
src\lib\TracePoint\tracePoint.js:70 | #mode; /* 妯″紡绠$悊鍣?*/
|
||
src\lib\TracePoint\tracePoint.js:89 | maxMemoryBytes: 1024 * 1024, /* 1MB 闄愬埗 */
|
||
src\lib\TracePoint\tracePoint.js:93 | this.#tracePoint = []; /* 瀛樻斁杞ㄨ抗, 宸插畬鎴愮偣 + 褰撳墠鐐?*/
|
||
src\lib\TracePoint\tracePoint.js:94 | this.#completePointIndex = 0; /* 瀹屾垚鐐圭储寮?*/
|
||
src\lib\TracePoint\tracePoint.js:95 | this.#lock = new TryLock(); /* 閿? 鐢ㄤ簬闃叉澶氱嚎绋嬪悓鏃舵洿鏂?*/
|
||
src\lib\TracePoint\tracePoint.js:96 | this.#mode = TPMode.LOCATION; /* 榛樿涓哄畾浣嶆ā寮?*/
|
||
src\lib\TracePoint\tracePoint.js:104 | this.#queue.clear(); /* 娓呯┖闃熷垪 */
|
||
src\lib\TracePoint\tracePoint.js:105 | this.#tracePoint = []; /* 娓呯┖杞ㄨ抗鐐规暟缁?*/
|
||
src\lib\TracePoint\tracePoint.js:106 | this.#completePointIndex = 0; /* 閲嶇疆瀹屾垚鐐圭储寮?*/
|
||
src\lib\TracePoint\tracePoint.js:107 | this.#mode = TPMode.LOCATION; /* 閲嶇疆涓哄畾浣嶆ā寮?*/
|
||
src\lib\TracePoint\tracePoint.js:108 | this.#lock.release(); /* 閲婃斁閿?*/
|
||
src\lib\TracePoint\tracePoint.js:150 | const trace = this.#tracePoint.slice(); /* 娣辨嫹璐? 閬垮厤澶栭儴淇敼瀵艰嚧鍐呴儴鍑洪敊 */
|
||
src\lib\TracePoint\tracePoint.js:151 | this.#lock.release(); /* 瑙i攣 */
|
||
src\lib\TracePoint\tracePoint.js:156 | return null; /* 閿佸畾涓? 杩斿洖绌?*/
|
||
src\lib\TracePoint\tracePoint.js:187 | this.#tracePoint[0] = point; /* JS 鏀寔鑷姩鎵╁睍鏁扮粍 */
|
||
src\lib\TracePoint\tracePoint.js:190 | this.#lock.release(); /* 瑙i攣 */
|
||
src\lib\TracePoint\tracePoint.js:229 | this.#lock.release(); /* 鏃犺鎴愬姛澶辫触閮借В閿? 閬垮厤鏃犳硶浣跨敤 */
|
||
src\lib\TracePoint\tracePoint.js:274 | this.capacity = capacity; /* 闃熷垪瀹归噺 (鏈€澶氬瓨鍌ㄩ」鐩暟) */
|
||
src\lib\TracePoint\tracePoint.js:275 | this.buffer = new Array(capacity); /* 闃熷垪瀛樺偍鍖猴紝浣跨敤鏁扮粍瀛樹换鎰忓璞?*/
|
||
src\lib\TracePoint\tracePoint.js:276 | this.head = 0; /* 闃熷ご绱㈠紩 */
|
||
src\lib\TracePoint\tracePoint.js:277 | this.tail = 0; /* 闃熷熬绱㈠紩 */
|
||
src\lib\TracePoint\tracePoint.js:278 | this.isFull = false; /* 闃熸弧鏍囧織 */
|
||
src\lib\TracePoint\tracePoint.js:280 | this.deepCopy = options.deepCopy ?? true; /* 鏄惁鍚敤娣辨嫹璐?(榛樿鍚敤) */
|
||
src\lib\TracePoint\tracePoint.js:281 | this.maxMemoryBytes = options.maxMemoryBytes ?? Infinity; /* 闃熷垪鏈€澶у唴瀛橀檺鍒?(鍗曚綅锛氬瓧鑺? */
|
||
src\lib\TracePoint\tracePoint.js:282 | this.currentMemoryBytes = 0; /* 褰撳墠宸蹭娇鐢ㄥ唴瀛樺ぇ灏?(鍗曚綅锛氬瓧鑺? */
|
||
src\lib\TracePoint\tracePoint.js:307 | return 0; /* 鑻ュ璞′笉鍙簭鍒楀寲锛岃繑鍥?0 (閬垮厤鍑洪敊) */
|
||
src\lib\TracePoint\tracePoint.js:318 | const itemSize = this._estimateSize(item); /* 浼扮畻椤圭洰鍐呭瓨澶у皬 */
|
||
src\lib\TracePoint\tracePoint.js:320 | return false; /* 鑻ラ槦婊℃垨瓒呰繃鍐呭瓨闄愬埗鍒欏叆闃熷け璐?*/
|
||
src\lib\TracePoint\tracePoint.js:323 | const clone = this._deepClone(item); /* 娣辨嫹璐濆叆闃熸暟鎹?(閬垮厤澶栭儴淇敼褰卞搷闃熷垪) */
|
||
src\lib\TracePoint\tracePoint.js:324 | this.buffer[this.tail] = clone; /* 瀛樺叆闃熷熬 */
|
||
src\lib\TracePoint\tracePoint.js:325 | this.tail = (this.tail + 1) % this.capacity; /* 鐜舰澧為暱 tail */
|
||
src\lib\TracePoint\tracePoint.js:326 | this.currentMemoryBytes += itemSize; /* 澧炲姞褰撳墠鍐呭瓨浣跨敤 */
|
||
src\lib\TracePoint\tracePoint.js:328 | if (this.tail === this.head) this.isFull = true; /* 鑻ュ熬杩藉ご锛岃〃绀洪槦婊?*/
|
||
src\lib\TracePoint\tracePoint.js:334 | if (this.isEmpty()) return null; /* 闃熺┖杩斿洖 null */
|
||
src\lib\TracePoint\tracePoint.js:336 | const item = this.buffer[this.head]; /* 璇诲彇闃熷ご椤圭洰 */
|
||
src\lib\TracePoint\tracePoint.js:337 | this.currentMemoryBytes -= this._estimateSize(item); /* 鏇存柊鍐呭瓨浣跨敤 */
|
||
src\lib\TracePoint\tracePoint.js:338 | this.head = (this.head + 1) % this.capacity; /* 鐜舰澧為暱 head */
|
||
src\lib\TracePoint\tracePoint.js:339 | this.isFull = false; /* 鍑洪槦蹇呯劧闃熶笉婊?*/
|
||
src\lib\TracePoint\tracePoint.js:340 | return this._deepClone(item); /* 杩斿洖娣辨嫹璐濓紝淇濇姢闃熷垪鍐呴儴鏁版嵁 */
|
||
src\lib\TracePoint\tracePoint.js:346 | if (this.isEmpty()) return false; /* 闃熺┖鍒欎笉鑳界户缁涪寮?*/
|
||
src\lib\TracePoint\tracePoint.js:350 | this.currentMemoryBytes -= this._estimateSize(item); /* 鍑忓幓鍐呭瓨澶у皬 */
|
||
src\lib\TracePoint\tracePoint.js:351 | this.tail = (this.tail - 1 + this.capacity) % this.capacity; /* tail 鍥為€€ */
|
||
src\lib\TracePoint\tracePoint.js:374 | if (Date.now() - start >= timeoutMs) return false; /* 瓒呮椂閫€鍑?*/
|
||
src\lib\TracePoint\tracePoint.js:375 | await new Promise(resolve => setTimeout(resolve, 1)); /* 寮傛杞, 鑷棆鍔?sleep 鎸傝捣 1ms */
|
||
src\lib\TracePoint\tracePoint.js:390 | if (item !== null) return item; /* 鎴愬姛鍙栧嚭鍒欒繑鍥?*/
|
||
src\lib\TracePoint\tracePoint.js:391 | if (Date.now() - start >= timeoutMs) return null; /* 瓒呮椂閫€鍑?*/
|
||
src\lib\TracePoint\tracePoint.js:392 | await new Promise(resolve => setTimeout(resolve, 1)); /* 寮傛杞, 鑷棆鍔?sleep 鎸傝捣 1ms */
|
||
src\lib\TracePoint\tracePoint.js:402 | result.push(this._deepClone(this.buffer[i])); /* 澶嶅埗姣忎釜鍏冪礌 */
|
||
src\lib\TracePoint\tracePoint.js:403 | i = (i + 1) % this.capacity; /* 绉诲姩鍒颁笅涓€涓厓绱?*/
|
||
src\lib\utils.ts:48 | 4: { get text() { return i18n.t('constants.locationRTKFixed') }, color: '#52c41a' }, // 鏈€浼?src\lib\utils.ts:109 | city: "鑻忓窞",
|
||
src\lib\utils.ts:135 | throw new Error(`澶╂皵鎺ュ彛璋冪敤澶辫触锛?{error.message}`);
|
||
src\lib\utils.ts:147 | if (!weatherText) return "cloudy"; // 鍏滃簳
|
||
src\lib\utils.ts:152 | if (text.includes("鏅?)) {
|
||
src\lib\utils.ts:158 | text.includes("闆?) ||
|
||
src\lib\utils.ts:159 | text.includes("闆?) ||
|
||
src\lib\utils.ts:160 | text.includes("鏆撮洦")
|
||
src\lib\utils.ts:166 | if (text.includes("浜?) || text.includes("闃?)) {
|
||
src\lib\utils.ts:189 | .filter(col => col.title && col.dataIndex) // 鍙彇鏈夋爣棰?鏈夊瓧娈电殑鍒?src\lib\utils.ts:200 | return String(val).replace(/"/g, '""'); // 杞箟CSV寮曞彿
|
||
src\lib\utils.ts:347 | ERROR: '#FF4D4F', // 閿欒 绾?src\lib\utils.ts:348 | WARNING: '#FA8C16', // 璀﹀憡 姗?src\lib\utils.ts:349 | INFO: '#1890FF', // 淇℃伅 钃?src\pages\Agri.jsx:5024 | <Empty description={<span style={{ color: '#fff' }}>璇蜂笂浼犵儹鎴愬儚鏂囦欢</span>} image={Empty.PRESENTED_IMAGE_SIMPLE} />
|
||
src\pages\AIAnalysis.tsx:21 | { key: '1', measure: '澶勭悊鐑枒缁勪欢', priority: '楂?, expectedGain: '+2.15%', confidence: '92%' },
|
||
src\pages\AIAnalysis.tsx:22 | { key: '2', measure: '鎺掓煡寮傚父缁勪覆', priority: '楂?, expectedGain: '+1.85%', confidence: '90%' },
|
||
src\pages\AIAnalysis.tsx:23 | { key: '3', measure: '娓呮礂鍙楅伄鎸″尯鍩?, priority: '涓?, expectedGain: '+0.45%', confidence: '78%' },
|
||
src\pages\AIAnalysis.tsx:24 | { key: '4', measure: '璺熻釜琛板噺杈冨ぇ缁勪欢', priority: '涓?, expectedGain: '+0.35%', confidence: '86%' },
|
||
src\pages\AIAnalysis.tsx:25 | { key: '5', measure: '鎸佺画鐩戞帶閫嗗彉鍣ㄦ晥鐜?, priority: '浣?, expectedGain: '+0.10%', confidence: '93%' },
|
||
src\pages\AIAnalysis.tsx:29 | { name: '鏂归樀 A-05', temp: '71.5鈩?, id: 'A05', status: 'serious' },
|
||
src\pages\AIAnalysis.tsx:30 | { name: '鏂归樀 A-12', temp: '68.3鈩?, id: 'A12', status: 'warning' },
|
||
src\pages\AIAnalysis.tsx:31 | { name: '鏂归樀 B-03', temp: '64.8鈩?, id: 'B03', status: 'warning' },
|
||
src\pages\AIAnalysis.tsx:32 | { name: '鏂归樀 C-07', temp: '67.2鈩?, id: 'C07', status: 'warning' },
|
||
src\pages\AIAnalysis.tsx:144 | else if (status === '杞诲井') color = '#1677ff';
|
||
src\pages\AIAnalysis.tsx:152 | if (impact === '楂?) color = '#ff4d4f';
|
||
src\pages\AIAnalysis.tsx:153 | else if (impact === '涓?) color = '#fa8c16';
|
||
src\pages\AIAnalysis.tsx:154 | else if (impact === '浣?) color = '#52c41a';
|
||
src\pages\AIAnalysis.tsx:161 | if (priority === '楂?) color = '#ff4d4f';
|
||
src\pages\AIAnalysis.tsx:162 | else if (priority === '涓?) color = '#fa8c16';
|
||
src\pages\AIAnalysis.tsx:163 | else if (priority === '浣?) color = '#52c41a';
|
||
src\pages\AIAnalysis.tsx:195 | AI 鏅鸿兘璇婃柇涓庡垎鏋愪腑蹇?src\pages\AIAnalysis.tsx:198 | <Button icon={<ReloadOutlined />}>鍒锋柊鏁版嵁</Button>
|
||
src\pages\AIAnalysis.tsx:199 | <Button type="primary">瀵煎嚭鎶ュ憡</Button>
|
||
src\pages\AIAnalysis.tsx:206 | { title: 'PR鍊?(鎬ц兘姣?', value: '82.6%', trend: '杈冩槰鏃?-1.3%', icon: <RiseOutlined />, color: '#00B42A', bg: '#E8FFEA', trendColor: '#F53F3F', direction: 'down' },
|
||
src\pages\AIAnalysis.tsx:207 | { title: '鍙戠數鍋忓樊鐜?, value: '-4.35%', trend: '杈冩槰鏃?-1.02%', icon: <FallOutlined />, color: '#F53F3F', bg: '#FFF1F0', trendColor: '#F53F3F', direction: 'down' },
|
||
src\pages\AIAnalysis.tsx:208 | { title: '寮傚父缁勪覆鏁伴噺', value: '8', trend: '杈冩槰鏃?+2 鈫?, icon: <AppstoreOutlined />, color: '#1D2129', bg: '#F5F7FA', trendColor: '#F53F3F', direction: 'up' },
|
||
src\pages\AIAnalysis.tsx:209 | { title: '鐑枒鐤戜技鏁伴噺', value: '36', trend: '杈冩槰鏃?+5 鈫?, icon: <BellOutlined />, color: '#F53F3F', bg: '#FFF1F0', trendColor: '#F53F3F', direction: 'up' },
|
||
src\pages\AIAnalysis.tsx:210 | { title: '鐢电珯鍋ュ悍搴﹁瘎鍒?, value: '86.3', unit: '鍒?, trend: '杈冩槰鏃?-1.7', icon: <CheckCircleOutlined />, color: '#00B42A', bg: '#E8FFEA', trendColor: '#F53F3F', direction: 'down' },
|
||
src\pages\AIAnalysis.tsx:211 | { title: '棰勬祴鍙戠數閲?, value: '4,821', unit: t('home.kWh'), trend: '杈冩槰鏃?+2.6% 鈫?, icon: <ThunderboltOutlined />, color: '#165DFF', bg: '#E8F3FF', trendColor: '#00B42A', direction: 'up' },
|
||
src\pages\AIAnalysis.tsx:248 | title={<span style={{ fontSize: 15, fontWeight: 700, color: '#1D2129' }}>鏃犱汉鏈虹儹鎴愬儚宸℃鍒嗘瀽<InfoCircleOutlined style={{ marginLeft: 6, color: '#86909C', fontSize: 13 }} /></span>}
|
||
src\pages\AIAnalysis.tsx:249 | extra={<Text type="secondary" style={{ fontSize: 12 }}>宸℃锛?025-05-20 09:30 <CalendarOutlined style={{ marginLeft: 4 }} /></Text>}
|
||
src\pages\AIAnalysis.tsx:266 | {item.status === 'serious' ? '楂樺嵄' : '娉ㄦ剰'}
|
||
src\pages\AIAnalysis.tsx:276 | <span style={{ display: 'flex', alignItems: 'center', color: '#1D2129' }}><AimOutlined style={{ color: '#F53F3F', marginRight: 6 }} />鐑枒鐤戜技鐐?/span>
|
||
src\pages\AIAnalysis.tsx:277 | <span style={{ display: 'flex', alignItems: 'center', color: '#1D2129' }}><div style={{ width: 14, height: 10, border: '1.5px dashed #F53F3F', borderRadius: 2, marginRight: 6 }}></div>楂樻俯鍖哄煙</span>
|
||
src\pages\AIAnalysis.tsx:280 | <span style={{ fontSize: 12, color: '#86909C' }}>娓╁害鍒嗗竷: 25鈩?~ 85鈩?/span>
|
||
src\pages\AIAnalysis.tsx:288 | title={<span style={{ fontSize: 15, fontWeight: 700, color: '#1D2129' }}>缁勪覆瀹炴椂鐘舵€佸畾浣嶅浘<InfoCircleOutlined style={{ marginLeft: 6, color: '#86909C', fontSize: 13 }} /></span>}
|
||
src\pages\AIAnalysis.tsx:290 | <span>鎬荤粍涓? <b style={{ color: '#1D2129' }}>160</b></span>
|
||
src\pages\AIAnalysis.tsx:291 | <span>寮傚父: <b style={{ color: '#F53F3F' }}>8</b></span>
|
||
src\pages\AIAnalysis.tsx:308 | <div style={{ fontSize: 11, color: '#86909C', display: 'flex', alignItems: 'center', fontWeight: 600 }}>{row}鎺?/div>
|
||
src\pages\AIAnalysis.tsx:310 | let color = '#E8F3FF'; // 姝e父
|
||
src\pages\AIAnalysis.tsx:312 | let tooltip = `缁勪覆 ${row}-${col + 1}: 姝e父`;
|
||
src\pages\AIAnalysis.tsx:315 | if (row === 'B' && col === 3) { color = '#F53F3F'; icon = <div style={{ width: 6, height: 6, background: '#fff', borderRadius: '50%' }} />; tooltip = `缁勪覆 ${row}-${col + 1}: 涓ラ噸寮傚父 (鐑枒)`; }
|
||
src\pages\AIAnalysis.tsx:316 | if (row === 'B' && col === 17) { color = '#F53F3F'; icon = <div style={{ width: 6, height: 6, background: '#fff', borderRadius: '50%' }} />; tooltip = `缁勪覆 ${row}-${col + 1}: 涓ラ噸寮傚父 (鏂矾)`; }
|
||
src\pages\AIAnalysis.tsx:317 | if (row === 'C' && col === 15) { color = '#FF7D00'; icon = <div style={{ width: 6, height: 6, background: '#fff', borderRadius: '50%' }} />; tooltip = `缁勪覆 ${row}-${col + 1}: 寮傚父 (鍔熺巼鍋忓樊)`; }
|
||
src\pages\AIAnalysis.tsx:318 | if (row === 'E' && col === 4) { color = '#FF7D00'; icon = <div style={{ width: 6, height: 6, background: '#fff', borderRadius: '50%' }} />; tooltip = `缁勪覆 ${row}-${col + 1}: 寮傚父 (閬尅)`; }
|
||
src\pages\AIAnalysis.tsx:319 | if (row === 'F' && col === 11) { color = '#F7BA1E'; icon = <div style={{ width: 6, height: 6, background: '#fff', borderRadius: '50%' }} />; tooltip = `缁勪覆 ${row}-${col + 1}: 杞诲井寮傚父`; }
|
||
src\pages\AIAnalysis.tsx:320 | if (row === 'G' && col === 1) { color = '#F7BA1E'; icon = <div style={{ width: 6, height: 6, background: '#fff', borderRadius: '50%' }} />; tooltip = `缁勪覆 ${row}-${col + 1}: 杞诲井寮傚父`; }
|
||
src\pages\AIAnalysis.tsx:321 | if (row === 'H' && col === 10) { color = '#86909C'; tooltip = `缁勪覆 ${row}-${col + 1}: 绂荤嚎`; }
|
||
src\pages\AIAnalysis.tsx:338 | { color: '#E8F3FF', label: '杩愯姝e父' },
|
||
src\pages\AIAnalysis.tsx:339 | { color: '#F7BA1E', label: '杞诲井寮傚父' },
|
||
src\pages\AIAnalysis.tsx:340 | { color: '#FF7D00', label: '鍔熺巼寮傚父' },
|
||
src\pages\AIAnalysis.tsx:341 | { color: '#F53F3F', label: '涓ラ噸鏁呴殰' },
|
||
src\pages\AIAnalysis.tsx:342 | { color: '#86909C', label: '璁惧绂荤嚎' },
|
||
src\pages\AIAnalysis.tsx:354 | <WarningOutlined style={{ marginRight: 8, color: '#F53F3F' }} />寮傚父绫诲瀷鍒嗗竷
|
||
src\pages\AIAnalysis.tsx:358 | { label: '涓ラ噸鏁呴殰', value: 2, color: '#F53F3F', percent: '25%' },
|
||
src\pages\AIAnalysis.tsx:359 | { label: '鍔熺巼寮傚父', value: 4, color: '#FF7D00', percent: '50%' },
|
||
src\pages\AIAnalysis.tsx:360 | { label: '杞诲井寮傚父', value: 2, color: '#F7BA1E', percent: '25%' },
|
||
src\pages\AIAnalysis.tsx:361 | { label: '绂荤嚎缁勪覆', value: 0, color: '#86909C', percent: '0%' },
|
||
src\pages\AIAnalysis.tsx:375 | <Button block type="dashed" size="small" style={{ fontSize: 12 }}>鏌ョ湅璇︾粏瀹氫綅琛?/Button>
|
||
src\pages\AIAnalysis.tsx:387 | title={<span style={{ fontSize: 15, fontWeight: 700, color: '#1D2129' }}>缁勪欢琛板噺瓒嬪娍鍒嗘瀽<InfoCircleOutlined style={{ marginLeft: 6, color: '#86909C', fontSize: 13 }} /></span>}
|
||
src\pages\AIAnalysis.tsx:393 | <span>琛板噺鐜囪秼鍔?(%)</span>
|
||
src\pages\AIAnalysis.tsx:394 | <span style={{ color: '#F53F3F', fontWeight: 600 }}>褰撳墠鍧囧€? -5.32%</span>
|
||
src\pages\AIAnalysis.tsx:407 | name: '骞冲潎琛板噺鐜?,
|
||
src\pages\AIAnalysis.tsx:413 | name: '鏈€浣崇粍浠?,
|
||
src\pages\AIAnalysis.tsx:419 | name: '鏈€宸粍浠?,
|
||
src\pages\AIAnalysis.tsx:427 | <span style={{ color: '#1D2129', fontWeight: 600 }}>琛板噺棰勮:</span>
|
||
src\pages\AIAnalysis.tsx:428 | <span style={{ marginLeft: 4 }}>12鍧楃粍浠惰“鍑忚秴鏍? 寤鸿鎺掓煡銆?/span>
|
||
src\pages\AIAnalysis.tsx:436 | title={<span style={{ fontSize: 15, fontWeight: 700, color: '#1D2129' }}>瀹炴椂鍙戠數琛ㄧ幇娣卞害鍒嗘瀽<InfoCircleOutlined style={{ marginLeft: 6, color: '#86909C', fontSize: 13 }} /></span>}
|
||
src\pages\AIAnalysis.tsx:443 | <div style={{ fontSize: 12, color: '#86909C', marginBottom: 16 }}>鍙戠數閲忓姣斿垎鏋?(kWh)</div>
|
||
src\pages\AIAnalysis.tsx:455 | name: '瀹為檯鍙戠數',
|
||
src\pages\AIAnalysis.tsx:461 | name: '棰勬祴鍙戠數',
|
||
src\pages\AIAnalysis.tsx:467 | name: '鐞嗚鍙戠數',
|
||
src\pages\AIAnalysis.tsx:475 | { label: '褰撴棩瀹為檯鍙戠數', value: '4,752', unit: t('home.kWh'), color: '#165DFF' },
|
||
src\pages\AIAnalysis.tsx:476 | { label: '褰撴棩棰勬祴鍙戠數', value: '4,960', unit: t('home.kWh'), color: '#00B42A' },
|
||
src\pages\AIAnalysis.tsx:477 | { label: '鍙戠數鍋忓樊鐜?, value: '-4.35%', unit: '', color: '#F53F3F' },
|
||
src\pages\AIAnalysis.tsx:478 | { label: '瀹炴椂 PR 鍊?, value: '82.6%', unit: '', color: '#1D2129' },
|
||
src\pages\AIAnalysis.tsx:499 | <span style={{ fontSize: 14, fontWeight: 700, color: '#1D2129' }}>AI 璇婃柇鎬荤粨</span>
|
||
src\pages\AIAnalysis.tsx:500 | <span style={{ fontSize: 12, color: '#86909C' }}>鏇存柊鏃堕棿: 2025-05-20 09:45</span>
|
||
src\pages\AIAnalysis.tsx:504 | { title: '璇婃柇椤?, dataIndex: 'diagnosis', width: 78 },
|
||
src\pages\AIAnalysis.tsx:507 | { title: '褰卞搷', dataIndex: 'impact', render: renderImpactTag, width: 52 },
|
||
src\pages\AIAnalysis.tsx:508 | { title: '璇︽儏', dataIndex: 'detail', ellipsis: true },
|
||
src\pages\AIAnalysis.tsx:511 | { key: '1', diagnosis: t('aiAnalysis.hotspotDetection'), status: t('home.abnormal'), confidence: '92%', impact: '楂?, detail: '妫€娴嬪埌 36 澶勭儹鏂戠枒浼肩偣' },
|
||
src\pages\AIAnalysis.tsx:512 | { key: '2', diagnosis: '缁勪覆澶遍厤', status: t('home.abnormal'), confidence: '90%', impact: '楂?, detail: '8 涓茬粍涓插瓨鍦ㄥ紓甯? },
|
||
src\pages\AIAnalysis.tsx:513 | { key: '3', diagnosis: '閬尅椋庨櫓', status: '杞诲井', confidence: '78%', impact: '涓?, detail: '灞€閮ㄩ伄鎸″奖鍝?2% 鍙戠數閲? },
|
||
src\pages\AIAnalysis.tsx:514 | { key: '4', diagnosis: '缁勪欢琛板噺', status: t('home.abnormal'), confidence: '86%', impact: '涓?, detail: '骞冲潎琛板噺鐜?-5.32%' },
|
||
src\pages\AIAnalysis.tsx:515 | { key: '5', diagnosis: '閫嗗彉鍣ㄥ紓甯?, status: t('roles.normal'), confidence: '93%', impact: '浣?, detail: '鎵€鏈夐€嗗彉鍣ㄨ繍琛屾甯? },
|
||
src\pages\AIAnalysis.tsx:528 | AI 寤鸿涓庡缃?src\pages\AIAnalysis.tsx:532 | { title: '寤鸿鎺柦', dataIndex: 'measure', ellipsis: true },
|
||
src\pages\AIAnalysis.tsx:534 | { title: '鏀剁泭', dataIndex: 'gain', render: g => <span style={{ color: '#00B42A', fontWeight: 600 }}>{g}</span>, width: 68 },
|
||
src\pages\AIAnalysis.tsx:546 | {record.isView ? '璇︽儏' : t('workOrder.dispatch')}
|
||
src\pages\AIAnalysis.tsx:552 | { key: '1', measure: '澶勭悊鐑枒缁勪欢', priority: '楂?, gain: '+2.15%', confidence: '92%', isView: false },
|
||
src\pages\AIAnalysis.tsx:553 | { key: '2', measure: '鎺掓煡寮傚父缁勪覆', priority: '楂?, gain: '+1.85%', confidence: '90%', isView: false },
|
||
src\pages\AIAnalysis.tsx:554 | { key: '3', measure: '娓呮礂鍙楅伄鎸″尯鍩?, priority: '涓?, gain: '+0.45%', confidence: '78%', isView: false },
|
||
src\pages\AIAnalysis.tsx:555 | { key: '4', measure: '璺熻釜琛板噺缁勪欢', priority: '涓?, gain: '+0.35%', confidence: '86%', isView: false },
|
||
src\pages\AIAnalysis.tsx:556 | { key: '5', measure: '鐩戞帶閫嗗彉鍣ㄦ晥鐜?, priority: '浣?, gain: '+0.10%', confidence: '93%', isView: true },
|
||
src\pages\AIAnalysis.tsx:570 | title={<span style={{ fontSize: 15, fontWeight: 700, color: '#1D2129' }}>鍏ㄦ爤鏁版嵁铻嶅悎鏉ユ簮</span>}
|
||
src\pages\AIAnalysis.tsx:577 | { title: '鏃犱汉鏈鸿浇鑽风儹鎴愬儚', time: '2025-05-20 09:30', icon: <ScanOutlined />, status: '鍚屾涓? },
|
||
src\pages\AIAnalysis.tsx:578 | { title: 'SCADA 瀹炴椂閬ユ祴鏁版嵁', time: '2025-05-20 09:45:12', icon: <DatabaseOutlined />, status: t('roles.normal') },
|
||
src\pages\AIAnalysis.tsx:579 | { title: '浜戠姘旇薄鍒嗘瀽绔?, time: '2025-05-20 09:45:00', icon: <CloudOutlined />, status: t('roles.normal') },
|
||
src\pages\AIAnalysis.tsx:580 | { title: '鐢电珯杩愮淮璧勪骇搴?, time: '鏈€杩戞洿鏂? 2025-05-18', icon: <RestOutlined />, status: t('roles.normal') },
|
||
src\pages\AIAnalysis.tsx:589 | <div style={{ fontSize: 12, color: '#86909C', marginTop: 4, whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }}>鏁版嵁鐐? {source.time}</div>
|
||
src\pages\AIAnalysis.tsx:592 | 鐘舵€? {source.status}
|
||
src\pages\CleanOptimization.tsx:41 | { id: '璁″垝 01', priority: '楂?, area: '鍖哄潡 15, 01', boost: '4,250 kWh', weather: '88%' },
|
||
src\pages\CleanOptimization.tsx:42 | { id: '璁″垝 02', priority: '楂?, area: '鍖哄潡 02, 11', boost: '3,180 kWh', weather: '85%' },
|
||
src\pages\CleanOptimization.tsx:43 | { id: '璁″垝 03', priority: '涓?, area: '鍖哄潡 05, 12', boost: '2,210 kWh', weather: '80%' },
|
||
src\pages\CleanOptimization.tsx:44 | { id: '璁″垝 04', priority: '涓?, area: '鍖哄潡 07, 03', boost: '1,620 kWh', weather: '78%' },
|
||
src\pages\CleanOptimization.tsx:45 | { id: '璁″垝 05', priority: '浣?, area: '鍖哄潡 17, 13', boost: '1,210 kWh', weather: '82%' },
|
||
src\pages\CleanOptimization.tsx:49 | { area: '鍖哄潡 15', priority: '楂?, duration: '4.0 h', handler: '鏉庡伐', planTime: '2025-05-26 - 05-27', status: '寰呭垱寤? },
|
||
src\pages\CleanOptimization.tsx:50 | { area: '鍖哄潡 01', priority: '楂?, duration: '3.5 h', handler: '鏉庡伐', planTime: '2025-05-26 - 05-27', status: '寰呭垱寤? },
|
||
src\pages\CleanOptimization.tsx:51 | { area: '鍖哄潡 02', priority: '楂?, duration: '2.8 h', handler: '鐜嬪伐', planTime: '2025-05-28 - 05-29', status: '寰呭垱寤? },
|
||
src\pages\CleanOptimization.tsx:52 | { area: '鍖哄潡 11', priority: '楂?, duration: '2.6 h', handler: '鐜嬪伐', planTime: '2025-05-28 - 05-29', status: '寰呭垱寤? },
|
||
src\pages\CleanOptimization.tsx:53 | { area: '鍖哄潡 05', priority: '涓?, duration: '2.2 h', handler: '璧靛伐', planTime: '2025-05-29 - 05-30', status: '寰呭垱寤? },
|
||
src\pages\CleanOptimization.tsx:70 | { date: 'D-7', value: 800, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:71 | { date: 'D-7', value: 1200, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:72 | { date: 'D-6', value: 850, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:73 | { date: 'D-6', value: 1250, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:74 | { date: 'D-5', value: 900, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:75 | { date: 'D-5', value: 1300, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:76 | { date: 'D-4', value: 880, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:77 | { date: 'D-4', value: 1280, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:78 | { date: 'D-3', value: 920, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:79 | { date: 'D-3', value: 1320, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:80 | { date: 'D-2', value: 950, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:81 | { date: 'D-2', value: 1350, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:82 | { date: 'D-1', value: 980, type: '娓呮礂鍓嶅彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:83 | { date: 'D-1', value: 1380, type: '娓呮礂鍚庡彂鐢甸噺' },
|
||
src\pages\CleanOptimization.tsx:117 | { name: '鐏板皹绉疮', value: 6120, color: '#165DFF' },
|
||
src\pages\CleanOptimization.tsx:118 | { name: '楦熺勃閬尅', value: 1480, color: '#F53F3F' },
|
||
src\pages\CleanOptimization.tsx:119 | { name: '娌欏皹娌夌Н', value: 1120, color: '#F7BA1E' },
|
||
src\pages\CleanOptimization.tsx:125 | '楂?: { color: '#ff4d4f', bg: '#fff1f0' },
|
||
src\pages\CleanOptimization.tsx:126 | '涓?: { color: '#faad14', bg: '#fff7e6' },
|
||
src\pages\CleanOptimization.tsx:127 | '浣?: { color: '#52c41a', bg: '#f6ffed' },
|
||
src\pages\CleanOptimization.tsx:169 | title: '姹℃煋鎸囨暟',
|
||
src\pages\CleanOptimization.tsx:172 | tag: '涓瓑',
|
||
src\pages\CleanOptimization.tsx:174 | trend: '杈冩槰鏃?鈻?5.3',
|
||
src\pages\CleanOptimization.tsx:181 | title: '寤鸿娓呮礂鍖哄潡鏁?,
|
||
src\pages\CleanOptimization.tsx:184 | trend: '鍗犳瘮 40%',
|
||
src\pages\CleanOptimization.tsx:190 | title: '棰勮鍙戠數鎻愬崌',
|
||
src\pages\CleanOptimization.tsx:193 | trend: '鍗犲綋鍓嶆棩鍙戠數閲?14.2%',
|
||
src\pages\CleanOptimization.tsx:199 | title: '棰勮鏀剁泭鎻愬崌',
|
||
src\pages\CleanOptimization.tsx:202 | trend: '鎸夌數浠?0.568 鍏?kWh 璁$畻',
|
||
src\pages\CleanOptimization.tsx:208 | title: '涓婃娓呮礂鏃堕棿',
|
||
src\pages\CleanOptimization.tsx:211 | trend: '璺濅粖 12 澶?,
|
||
src\pages\CleanOptimization.tsx:217 | title: '娓呮礂鎴愭湰棰勪及',
|
||
src\pages\CleanOptimization.tsx:220 | trend: '棰勮鍗曟娓呮礂鎬绘垚鏈?,
|
||
src\pages\CleanOptimization.tsx:283 | <Typography.Title level={4} style={{ margin: 0, fontSize: 'clamp(18px, 1.5vw, 24px)', }}>娓呮礂浼樺寲绠$悊</Typography.Title>
|
||
src\pages\CleanOptimization.tsx:287 | <Text type="secondary" style={{ fontSize: 12 }}><ReloadOutlined /> 鏇存柊鏃堕棿锛?025-05-24 09:30</Text>
|
||
src\pages\CleanOptimization.tsx:288 | <Button icon={<ReloadOutlined />}>鍒锋柊鏁版嵁</Button>
|
||
src\pages\CleanOptimization.tsx:290 | <Option value="7d">鏈€杩?7 澶?/Option>
|
||
src\pages\CleanOptimization.tsx:291 | <Option value="30d">鏈€杩?30 澶?/Option>
|
||
src\pages\CleanOptimization.tsx:293 | <Button type="primary" icon={<DownloadOutlined />}>瀵煎嚭鎶ュ憡</Button>
|
||
src\pages\CleanOptimization.tsx:300 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>姹℃煋瓒嬪娍鍒嗘瀽</span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }}>
|
||
src\pages\CleanOptimization.tsx:302 | <span>姹℃煋鎸囨暟</span>
|
||
src\pages\CleanOptimization.tsx:304 | <span style={{ display: 'flex', alignItems: 'center' }}><div style={{ width: 8, height: 8, background: '#165DFF', marginRight: 4 }}></div>姹℃煋鎸囨暟</span>
|
||
src\pages\CleanOptimization.tsx:305 | <span style={{ display: 'flex', alignItems: 'center' }}><div style={{ width: 8, height: 2, borderBottom: '1px dashed #F53F3F', marginRight: 4 }}></div>闃堝€?/span>
|
||
src\pages\CleanOptimization.tsx:316 | name: '姹℃煋鎸囨暟',
|
||
src\pages\CleanOptimization.tsx:322 | name: '闃堝€?,
|
||
src\pages\CleanOptimization.tsx:331 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>鍙戠數鎹熷け鏋勬垚 <Text type="secondary" style={{ fontWeight: 400, fontSize: 12 }}>(杩?7 澶?</Text></span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }}>
|
||
src\pages\CleanOptimization.tsx:341 | <div style={{ fontSize: 10, color: '#86909C' }}>鎬绘崯澶辩數閲?/div>
|
||
src\pages\CleanOptimization.tsx:348 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>娓呮礂鍓嶅悗瀵规瘮鍒嗘瀽 <Text type="secondary" style={{ fontWeight: 400, fontSize: 12 }}>(杩戜竴娆?</Text></span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }}>
|
||
src\pages\CleanOptimization.tsx:357 | name: '娓呮礂鍓嶅彂鐢甸噺(kWh)',
|
||
src\pages\CleanOptimization.tsx:362 | name: '娓呮礂鍚庡彂鐢甸噺(kWh)',
|
||
src\pages\CleanOptimization.tsx:369 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>娓呮礂鏀剁泭娣卞害娴嬬畻</span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }}>
|
||
src\pages\CleanOptimization.tsx:372 | <div style={{ fontSize: 11, color: '#86909C', marginBottom: 4 }}>棰勮鍙戠數鎻愬崌</div>
|
||
src\pages\CleanOptimization.tsx:376 | <div style={{ fontSize: 11, color: '#86909C', marginBottom: 4 }}>鐢典环 (鍚◣)</div>
|
||
src\pages\CleanOptimization.tsx:377 | <div style={{ fontSize: 15, fontWeight: 800 }}>0.568 <span style={{ fontSize: 11, fontWeight: 400 }}>鍏?kWh</span></div>
|
||
src\pages\CleanOptimization.tsx:380 | <div style={{ fontSize: 11, color: '#86909C', marginBottom: 4 }}>棰勮鍑€鏀剁泭</div>
|
||
src\pages\CleanOptimization.tsx:381 | <div style={{ fontSize: 15, fontWeight: 800, color: '#00B42A' }}>7,286 <span style={{ fontSize: 11, fontWeight: 400 }}>鍏?/span></div>
|
||
src\pages\CleanOptimization.tsx:384 | <div style={{ fontSize: 11, color: '#86909C', marginBottom: 4 }}>ROI (鎶曡祫鍥炴姤)</div>
|
||
src\pages\CleanOptimization.tsx:390 | <span style={{ fontSize: 12, color: '#86909C' }}>鍥炴敹鍛ㄦ湡</span>
|
||
src\pages\CleanOptimization.tsx:391 | <span style={{ fontSize: 18, fontWeight: 800 }}>0.44 <Text style={{ fontSize: 12 }}>澶?/Text></span>
|
||
src\pages\CleanOptimization.tsx:399 | title={<span style={{ fontSize: 15, fontWeight: 700 }}>鐢电珯姹℃煋鍒嗗竷涓庡缓璁竻娲楀尯鍧楀垎甯冨浘</span>}
|
||
src\pages\CleanOptimization.tsx:406 | <span style={{ color: '#86909C' }}>姹℃煋绛夌骇:</span>
|
||
src\pages\CleanOptimization.tsx:407 | <Badge color="#F53F3F" text="浼樺厛娓呮礂 (>75)" />
|
||
src\pages\CleanOptimization.tsx:408 | <Badge color="#FF7D00" text="杈冮珮 (50-75)" />
|
||
src\pages\CleanOptimization.tsx:409 | <Badge color="#F7BA1E" text="涓瓑 (25-50)" />
|
||
src\pages\CleanOptimization.tsx:410 | <Badge color="#D1FF6B" text="杈冧綆 (10-25)" />
|
||
src\pages\CleanOptimization.tsx:411 | <Badge color="#00B42A" text="娓呮磥 (<10)" />
|
||
src\pages\CleanOptimization.tsx:438 | <div style={{ fontSize: 9, opacity: 0.9 }}>鍖哄潡 {block.id}</div>
|
||
src\pages\CleanOptimization.tsx:455 | title={<span style={{ fontSize: 15, fontWeight: 700 }}>娓呮礂宸ュ崟鏅鸿兘棰勮</span>}
|
||
src\pages\CleanOptimization.tsx:456 | extra={<Button type="link" size="small">鏌ョ湅鏇村 <ChevronRight size={14} /></Button>}
|
||
src\pages\CleanOptimization.tsx:463 | { title: '鍖哄潡', dataIndex: 'area', key: 'area' },
|
||
src\pages\CleanOptimization.tsx:465 | { title: '棰勮宸ユ椂', dataIndex: 'duration', key: 'duration' },
|
||
src\pages\CleanOptimization.tsx:467 | { title: '璁″垝鏃堕棿', dataIndex: 'planTime', key: 'planTime' },
|
||
src\pages\CleanOptimization.tsx:469 | { title: t('roles.actions'), key: 'action', render: () => <Button type="primary" size="small" style={{ borderRadius: 4 }}>鍒涘缓宸ュ崟</Button> },
|
||
src\pages\CleanOptimization.tsx:481 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>鏅鸿兘娓呮礂绛栫暐寤鸿</span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 0 }}>
|
||
src\pages\CleanOptimization.tsx:483 | <Text type="secondary" style={{ fontSize: 11 }}>绠楁硶妯″瀷锛氬鍥犲瓙鍔犳潈缁煎悎浼樺寲妯″瀷 (v2.0)</Text>
|
||
src\pages\CleanOptimization.tsx:487 | { title: '鎺ㄨ崘璁″垝', dataIndex: 'id', key: 'id', width: 85 },
|
||
src\pages\CleanOptimization.tsx:488 | { title: t('workOrder.priority'), dataIndex: 'priority', key: 'priority', render: (p) => <span style={{ color: p === '楂? ? '#F53F3F' : '#F7BA1E', fontWeight: 600 }}>{p}</span>, width: 65 },
|
||
src\pages\CleanOptimization.tsx:489 | { title: '寤鸿鍖哄潡', dataIndex: 'area', key: 'area' },
|
||
src\pages\CleanOptimization.tsx:490 | { title: '棰勮鎻愬崌', dataIndex: 'boost', key: 'boost', render: (b) => <span style={{ color: '#00B42A', fontWeight: 600 }}>{b}</span> },
|
||
src\pages\CleanOptimization.tsx:491 | { title: '澶╂皵閫傚疁搴?, dataIndex: 'weather', key: 'weather', render: (w) => <Space size={4}>{w} <SunOutlined style={{ color: '#F7BA1E' }} /></Space> },
|
||
src\pages\CleanOptimization.tsx:500 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>娓呮礂鎶€鏈柟妗堟帹鑽?/span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }}>
|
||
src\pages\CleanOptimization.tsx:506 | <Text strong style={{ fontSize: 13, color: '#391085' }}>鏅鸿兘鏈哄櫒浜烘柟妗?/Text>
|
||
src\pages\CleanOptimization.tsx:508 | <div style={{ fontSize: 11, color: '#531DAB', marginBottom: 12, lineHeight: 1.5 }}>鍏ㄨ嚜鍔ㄦ竻娲楋紝閫傚悎澶ч潰绉钩鏁村尯鍧楋紝鏁堢巼鏋侀珮銆?/div>
|
||
src\pages\CleanOptimization.tsx:510 | <span style={{ color: '#8c8c8c' }}>棰勮鐢ㄦ按:</span>
|
||
src\pages\CleanOptimization.tsx:511 | <Text strong>18 鍚?/Text>
|
||
src\pages\CleanOptimization.tsx:519 | <Text strong style={{ fontSize: 13, color: '#003A8C' }}>浜哄伐绮剧粏鍖栨柟妗?/Text>
|
||
src\pages\CleanOptimization.tsx:521 | <div style={{ fontSize: 11, color: '#0050B3', marginBottom: 12, lineHeight: 1.5 }}>鐏垫椿澶勭悊閬尅鍙婁弗閲嶆薄鍨㈠尯鍩燂紝閫傚悎澶嶆潅鍦板舰銆?/div>
|
||
src\pages\CleanOptimization.tsx:523 | <span style={{ color: '#8c8c8c' }}>棰勮鐢ㄦ按:</span>
|
||
src\pages\CleanOptimization.tsx:524 | <Text strong>32 鍚?/Text>
|
||
src\pages\CleanOptimization.tsx:531 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>澶╂皵涓庤祫婧愮幆澧冨弬鑰?<Text type="secondary" style={{ fontSize: 12, fontWeight: 400 }}>(璁″垝 01)</Text></span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }
|
||
src\pages\CleanOptimization.tsx:535 | <div style={{ fontSize: 11, color: '#86909C' }}>05-26 (鍛ㄤ竴)</div>
|
||
src\pages\CleanOptimization.tsx:537 | <div style={{ fontSize: 12, fontWeight: 700 }}>澶氫簯 18~28鈩?/div>
|
||
src\pages\CleanOptimization.tsx:542 | <div style={{ fontSize: 11, color: '#86909C' }}>05-27 (鍛ㄤ簩)</div>
|
||
src\pages\CleanOptimization.tsx:544 | <div style={{ fontSize: 12, fontWeight: 700 }}>鏅?19~30鈩?/div>
|
||
src\pages\CleanOptimization.tsx:550 | <Wind size={14} style={{ color: '#86909C' }} /><span style={{ fontSize: 11 }}>椋庨€? <b style={{ color: '#00B42A' }}>2.1m/s (閫傚疁)</b></span>
|
||
src\pages\CleanOptimization.tsx:553 | <CloudRain size={14} style={{ color: '#86909C' }} /><span style={{ fontSize: 11 }}>闄嶆按: <b style={{ color: '#86909C' }}>10% (浣?</b></span>
|
||
src\pages\CleanOptimization.tsx:556 | <Droplets size={14} style={{ color: '#165DFF' }} /><span style={{ fontSize: 11 }}>姘存簮: <b style={{ color: '#165DFF' }}>鍏呰冻 (50t)</b></span>
|
||
src\pages\CleanOptimization.tsx:563 | <Card title={<span style={{ fontSize: 14, fontWeight: 700 }}>娓呮礂浣滀笟褰卞搷缁煎悎璇勪及</span>} bordered={false} style={cardStyle} bodyStyle={{ padding: 16 }}>
|
||
src\pages\CleanOptimization.tsx:566 | { icon: <Droplets size={18} color="#165DFF" />, bg: '#E8F3FF', label: '棰勮鐢ㄦ按閲?, value: '18 鍚?, sub: '鑺傛按 30% (鏈哄櫒浜?', subColor: '#00B42A' },
|
||
src\pages\CleanOptimization.tsx:567 | { icon: <Calendar size={18} color="#165DFF" />, bg: '#E8F3FF', label: '棰勮鎬昏€楁椂', value: '12 灏忔椂', sub: '骞惰浣滀笟 2 缁?, subColor: '#86909C' },
|
||
src\pages\CleanOptimization.tsx:568 | { icon: <Leaf size={18} color="#00B42A" />, bg: '#E8FFEA', label: '纰冲噺鎺掕础鐚?, value: '6.85 鍚?, sub: 'CO鈧?鍑忔帓閲?, subColor: '#86909C' },
|
||
src\pages\CleanOptimization.tsx:569 | { icon: <ShieldCheck size={18} color="#F7BA1E" />, bg: '#FFF7E8', label: '浣滀笟椋庨櫓璇勪及', value: t('aiAnalysis.lowRisk'), valueColor: '#00B42A', sub: '瀹夊叏鍙帶', subColor: '#86909C' },
|
||
src\pages\CleanOptimization.tsx:586 | 浠ヤ笂鍐崇瓥寤鸿鍩轰簬鍘嗗彶鏁版嵁銆佸疄鏃舵皵璞″強鍙戠數鎹熷け妯″瀷缁煎悎璁$畻銆傚疄闄呮墽琛屾晥鏋滃彲鑳藉彈澶╂皵楠ゅ彉銆佺幇鍦虹獊鍙戦殰纰嶇瓑涓嶇‘瀹氬洜绱犲奖鍝嶃€?src\pages\Home.tsx:48 | province: "姹熻嫃鐪?,
|
||
src\pages\Home.tsx:49 | city: "鍗楅€氬競",
|
||
src\pages\Home.tsx:50 | district: "宕囧窛鍖?,
|
||
src\pages\Home.tsx:52 | weather: "鏅?,
|
||
src\pages\Home.tsx:55 | wind_direction: "瑗垮崡椋?,
|
||
src\pages\Home.tsx:56 | wind_power: "2绾?,
|
||
src\pages\Home.tsx:91 | { name: t('home.combinerBox'), count: "2/2", status: "寮傚父 1" },
|
||
src\pages\Home.tsx:92 | { name: t('home.inverter'), count: "3/3", status: "寮傚父 1" },
|
||
src\pages\Home.tsx:93 | { name: "鐢佃〃", count: "1/1", status: t('roles.normal') },
|
||
src\pages\Home.tsx:98 | { name: "鍗囧帇绔欏畨闃插贰妫€浠诲姟", device: "UAV-01", status: "鑽夌", time: "04-29T...", person: "寮犺繍缁? },
|
||
src\pages\Home.tsx:99 | { name: "B鍖烘竻娲椾换鍔?, device: "CLEAN-01", status: "寰呮墽琛?, time: "04-29T...", person: "寮犺繍缁? },
|
||
src\pages\Home.tsx:100 | { name: "A鍖哄贰妫€浠诲姟", device: "ROBOT-01", status: "宸叉淳鍙?, time: "04-29T...", person: "寮犺繍缁? }
|
||
src\pages\Home.tsx:104 | { type: "AI鍒嗘瀽", content: "AI鍙戠幇閫嗗彉鍣ㄦ俯搴︿笌缁勪覆鐢垫祦瀛樺湪杞诲井寮傚父锛屽缓璁紭鍏堝鏍窤鍖鸿澶囥€?, desc: "鍙戠幇2澶勭粍浠跺瓨鍦ㄥ紓甯哥儹鏂? },
|
||
src\pages\Home.tsx:105 | { type: t('constants.critical'), content: "INV-A02鏁g儹妫€淇缓璁細寤鸿妫€鏌NV-A02鏁g儹椋庢墖銆侀閬撳拰杩愯璐熻浇锛屾寔缁珮娓╂椂杞淮淇伐鍗曘€?, desc: "3涓粍涓插瓨鍦ㄥ彂鐢靛紓甯? },
|
||
src\pages\Home.tsx:106 | { type: t('constants.critical'), content: "A05闃靛垪鐑枒澶勭疆寤鸿锛氬缓璁幇鍦哄鏍窹V-A05-018鑷砅V-A05-020缁勪欢鎺ョ嚎鍜屾梺璺簩鏋佺鐘舵€侊紝蹇呰鏃舵洿鎹㈠紓甯哥粍浠躲€?, desc: "鏁翠綋鍙戠數鍋忓樊-2.8%" }
|
||
src\pages\Home.tsx:147 | { name: '杩涜涓?, value: 35, color: '#52c41a' },
|
||
src\pages\Home.tsx:148 | { name: '寰呭紑濮?, value: 20, color: '#faad14' },
|
||
src\pages\Home.tsx:168 | id: '', // 涓婚敭ID锛堟柊澧炰负绌猴級
|
||
src\pages\Home.tsx:169 | orderNo: '', // 宸ュ崟缂栧彿锛堝悗绔敓鎴愶級
|
||
src\pages\Home.tsx:170 | orderTitle: '鍏変紡缁勪欢娓呮礂宸ュ崟', // 宸ュ崟鏍囬
|
||
src\pages\Home.tsx:171 | sourceType: 3, // 鏉ユ簮 3=娓呮礂
|
||
src\pages\Home.tsx:172 | orderType: 3, // 绫诲瀷 3=娓呮礂
|
||
src\pages\Home.tsx:173 | priorityLevel: 2, // 浼樺厛绾?2=涓?src\pages\Home.tsx:175 | deviceName: currentStation.siteName || '鐢电珯',
|
||
src\pages\Home.tsx:176 | deviceType: 1, // 璁惧绫诲瀷锛氱數绔?src\pages\Home.tsx:189 | orderStatus: 1, // 鐘舵€?1=寰呭鐞?src\pages\Home.tsx:192 | taskDescription: '鏍规嵁鐢电珯娓呮磥搴﹀缓璁繘琛岀粍浠舵竻娲楋紝鎻愬崌鍙戠數鏁堢巼',
|
||
src\pages\Home.tsx:193 | aiSuggestion: '绯荤粺鑷姩鐢熸垚娓呮礂寤鸿锛岄璁℃彁鍗囧彂鐢甸噺2.6%',
|
||
src\pages\Home.tsx:194 | requiredEquipment: '娓呮礂璁惧銆佹按鏋€佹姽甯?,
|
||
src\pages\Home.tsx:195 | estimatedImpact: '2.6', // 褰卞搷鍙戠數閲?%) 鏁板瓧
|
||
src\pages\Home.tsx:203 | messageApi.success('鉁?娓呮礂宸ュ崟鐢熸垚鎴愬姛');
|
||
src\pages\Home.tsx:205 | messageApi.error(res.msg || '鉂?宸ュ崟鐢熸垚澶辫触');
|
||
src\pages\Home.tsx:208 | messageApi.error('鉂?宸ュ崟鐢熸垚鎺ュ彛璋冪敤澶辫触');
|
||
src\pages\Home.tsx:225 | messageApi.error('鍔犺浇澶辫触');
|
||
src\pages\Home.tsx:244 | { title: t('home.todayGeneration'), value: '4,752', unit: t('home.kWh'), sub: '鏃ョ洰鏍?5,000 kWh', color: '#00B42A', bg: '#E8FFEA', icon: <ThunderboltOutlined /> },
|
||
src\pages\Home.tsx:245 | { title: t('home.currentPower'), value: '812.6', unit: 'kW', sub: '瑁呮満瀹归噺 1,000 kWp', color: '#165DFF', bg: '#E8F3FF', icon: <DashboardOutlined /> },
|
||
src\pages\Home.tsx:246 | { title: 'Performance Ratio', value: '82.6%', unit: '', sub: '鏄ㄦ棩 81.3% 鈫?.3%', color: '#00B42A', bg: '#E8FFEA', icon: <BarChartOutlined /> },
|
||
src\pages\Home.tsx:247 | { title: t('home.systemAvailability'), value: '99.35%', unit: '', sub: '鏄ㄦ棩 99.12% 鈫?.23%', color: '#165DFF', bg: '#E8F3FF', icon: <RiseOutlined /> },
|
||
src\pages\Home.tsx:248 | { title: t('home.alertCount'), value: alarmList.length, unit: '', sub: `鏈鐞?${alarmList.filter(item => item.handleStatus == 1).length} / 宸插叧闂?${alarmList.filter(item => item.handleStatus == 2).length}`, color: '#F53F3F',
|
||
src\pages\Home.tsx:286 | <div style={{ fontSize: 11, color: '#666', marginBottom: 8 }}>浠婃棩鍙戠數鍔熺巼瓒嬪娍 (kW)</div>
|
||
src\pages\Home.tsx:322 | series={[{ key: 'efficiency', name: '鏁堢巼', color: '#165DFF' }]}
|
||
src\pages\Home.tsx:325 | <Card title={<span style={{ fontWeight: 800 }}>{t('home.maintenanceProgress')}</span>} extra={<Button type="link" size="small">鏇村 ></Button>} bordered={false} style={cardStyle} bodyStyle={{ padding: '12px' }}>
|
||
src\pages\Home.tsx:337 | <div style={{ fontSize: 12, color: '#999' }}>鎬讳换鍔?/div>
|
||
src\pages\Home.tsx:374 | title="澶栭儴绯荤粺"
|
||
src\pages\Home.tsx:384 | <Card title={<span style={{ fontWeight: 800 }}>{t('home.recentInspection')}</span>} extra={<Button type="link" size="small">鏇村 ></Button>} bordered={false} style={{ ...cardStyle, height: "100%" }} bodyStyle={{ padding
|
||
src\pages\Home.tsx:390 | { title: '宸℃绫诲瀷', dataIndex: 'name', key: 'name', ellipsis: true },
|
||
src\pages\Home.tsx:391 | { title: '宸℃鏃堕棿', dataIndex: 'time', key: 'time' },
|
||
src\pages\Home.tsx:392 | { title: '宸℃浜哄憳', dataIndex: 'person', key: 'person', render: (t) => t.substring(0, 10) },
|
||
src\pages\Home.tsx:393 | { title: t('roles.status'), dataIndex: 'status', key: 'status', render: () => <span style={{ color: '#52c41a', fontSize: 12 }}>鈼?宸插畬鎴?/span> },
|
||
src\pages\Home.tsx:407 | <div style={{ fontSize: 16, fontWeight: 600, color: '#1D2129' }}>鐑偣妫€娴?/div>
|
||
src\pages\Home.tsx:408 | <div style={{ fontSize: 14, color: '#4E5969', marginTop: 4 }}>鍙戠幇 <span style={{ color: '#165DFF', fontWeight: 600 }}>2</span> 澶勭粍浠跺瓨鍦ㄥ紓甯哥儹鏂?/div>
|
||
src\pages\Home.tsx:419 | <div style={{ fontSize: 16, fontWeight: 600, color: '#1D2129' }}>缁勪覆寮傚父</div>
|
||
src\pages\Home.tsx:420 | <div style={{ fontSize: 14, color: '#4E5969', marginTop: 4 }}><span style={{ color: '#165DFF', fontWeight: 600 }}>3</span> 涓粍涓插瓨鍦ㄥ彂鐢靛紓甯?/div>
|
||
src\pages\Home.tsx:431 | <div style={{ fontSize: 16, fontWeight: 600, color: '#1D2129' }}>鍙戠數鍋忓樊鍒嗘瀽</div>
|
||
src\pages\Home.tsx:432 | <div style={{ fontSize: 14, color: '#4E5969', marginTop: 4 }}>鏁翠綋鍙戠數鍋忓樊 <span style={{ color: '#165DFF', fontWeight: 600 }}>-2.8%</span></div>
|
||
src\pages\Home.tsx:447 | <Card title={<span style={{ fontWeight: 800 }}>{t('alerts.realtimeAlert')}</span>} extra={<Button type="link" size="small" onClick={() => navigate('/alerts/all')}>鏇村 ></Button>} bordered={false} style={cardStyle} body
|
||
src\pages\Home.tsx:449 | <span style={{ flex: 3 }}>鍛婅鍐呭</span>
|
||
src\pages\Home.tsx:450 | <span style={{ flex: 1, textAlign: 'center' }}>绾у埆</span>
|
||
src\pages\Home.tsx:451 | <span style={{ flex: 1.5, textAlign: 'right' }}>鍙戠敓鏃堕棿</span>
|
||
src\pages\Home.tsx:471 | <Card title={<span style={{ fontWeight: 800 }}>{t('home.deviceOnlineStatus')}</span>} extra={<Button type="link" size="small">鏇村 ></Button>} bordered={false} style={cardStyle} bodyStyle={{ padding: '12px' }}>
|
||
src\pages\Home.tsx:474 | { name: '缁勪欢闃靛垪', count: '320/320', icon: <AppstoreOutlined /> },
|
||
src\pages\Home.tsx:477 | { name: '姘旇薄绔?, count: '1/1', icon: <CloudOutlined /> },
|
||
src\pages\Home.tsx:479 | { name: '鐜浼犳劅鍣?, count: '8/8', icon: <ExperimentOutlined /> },
|
||
src\pages\Home.tsx:496 | <Card title={<span style={{ fontWeight: 800 }}>{t('home.weatherInfo')}</span>} extra={<Button type="link" size="small">璇︾粏 ></Button>} bordered={false} style={cardStyle} bodyStyle={{ padding: '12px' }}>
|
||
src\pages\Home.tsx:506 | <div>婀垮害 {weatherdata.humidity}%</div>
|
||
src\pages\Home.tsx:516 | <Card title={<span style={{ fontWeight: 800 }}>{t('clean.cleaningSuggestion')}</span>} extra={<Button type="link" size="small">鏇村 ></Button>} bordered={false} style={cardStyle} bodyStyle={{ padding: '12px' }}>
|
||
src\pages\Home.tsx:521 | { name: '娓呮磥搴?, value: 85, color: '#00B42A' },
|
||
src\pages\Home.tsx:534 | <div style={{ fontSize: 12, color: '#666', marginBottom: 4 }}>寤鸿娓呮礂鏃堕棿: <span style={{ color: '#165DFF' }}>3澶╁唴</span></div>
|
||
src\pages\Home.tsx:535 | <div style={{ fontSize: 12, color: '#666', marginBottom: 4 }}>棰勮鎻愬崌鍙戠數閲? <span style={{ color: '#00B42A' }}>2.6 %</span></div>
|
||
src\pages\Home.tsx:536 | <div style={{ fontSize: 12, color: '#666' }}>棰勮鎻愬崌鐢甸噺: <span style={{ color: '#00B42A' }}>120 kWh/澶?/span></div>
|
||
src\pages\Home.tsx:545 | 鐢熸垚娓呮礂宸ュ崟
|
||
src\pages\Profile.tsx:49 | const message = utils.message; // 浣跨敤鍏ㄥ眬 message
|
||
src\pages\Profile.tsx:155 | height: '100%', // 馃敟 楂樺害 100%
|
||
src\pages\Profile.tsx:160 | <div style={{ padding: '20px 0', flex: 1 }}> {/* 馃敟 鑷姩濉厖楂樺害 */}
|
||
src\pages\Profile.tsx:228 | height: '100%', // 馃敟 楂樺害 100%
|
||
src\pages\RealTimeMonitor.tsx:139 | title="澶栭儴绯荤粺"
|
||
src\pages\ReportCenter.tsx:160 | { name: t('report.stationMonthly'), time: '2025-05-31 08:15', operator: '寮犺繍缁?, type: t('report.generationReport'), status: t('report.generated') },
|
||
src\pages\ReportCenter.tsx:163 | { name: t('report.operationSummary'), time: '2025-05-31 09:00', operator: '鏉庡伐绋嬪笀', type: t('report.operationReport'), status: t('report.generated') },
|
||
src\pages\ReportCenter.tsx:164 | { name: t('report.cleaningEffectReport'), time: '2025-05-28 10:20', operator: '鐜嬭繍缁?, type: t('report.operationReport'), status: t('report.generated') },
|
||
src\pages\ReportCenter.tsx:490 | { name: '寮犺繍缁?, role: t('report.roleOmSupervisor'), img: 'https://img.icons8.com/fluency/48/user-male-circle.png' },
|
||
src\pages\ReportCenter.tsx:491 | { name: '鏉庡伐绋嬪笀', role: t('report.roleStationEngineer'), img: 'https://img.icons8.com/fluency/48/user-male-circle.png' },
|
||
src\pages\ReportCenter.tsx:492 | { name: '鐜嬭繍缁?, role: t('report.roleDeviceOm'), img: 'https://img.icons8.com/fluency/48/user-male-circle.png' },
|
||
src\pages\ReportCenter.tsx:493 | { name: '闄堢粡鐞?, role: t('report.roleOmManager'), img: 'https://img.icons8.com/fluency/48/user-male-circle.png' },
|
||
src\pages\SystemSetting.tsx:67 | <Text type="secondary" style={{ fontSize: '12px' }}>鍛婅瑙勫垯閰嶇疆銆佺敤鎴疯鑹层€侀€氱煡绠$悊涓庣郴缁熷弬鏁拌缃?/Text>
|
||
src\pages\Users.tsx:87 | roleIds: roleIds, // 鍥炲~澶氶€夎鑹?src\pages\Users.tsx:111 | roleIds: values.roleIds || [], // 鐩存帴鎻愪氦鏁扮粍
|
||
src\pages\Video.tsx:45 | case '瀹夐槻鍨?:
|
||
src\pages\Video.tsx:51 | case '杩愯緭鍨?:
|
||
src\pages\Video.tsx:57 | case '宸℃鍨?:
|
||
src\pages\WorkOrder.tsx:70 | const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>([]); // 鎵归噺閫変腑
|
||
src\pages\WorkOrder.tsx:78 | todayAdd: 0, // 浠婃棩鏂板宸ュ崟
|
||
src\pages\WorkOrder.tsx:79 | pending: 0, // 寰呭鐞嗘€绘暟
|
||
src\pages\WorkOrder.tsx:80 | pendingHigh: 0, // 寰呭鐞嗛珮浼樺厛绾?src\pages\WorkOrder.tsx:81 | running: 0, // 鎵ц涓?src\pages\WorkOrder.tsx:82 | finishedMonth: 0, // 鏈湀宸插畬鎴?src\pages\WorkOrder.tsx:83 | finishRate: '0', // 鎸夋椂瀹屾垚鐜?src\pages\WorkOrder.tsx:84 | avgHandleHour: 0, // 骞冲潎澶勭悊鏃堕暱
|
||
src\pages\WorkOrder.tsx:85 | aiCreate: 0, // AI鑷姩鐢熸垚宸ュ崟
|
||
src\pages\WorkOrder.tsx:86 | todayAddDiff: '', // 浠婃棩鏂板瀵规瘮鏄ㄦ棩
|
||
src\pages\WorkOrder.tsx:87 | avgDiff: '' // 骞冲潎鏃堕暱瀵规瘮涓婂懆
|
||
src\pages\WorkOrder.tsx:93 | const isShowDispatch = userInfo?.roleId !== 26; //鏅€氱敤鎴?src\pages\WorkOrder.tsx:233 | assigneeId: values.assignUserId, // 閫変腑浜哄憳ID
|
||
src\pages\WorkOrder.tsx:320 | todayAddDiff: '+3', // 濡傞渶鐪熷疄鏄ㄦ棩瀵规瘮锛屽崟鐙姹傛槰鏃ョ粺璁℃帴鍙?src\pages\WorkOrder.tsx:590 | handleResult: '宸插鐞嗗畬鎴?,
|
||
src\pages\WorkOrder.tsx:612 | orderStatus: 3, // 宸插畬鎴?src\pages\WorkOrder.tsx:675 | const levelText = levelNum2Text[currentDetail?.priorityLevel]; //鏁板瓧杞瓧绗︿覆
|
||
src\pages\WorkOrder.tsx:742 | setSelectedRowKeys([]); // 娓呯┖閫変腑
|
||
src\pages\WorkOrder.tsx:787 | setSelectedRowKeys([]); // 娓呯┖閫変腑
|
||
src\pages\WorkOrder.tsx:788 | getWorkOrderList(); // 鍒锋柊鍒楄〃
|
||
src\pages\WorkOrder.tsx:797 | fetchWeekAlarmData(); // 鏂板鍔犺浇7澶╁憡璀?src\pages\WorkOrder.tsx:1602 | <Option value={1}>ERROR(楂?</Option><Option value={2}>WARNING</Option><Option value={3}>INFO</Option>
|
||
src\pages\WorkOrder.tsx:1627 | <FormItem name="id" label="宸ュ崟ID" hidden>
|
||
src\pages\WorkOrder.tsx:1672 | <FormItem name="orderIds" label="宸ュ崟ID" hidden><Input /></FormItem>
|
||
src\pages\WorkOrder.tsx:1700 | placeholder="璇烽€夋嫨璁惧"
|
||
src\pages\WorkOrder.tsx:1711 | { label: <span>devices.robot</span>, options: devices.map(item => ({ value: item.device_sn || item.serialNumber, label: item.deviceAlias || item.deviceName || '鏈煡璁惧' })) },
|
||
src\pages\WorkOrder.tsx:1712 | { label: <span>constants.uav</span>, options: planedevices.map(item => ({ value: item.device_sn, label: item.drone_callsign || item.callsign || '鏈煡璁惧' })) },
|
||
src\pages\WorkOrder.tsx:1763 | placeholder="璇烽€夋嫨鎵ц寮€濮嬫椂闂?
|
||
src\pages\WorkOrder.tsx:1781 | <Option value="宸插鐞嗗畬鎴?>{t('workOrder.handledCompleted')}</Option><Option value="宸蹭慨澶?>{t('workOrder.fixed')}</Option><Option value="鏃犻渶澶勭悊">{t('workOrder.noActionNeeded')}</Option><Option value="闂宸查棴鐜?>{t('workOrder.issueClo
|
||
src\router\index.tsx:248 | { path: 'notice', element: <Suspense fallback={<PageFallback />}><div style={{ padding: 20 }}><h2>閫氱煡绛栫暐椤甸潰</h2></div></Suspense> },
|
||
src\router\index.tsx:250 | { path: 'dataSafety', element: <Suspense fallback={<PageFallback />}><div style={{ padding: 20 }}><h2>鏁版嵁涓庡畨鍏ㄩ〉闈?/h2></div></Suspense> },
|
||
src\router\index.tsx:327 | <p className="text-lg font-medium">妯″潡寮€鍙戜腑</p>
|
||
src\store\index.ts:6 | import stationReducer from './stationSlice'; // 馃憟 鍔犺繖涓?src\store\index.ts:11 | station: stationReducer, // 馃憟 鍔犺繖涓?src\store\stationSlice.ts:14 | currentStation: loadStationFromStorage(), // 褰撳墠閫変腑鍦虹珯锛堝畬鏁村璞★級
|
||
src\store\stationSlice.ts:15 | stationId: loadStationFromStorage()?.id || null, // 鏂逛究鐩存帴鐢?id
|
||
src\store\userSlice.ts:18 | localStorage.setItem('userInfo', JSON.stringify(res)); // 馃憟 淇濆瓨鐢ㄦ埛淇℃伅
|
||
src\store\userSlice.ts:53 | userInfo: loadUserFromStorage(), // 馃憟 鍒锋柊鑷姩鎭㈠
|
||
src\types\index.ts:72 | tenantCode?: string; // 澶氱鎴风櫥褰曟椂浼犲叆
|
||
src\types\index.ts:79 | expiresIn?: number; // token 杩囨湡鏃堕棿锛堢锛?src\types\index.ts:107 | menuType?: 0 | 1 | 2; // 0=鐩綍 1=鑿滃崟 2=鎸夐挳
|
||
src\types\index.ts:108 | perms?: string; // 鎸夐挳鏉冮檺鏍囪瘑
|