[1078] 补充终端参数
This commit is contained in:
@@ -3,22 +3,28 @@
|
||||
<div style="height: calc(100vh - 260px); overflow: auto">
|
||||
<el-form v-loading="isLoading" ref="form" :model="form" label-width="240px" style="width: 90%; margin: 0 auto; ">
|
||||
<el-form-item label="报警屏蔽字" prop="alarmMaskingWord">
|
||||
<alarmSign v-if="form.alarmMaskingWord" :fatherValue="form.alarmMaskingWord" @change="(data)=>{form.alarmMaskingWord = data}"></alarmSign>
|
||||
<alarmSign :fatherValue="form.alarmMaskingWord" @change="(data)=>{form.alarmMaskingWord = data}"></alarmSign>
|
||||
</el-form-item>
|
||||
<el-form-item label="报警发送文本SMS开关" prop="alarmSendsTextSmsSwitch">
|
||||
<alarmSign v-if="form.alarmSendsTextSmsSwitch" :fatherValue="form.alarmSendsTextSmsSwitch" @change="(data)=>{form.alarmSendsTextSmsSwitch = data}"></alarmSign>
|
||||
<alarmSign :fatherValue="form.alarmSendsTextSmsSwitch" @change="(data)=>{form.alarmSendsTextSmsSwitch = data}"></alarmSign>
|
||||
</el-form-item>
|
||||
<el-form-item label="报警拍摄开关" prop="alarmShootingSwitch">
|
||||
<alarmSign v-if="form.alarmShootingSwitch" :fatherValue="form.alarmShootingSwitch" @change="(data)=>{form.alarmShootingSwitch = data}"></alarmSign>
|
||||
<alarmSign :fatherValue="form.alarmShootingSwitch" @change="(data)=>{form.alarmShootingSwitch = data}"></alarmSign>
|
||||
</el-form-item>
|
||||
<el-form-item label="报警拍摄存储标志" prop="alarmShootingStorageFlags">
|
||||
<alarmSign v-if="form.alarmShootingStorageFlags" :fatherValue="form.alarmShootingStorageFlags" @change="(data)=>{form.alarmShootingStorageFlags = data}"></alarmSign>
|
||||
<alarmSign :fatherValue="form.alarmShootingStorageFlags" @change="(data)=>{form.alarmShootingStorageFlags = data}"></alarmSign>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键标志" prop="keySign">
|
||||
<alarmSign v-if="form.keySign" :fatherValue="form.keySign" @change="(data)=>{form.keySign = data}"></alarmSign>
|
||||
<alarmSign :fatherValue="form.keySign" @change="(data)=>{form.keySign = data}"></alarmSign>
|
||||
</el-form-item>
|
||||
<el-form-item label="电子围栏半径(米)" prop="fenceRadius">
|
||||
<el-input type="number" v-if="form.fenceRadius" v-model="form.fenceRadius" placeholder="请输入电子围栏半径" clearable />
|
||||
<el-form-item label="视频报警屏蔽字" prop="videoAlarmBit">
|
||||
<videoAlarmSign :fatherValue="form.videoAlarmBit" @change="(data)=>{form.videoAlarmBit = data}"></videoAlarmSign>
|
||||
</el-form-item>
|
||||
<el-form-item label="图像分析报警参数-车辆核载人数" prop="numberForPeople">
|
||||
<el-input type="number" v-model="form.analyzeAlarmParam.numberForPeople" />
|
||||
</el-form-item>
|
||||
<el-form-item label="图像分析报警参数-疲劳程度阈值" prop="fatigueThreshold">
|
||||
<el-input type="number" v-model="form.analyzeAlarmParam.fatigueThreshold" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -32,11 +38,12 @@
|
||||
|
||||
<script>
|
||||
import alarmSign from './alarmSign.vue'
|
||||
import videoAlarmSign from './videoAlarmSign.vue'
|
||||
|
||||
export default {
|
||||
name: 'communication',
|
||||
components: {
|
||||
alarmSign
|
||||
alarmSign, videoAlarmSign
|
||||
},
|
||||
props: {
|
||||
phoneNumber: {
|
||||
@@ -52,7 +59,8 @@ export default {
|
||||
alarmShootingSwitch: null,
|
||||
alarmShootingStorageFlags: null,
|
||||
keySign: null,
|
||||
fenceRadius: null
|
||||
videoAlarmBit: null,
|
||||
analyzeAlarmParam: null
|
||||
},
|
||||
isLoading: false
|
||||
}
|
||||
@@ -66,6 +74,27 @@ export default {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
|
||||
.then((data) => {
|
||||
if (!data.alarmMaskingWord) {
|
||||
data.alarmMaskingWord = {}
|
||||
}
|
||||
if (!data.alarmSendsTextSmsSwitch) {
|
||||
data.alarmSendsTextSmsSwitch = {}
|
||||
}
|
||||
if (!data.alarmShootingSwitch) {
|
||||
data.alarmShootingSwitch = {}
|
||||
}
|
||||
if (!data.alarmShootingStorageFlags) {
|
||||
data.alarmShootingStorageFlags = {}
|
||||
}
|
||||
if (!data.keySign) {
|
||||
data.keySign = {}
|
||||
}
|
||||
if (!data.videoAlarmBit) {
|
||||
data.videoAlarmBit = {}
|
||||
}
|
||||
if (!data.analyzeAlarmParam) {
|
||||
data.analyzeAlarmParam = {}
|
||||
}
|
||||
this.form = data
|
||||
// this.form.alarmMaskingWord = data.alarmMaskingWord
|
||||
// this.form.alarmSendsTextSmsSwitch = data.alarmSendsTextSmsSwitch
|
||||
|
||||
121
web/src/views/jtDevice/deviceParam/awakenParam.vue
Executable file
121
web/src/views/jtDevice/deviceParam/awakenParam.vue
Executable file
@@ -0,0 +1,121 @@
|
||||
<template>
|
||||
<div style="width: 100%;">
|
||||
<div style="height: calc(100vh - 260px);">
|
||||
<el-form ref="form" :model="form" label-width="240px" style="width: 80%; margin: 0 auto">
|
||||
<el-form-item label="休眠唤醒模式" prop="wakeUpModeByCondition">
|
||||
<el-checkbox label="条件唤醒" v-model="form.awakenParam.wakeUpModeByCondition" @change="change"></el-checkbox>
|
||||
<el-checkbox label="定时唤醒" v-model="form.awakenParam.wakeUpModeByTime" @change="change"></el-checkbox>
|
||||
<el-checkbox label="手动唤醒" v-model="form.awakenParam.wakeUpModeByManual" @change="change"></el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item label="唤醒条件类型" prop="wakeUpConditionsByAlarm">
|
||||
<el-checkbox label="紧急报警" v-model="form.awakenParam.wakeUpConditionsByAlarm" @change="change"></el-checkbox>
|
||||
<el-checkbox label="碰撞侧翻报警" v-model="form.awakenParam.wakeUpConditionsByRollover" @change="change"></el-checkbox>
|
||||
<el-checkbox label="车辆开门" v-model="form.awakenParam.wakeUpConditionsByOpenTheDoor" @change="change"></el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item label="定时唤醒日设置" prop="awakeningDayForMonday">
|
||||
<el-checkbox label="周一" v-model="form.awakenParam.awakeningDayForMonday" @change="change"></el-checkbox>
|
||||
<el-checkbox label="周二" v-model="form.awakenParam.awakeningDayForTuesday" @change="change"></el-checkbox>
|
||||
<el-checkbox label="周三" v-model="form.awakenParam.awakeningDayForWednesday" @change="change"></el-checkbox>
|
||||
<el-checkbox label="周四" v-model="form.awakenParam.awakeningDayForThursday" @change="change"></el-checkbox>
|
||||
<el-checkbox label="周五" v-model="form.awakenParam.awakeningDayForFriday" @change="change"></el-checkbox>
|
||||
<el-checkbox label="周六" v-model="form.awakenParam.awakeningDayForSaturday" @change="change"></el-checkbox>
|
||||
<el-checkbox label="周日" v-model="form.awakenParam.awakeningDayForSunday" @change="change"></el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item label="日定时唤醒-时间段1" prop="time1Enable" >
|
||||
<div style="display: grid; grid-template-columns: 52px auto">
|
||||
<el-checkbox label="启用" v-model="form.awakenParam.time1Enable" @change="change"></el-checkbox>
|
||||
<div v-if="form.awakenParam.time1Enable" style="width: calc(100% - 52px); display: grid; grid-template-columns: 1fr 24px 1fr; padding: 0 10px">
|
||||
<el-input v-model="form.awakenParam.time1StartTime" placeholder="请输入时间段1的开始时间" clearable size="small"/>
|
||||
<span style="text-align: center">至</span>
|
||||
<el-input v-model="form.awakenParam.time1EndTime" placeholder="请输入时间段1的结束时间" clearable size="small"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="日定时唤醒-时间段2" prop="time1Enable" >
|
||||
<div style="display: grid; grid-template-columns: 52px auto">
|
||||
<el-checkbox label="启用" v-model="form.awakenParam.time2Enable" @change="change"></el-checkbox>
|
||||
<div v-if="form.awakenParam.time2Enable" style="width: calc(100% - 52px); display: grid; grid-template-columns: 1fr 24px 1fr; padding: 0 10px">
|
||||
<el-input v-model="form.awakenParam.time2StartTime" placeholder="请输入时间段2的开始时间" clearable size="small"/>
|
||||
<span style="text-align: center">至</span>
|
||||
<el-input v-model="form.awakenParam.time2EndTime" placeholder="请输入时间段2的结束时间" clearable size="small"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="日定时唤醒-时间段3" prop="time1Enable" >
|
||||
<div style="display: grid; grid-template-columns: 52px auto">
|
||||
<el-checkbox label="启用" v-model="form.awakenParam.time3Enable" @change="change"></el-checkbox>
|
||||
<div v-if="form.awakenParam.time3Enable" style="width: calc(100% - 52px); display: grid; grid-template-columns: 1fr 24px 1fr; padding: 0 10px">
|
||||
<el-input v-model="form.awakenParam.time3StartTime" placeholder="请输入时间段3的开始时间" clearable size="small"/>
|
||||
<span style="text-align: center">至</span>
|
||||
<el-input v-model="form.awakenParam.time3EndTime" placeholder="请输入时间段3的结束时间" clearable size="small"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="日定时唤醒-时间段4" prop="time1Enable" >
|
||||
<div style="display: grid; grid-template-columns: 52px auto">
|
||||
<el-checkbox label="启用" v-model="form.awakenParam.time4Enable" @change="change"></el-checkbox>
|
||||
<div v-if="form.awakenParam.time4Enable" style="width: calc(100% - 52px); display: grid; grid-template-columns: 1fr 24px 1fr; padding: 0 10px">
|
||||
<el-input v-model="form.awakenParam.time4StartTime" placeholder="请输入时间段4的开始时间" clearable size="small"/>
|
||||
<span style="text-align: center">至</span>
|
||||
<el-input v-model="form.awakenParam.time4EndTime" placeholder="请输入时间段4的结束时间" clearable size="small"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<p style="text-align: right">
|
||||
<el-button type="primary" @click="onSubmit">确认</el-button>
|
||||
<el-button @click="showDevice">取消</el-button>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'communication',
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
phoneNumber: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {},
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.initData()
|
||||
},
|
||||
methods: {
|
||||
initData: function() {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
|
||||
.then((data) => {
|
||||
if (!data.awakenParam) {
|
||||
data.awakenParam = {}
|
||||
}
|
||||
this.form = data
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
onSubmit: function() {
|
||||
this.$emit('submit', this.form)
|
||||
},
|
||||
showDevice: function() {
|
||||
this.$emit('show-device')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -2,42 +2,36 @@
|
||||
<div style="width: 100%;">
|
||||
<div style="height: calc(100vh - 260px);">
|
||||
<el-form ref="form" :model="form" label-width="240px" style="width: 50%; margin: 0 auto">
|
||||
<el-form-item v-if="form.illegalDrivingPeriods" label="违规行驶时段-开始时间(HH:mm)" prop="illegalDrivingPeriods">
|
||||
<el-input v-model="form.illegalDrivingPeriods.startTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.illegalDrivingPeriods" label="违规行驶时段-结束时间(HH:mm)" prop="illegalDrivingPeriods">
|
||||
<el-input v-model="form.illegalDrivingPeriods.endTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="最高速度(千米每小时)" prop="topSpeed">
|
||||
<el-input v-model="form.topSpeed" clearable />
|
||||
<el-input type="number" v-model="form.topSpeed" />
|
||||
</el-form-item>
|
||||
<el-form-item label="超速持续时间(秒)" prop="overSpeedDuration">
|
||||
<el-input v-model="form.overSpeedDuration" clearable />
|
||||
<el-input type="number" v-model="form.overSpeedDuration" />
|
||||
</el-form-item>
|
||||
<el-form-item label="连续驾驶时间门限(秒)" prop="continuousDrivingTimeThreshold">
|
||||
<el-input v-model="form.continuousDrivingTimeThreshold" clearable />
|
||||
<el-input type="number" v-model="form.continuousDrivingTimeThreshold" />
|
||||
</el-form-item>
|
||||
<el-form-item label="当天累计驾驶时间门限(秒)" prop="cumulativeDrivingTimeThresholdForTheDay">
|
||||
<el-input v-model="form.cumulativeDrivingTimeThresholdForTheDay" clearable />
|
||||
<el-input type="number" v-model="form.cumulativeDrivingTimeThresholdForTheDay" />
|
||||
</el-form-item>
|
||||
<el-form-item label="最小休息时间(秒)" prop="minimumBreakTime">
|
||||
<el-input v-model="form.minimumBreakTime" clearable />
|
||||
<el-input type="number" v-model="form.minimumBreakTime" />
|
||||
</el-form-item>
|
||||
<el-form-item label="最长停车时间(秒)" prop="maximumParkingTime">
|
||||
<el-input v-model="form.maximumParkingTime" clearable />
|
||||
<el-input type="number" v-model="form.maximumParkingTime" />
|
||||
</el-form-item>
|
||||
<el-form-item label="超速预警差值(1/10 千米每小时)" prop="overSpeedWarningDifference">
|
||||
<el-input v-model="form.overSpeedWarningDifference" clearable />
|
||||
<el-input type="number" v-model="form.overSpeedWarningDifference" />
|
||||
</el-form-item>
|
||||
<el-form-item label="疲劳驾驶预警差值(秒)" prop="drowsyDrivingWarningDifference">
|
||||
<el-input v-model="form.drowsyDrivingWarningDifference" clearable />
|
||||
<el-input type="number" v-model="form.drowsyDrivingWarningDifference" />
|
||||
</el-form-item>
|
||||
<div v-if="form.collisionAlarmParams">
|
||||
<el-form-item label="碰撞报警-碰撞时间(毫秒)" prop="collisionAlarmParamsCollisionAlarmTime">
|
||||
<el-input v-model="form.collisionAlarmParams.collisionAlarmTime" clearable />
|
||||
<el-input type="number" v-model="form.collisionAlarmParams.collisionAlarmTime" />
|
||||
</el-form-item>
|
||||
<el-form-item label="碰撞报警-碰撞加速度(0.1g)" prop="collisionAlarmParamsCollisionAcceleration">
|
||||
<el-input v-model="form.collisionAlarmParams.collisionAcceleration" clearable />
|
||||
<el-input type="number" v-model="form.collisionAlarmParams.collisionAcceleration" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
|
||||
95
web/src/views/jtDevice/deviceParam/imageConfig.vue
Executable file
95
web/src/views/jtDevice/deviceParam/imageConfig.vue
Executable file
@@ -0,0 +1,95 @@
|
||||
<template>
|
||||
<div style="width: 100%;">
|
||||
<div style="height: calc(100vh - 260px);">
|
||||
<el-form ref="form" :model="form" label-width="240px" style="width: 60%; margin: 0 auto">
|
||||
<el-form-item label="图像/视频质量" prop="topSpeed" >
|
||||
<div style="padding: 0 14px">
|
||||
<el-slider v-model="form.qualityForVideo" show-input :height="1" :marks="qualityMarks" :min="1" :max="10" :step="1" style="width: calc(100% - 40px);"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="亮度" prop="brightness">
|
||||
<div style="padding: 0 14px">
|
||||
<el-slider v-model="form.brightness" show-input :height="1" :min="0" :max="255" :step="1" style="width: calc(100% - 40px);"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="对比度" prop="contrastRatio">
|
||||
<div style="padding: 0 14px">
|
||||
<el-slider v-model="form.contrastRatio" show-input :height="1" :min="0" :max="127" :step="1" style="width: calc(100% - 40px);"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="饱和度" prop="saturation">
|
||||
<div style="padding: 0 14px">
|
||||
<el-slider v-model="form.saturation" show-input :height="1" :min="0" :max="127" :step="1" style="width: calc(100% - 40px);"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="色度" prop="chroma">
|
||||
<div style="padding: 0 14px">
|
||||
<el-slider v-model="form.chroma" show-input :height="1" :min="0" :max="255" :step="1" style="width: calc(100% - 40px);"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<p style="text-align: right">
|
||||
<el-button type="primary" @click="onSubmit">确认</el-button>
|
||||
<el-button @click="showDevice">取消</el-button>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'communication',
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
phoneNumber: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {},
|
||||
qualityMarks: {
|
||||
1: '最优',
|
||||
10: '最差'
|
||||
},
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.initData()
|
||||
},
|
||||
methods: {
|
||||
initData: function() {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
|
||||
.then((data) => {
|
||||
this.form = data
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
onSubmit: function() {
|
||||
this.$emit('submit', this.form)
|
||||
},
|
||||
showDevice: function() {
|
||||
this.$emit('show-device')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
>>> .el-slider__marks-text {
|
||||
margin-top: 6px;
|
||||
font-size: 12px;
|
||||
width: 2rem !important;
|
||||
}
|
||||
</style>
|
||||
@@ -27,8 +27,14 @@
|
||||
<el-tab-pane label="定时拍照" name="cameraTimer">
|
||||
<cameraTimer v-if="activeTab === 'cameraTimer'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></cameraTimer>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="音视频" name="media">
|
||||
<media v-if="activeTab === 'media'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></media>
|
||||
<el-tab-pane label="图像参数" name="imageConfig">
|
||||
<imageConfig v-if="activeTab === 'imageConfig'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></imageConfig>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="视频参数" name="videoParam">
|
||||
<videoParam v-if="activeTab === 'videoParam'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></videoParam>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="休眠唤醒" name="awakenParam">
|
||||
<awakenParam v-if="activeTab === 'awakenParam'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></awakenParam>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
@@ -42,12 +48,14 @@ import phoneNumber from './phoneNumber.vue'
|
||||
import alarm from './alarm.vue'
|
||||
import driving from './driving.vue'
|
||||
import cameraTimer from './cameraTimer.vue'
|
||||
import media from './media.vue'
|
||||
import imageConfig from './imageConfig.vue'
|
||||
import videoParam from './videoParam.vue'
|
||||
import awakenParam from './awakenParam.vue'
|
||||
|
||||
export default {
|
||||
name: 'JTDeviceParam',
|
||||
components: {
|
||||
communication, server, position, phoneNumber, alarm, driving, cameraTimer, media
|
||||
communication, server, position, phoneNumber, alarm, driving, cameraTimer, imageConfig, videoParam, awakenParam
|
||||
},
|
||||
props: {
|
||||
phoneNumber: {
|
||||
@@ -57,11 +65,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
collisionAlarmParams: {},
|
||||
illegalDrivingPeriods: {},
|
||||
cameraTimer: {}
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
deviceId: [{ required: true, message: '请输入设备编号', trigger: 'blur' }]
|
||||
},
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
<template>
|
||||
<div style="width: 100%;">
|
||||
<div style="height: calc(100vh - 260px);">
|
||||
<el-form ref="form" :model="form" label-width="240px" style="width: 50%; margin: 0 auto">
|
||||
<el-form-item v-if="form.illegalDrivingPeriods" label="违规行驶时段-开始时间(HH:mm)" prop="illegalDrivingPeriods">
|
||||
<el-input v-model="form.illegalDrivingPeriods.startTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.illegalDrivingPeriods" label="违规行驶时段-结束时间(HH:mm)" prop="illegalDrivingPeriods">
|
||||
<el-input v-model="form.illegalDrivingPeriods.endTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="最高速度(千米每小时)" prop="topSpeed">
|
||||
<el-input v-model="form.topSpeed" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="超速持续时间(秒)" prop="overSpeedDuration">
|
||||
<el-input v-model="form.overSpeedDuration" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="连续驾驶时间门限(秒)" prop="continuousDrivingTimeThreshold">
|
||||
<el-input v-model="form.continuousDrivingTimeThreshold" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="当天累计驾驶时间门限(秒)" prop="cumulativeDrivingTimeThresholdForTheDay">
|
||||
<el-input v-model="form.cumulativeDrivingTimeThresholdForTheDay" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="最小休息时间(秒)" prop="minimumBreakTime">
|
||||
<el-input v-model="form.minimumBreakTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="最长停车时间(秒)" prop="maximumParkingTime">
|
||||
<el-input v-model="form.maximumParkingTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="超速预警差值(1/10 千米每小时)" prop="overSpeedWarningDifference">
|
||||
<el-input v-model="form.overSpeedWarningDifference" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="疲劳驾驶预警差值(秒)" prop="drowsyDrivingWarningDifference">
|
||||
<el-input v-model="form.drowsyDrivingWarningDifference" clearable />
|
||||
</el-form-item>
|
||||
<div v-if="form.collisionAlarmParams">
|
||||
<el-form-item label="碰撞报警-碰撞时间(毫秒)" prop="collisionAlarmParamsCollisionAlarmTime">
|
||||
<el-input v-model="form.collisionAlarmParams.collisionAlarmTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="碰撞报警-碰撞加速度(0.1g)" prop="collisionAlarmParamsCollisionAcceleration">
|
||||
<el-input v-model="form.collisionAlarmParams.collisionAcceleration" clearable />
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-form-item label="侧翻报警参数-侧翻角度(度)" prop="rolloverAlarm">
|
||||
<el-input v-model="form.rolloverAlarm" clearable />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<p style="text-align: right">
|
||||
<el-button type="primary" @click="onSubmit">确认</el-button>
|
||||
<el-button @click="showDevice">取消</el-button>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'communication',
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
phoneNumber: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {},
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.initData()
|
||||
},
|
||||
methods: {
|
||||
initData: function() {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
|
||||
.then((data) => {
|
||||
this.form = data
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
onSubmit: function() {
|
||||
this.$emit('submit', this.form)
|
||||
},
|
||||
showDevice: function() {
|
||||
this.$emit('show-device')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div style="width: 100%;">
|
||||
<div style="height: calc(100vh - 260px);">
|
||||
<div style="height: calc(100vh - 260px); overflow: auto">
|
||||
<el-form ref="form" :model="form" label-width="240px" style="width: 50%; margin: 0 auto">
|
||||
<el-form-item label="汇报策略" prop="locationReportingStrategy">
|
||||
<el-select v-model="form.locationReportingStrategy" style="float: left; width: 100%">
|
||||
@@ -16,32 +16,42 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="驾驶员未登录汇报时间间隔(秒)" prop="reportingIntervalOffline">
|
||||
<el-input v-model="form.reportingIntervalOffline" clearable />
|
||||
<el-input type="number" v-model="form.reportingIntervalOffline" placeholder="请输入驾驶员未登录汇报时间间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="休眠时汇报时间间隔(秒)" prop="reportingIntervalDormancy">
|
||||
<el-input v-model="form.reportingIntervalDormancy" clearable />
|
||||
<el-input type="number" v-model="form.reportingIntervalDormancy" placeholder="请输入休眠时汇报时间间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="紧急报警时汇报时间间隔(秒)" prop="reportingIntervalEmergencyAlarm">
|
||||
<el-input v-model="form.reportingIntervalEmergencyAlarm" clearable />
|
||||
<el-input type="number" v-model="form.reportingIntervalEmergencyAlarm" placeholder="请输入紧急报警时汇报时间间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="缺省时间汇报间隔(秒)" prop="reportingIntervalDefault">
|
||||
<el-input v-model="form.reportingIntervalDefault" clearable />
|
||||
<el-input type="number" v-model="form.reportingIntervalDefault" placeholder="请输入缺省时间汇报间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="缺省距离汇报间隔(米)" prop="reportingDistanceDefault">
|
||||
<el-input v-model="form.reportingDistanceDefault" clearable />
|
||||
<el-input type="number" v-model="form.reportingDistanceDefault" placeholder="请输入缺省距离汇报间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="驾驶员未登录汇报距离间隔(米)" prop="reportingDistanceOffline">
|
||||
<el-input v-model="form.reportingDistanceOffline" clearable />
|
||||
<el-input type="number" v-model="form.reportingDistanceOffline" placeholder="请输入驾驶员未登录汇报距离间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="休眠时汇报距离间隔(米)" prop="reportingDistanceDormancy">
|
||||
<el-input v-model="form.reportingDistanceDormancy" clearable />
|
||||
<el-input type="number" v-model="form.reportingDistanceDormancy" placeholder="请输入休眠时汇报距离间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="紧急报警时汇报距离间隔(米)" prop="reportingDistanceEmergencyAlarm">
|
||||
<el-input v-model="form.reportingDistanceEmergencyAlarm" clearable />
|
||||
<el-input type="number" v-model="form.reportingDistanceEmergencyAlarm" placeholder="请输入紧急报警时汇报距离间隔" />
|
||||
</el-form-item>
|
||||
<el-form-item label="拐点补传角度(度,小于180)" prop="inflectionPointAngle">
|
||||
<el-input v-model="form.inflectionPointAngle" clearable />
|
||||
<el-input type="number" v-model="form.inflectionPointAngle" placeholder="请输入拐点补传角度" />
|
||||
</el-form-item>
|
||||
<el-form-item label="电子围栏半径(米)" prop="fenceRadius">
|
||||
<el-input type="number" v-model="form.fenceRadius" placeholder="请输入电子围栏半径" />
|
||||
</el-form-item>
|
||||
<el-form-item label="违规行驶时段-开始时间(HH:mm)" prop="illegalDrivingPeriods">
|
||||
<el-input v-model="form.illegalDrivingPeriods.startTime" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="违规行驶时段-结束时间(HH:mm)" prop="illegalDrivingPeriods">
|
||||
<el-input v-model="form.illegalDrivingPeriods.endTime" clearable />
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
<p style="text-align: right">
|
||||
@@ -66,6 +76,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
illegalDrivingPeriods: [new Date(), new Date()],
|
||||
form: {},
|
||||
isLoading: false
|
||||
}
|
||||
@@ -79,6 +90,12 @@ export default {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
|
||||
.then((data) => {
|
||||
if (!data.illegalDrivingPeriods) {
|
||||
data.illegalDrivingPeriods = {
|
||||
startTime: null,
|
||||
endTime: null
|
||||
}
|
||||
}
|
||||
this.form = data
|
||||
})
|
||||
.catch((e) => {
|
||||
|
||||
62
web/src/views/jtDevice/deviceParam/videoAlarmSign.vue
Executable file
62
web/src/views/jtDevice/deviceParam/videoAlarmSign.vue
Executable file
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<div style="width: 100%;">
|
||||
<el-checkbox label="视频信号丢失报警" v-model="form.lossSignal" @change="change"></el-checkbox>
|
||||
<el-checkbox label="视频信号遮挡报警" v-model="form.occlusionSignal" @change="change"></el-checkbox>
|
||||
<el-checkbox label="存储单元故障报警" v-model="form.storageFault" @change="change"></el-checkbox>
|
||||
<el-checkbox label="其他视频设备故障报警" v-model="form.otherDeviceFailure" @change="change"></el-checkbox>
|
||||
<el-checkbox label="客车超员报警" v-model="form.overcrowding" @change="change"></el-checkbox>
|
||||
<el-checkbox label="异常驾驶行为报警" v-model="form.abnormalDriving" @change="change"></el-checkbox>
|
||||
<el-checkbox label="特殊报警录像达到存储阈值报警" v-model="form.storageLimit" @change="change"></el-checkbox>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'communication',
|
||||
components: {
|
||||
},
|
||||
model: {
|
||||
prop: 'fatherValue',
|
||||
event: 'change'
|
||||
},
|
||||
props: {
|
||||
fatherValue: {
|
||||
type: Object,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
lossSignal: false,
|
||||
occlusionSignal: false,
|
||||
storageFault: false,
|
||||
otherDeviceFailure: false,
|
||||
overcrowding: false,
|
||||
abnormalDriving: false,
|
||||
storageLimit: false
|
||||
},
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
if (this.fatherValue !== null) {
|
||||
console.log(this.fatherValue)
|
||||
this.form.lossSignal = this.fatherValue.lossSignal || false
|
||||
this.form.occlusionSignal = this.fatherValue.occlusionSignal || false
|
||||
this.form.storageFault = this.fatherValue.storageFault || false
|
||||
this.form.otherDeviceFailure = this.fatherValue.otherDeviceFailure || false
|
||||
this.form.overcrowding = this.fatherValue.overcrowding || false
|
||||
this.form.abnormalDriving = this.fatherValue.abnormalDriving || false
|
||||
this.form.storageLimit = this.fatherValue.storageLimit || false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
change() {
|
||||
this.$emit('change', this.form)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
167
web/src/views/jtDevice/deviceParam/videoParam.vue
Executable file
167
web/src/views/jtDevice/deviceParam/videoParam.vue
Executable file
@@ -0,0 +1,167 @@
|
||||
<template>
|
||||
<div style="width: 100%;">
|
||||
<div style="height: calc(100vh - 260px);">
|
||||
<el-form ref="form" :model="form" label-width="240px" style="width: 60%; margin: 0 auto">
|
||||
<el-form-item label="实时流编码模式" prop="topSpeed" >
|
||||
<el-select
|
||||
v-model="form.videoParam.liveStreamCodeRateType"
|
||||
style="width: 100%"
|
||||
placeholder="请选择实时流编码模式"
|
||||
>
|
||||
<el-option label="CBR( 固定码率)" :value="0" />
|
||||
<el-option label="BR( 可变码率)" :value="1" />
|
||||
<el-option label="ABR( 平均码率)" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="实时流分辨率" prop="topSpeed" >
|
||||
<el-select
|
||||
v-model="form.videoParam.liveStreamResolving"
|
||||
style="width: 100%"
|
||||
placeholder="请选择实时流分辨率"
|
||||
>
|
||||
<el-option label="QCIF( 164×144 )" :value="0" />
|
||||
<el-option label="CIF( 360×288 )" :value="1" />
|
||||
<el-option label="WCIF( 480×288 )" :value="2" />
|
||||
<el-option label="D1( 720x576 )" :value="2" />
|
||||
<el-option label="WD1( 960×576 )" :value="2" />
|
||||
<el-option label="720P( 1280×720 )" :value="2" />
|
||||
<el-option label="1080P( 1920×1080 )" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="实时流关键帧间隔" prop="chroma">
|
||||
<div style="padding: 0 0 0 5px">
|
||||
<el-slider v-model="form.videoParam.liveStreamIInterval" show-input :min="1" :max="1000" :step="1"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="实时流目标码率" prop="liveStreamFrameRate">
|
||||
<div style="padding: 0 0 0 5px">
|
||||
<el-slider v-model="form.videoParam.liveStreamFrameRate" show-input :min="1" :max="120" :step="1"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="实时流目标码率( kbps)" prop="liveStreamCodeRate">
|
||||
<el-input type="number" v-model="form.videoParam.liveStreamCodeRate" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="存储流编码模式" prop="topSpeed" >
|
||||
<el-select
|
||||
v-model="form.videoParam.storageStreamCodeRateType"
|
||||
style="width: 100%"
|
||||
placeholder="请选择存储流编码模式"
|
||||
>
|
||||
<el-option label="CBR( 固定码率)" :value="0" />
|
||||
<el-option label="BR( 可变码率)" :value="1" />
|
||||
<el-option label="ABR( 平均码率)" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="存储流分辨率" prop="topSpeed" >
|
||||
<el-select
|
||||
v-model="form.videoParam.storageStreamResolving"
|
||||
style="width: 100%"
|
||||
placeholder="请选择存储流分辨率"
|
||||
>
|
||||
<el-option label="QCIF( 164×144 )" :value="0" />
|
||||
<el-option label="CIF( 360×288 )" :value="1" />
|
||||
<el-option label="WCIF( 480×288 )" :value="2" />
|
||||
<el-option label="D1( 720x576 )" :value="2" />
|
||||
<el-option label="WD1( 960×576 )" :value="2" />
|
||||
<el-option label="720P( 1280×720 )" :value="2" />
|
||||
<el-option label="1080P( 1920×1080 )" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="存储流关键帧间隔" prop="chroma">
|
||||
<div style="padding: 0 0 0 5px">
|
||||
<el-slider v-model="form.videoParam.storageStreamIInterval" show-input :min="1" :max="1000" :step="1"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="存储流目标帧率" prop="liveStreamFrameRate">
|
||||
<div style="padding: 0 0 0 5px">
|
||||
<el-slider v-model="form.videoParam.storageStreamFrameRate" show-input :min="1" :max="120" :step="1"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="存储流目标码率(kbps)" prop="liveStreamCodeRate">
|
||||
<el-input type="number" v-model="form.videoParam.storageStreamCodeRate" />
|
||||
</el-form-item>
|
||||
<el-form-item label="特殊报警录像存储阈值(百分比)" prop="storageLimit">
|
||||
<div style="padding: 0 0 0 5px">
|
||||
<el-slider v-model="form.alarmRecordingParam.storageLimit" show-input :min="1" :max="99" :step="1"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="特殊报警录像持续时间(分钟)" prop="duration">
|
||||
<el-input type="number" v-model="form.videoParam.duration" />
|
||||
</el-form-item>
|
||||
<el-form-item label="特殊报警标识起始时间(分钟)" prop="startTime">
|
||||
<el-input type="number" v-model="form.videoParam.startTime" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<p style="text-align: right">
|
||||
<el-button type="primary" @click="onSubmit">确认</el-button>
|
||||
<el-button @click="showDevice">取消</el-button>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'communication',
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
phoneNumber: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {},
|
||||
qualityMarks: {
|
||||
1: '最优',
|
||||
10: '最差'
|
||||
},
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.initData()
|
||||
},
|
||||
methods: {
|
||||
initData: function() {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
|
||||
.then((data) => {
|
||||
if (!data.videoParam) {
|
||||
data.videoParam = {}
|
||||
}
|
||||
if (!data.alarmRecordingParam) {
|
||||
data.alarmRecordingParam = {}
|
||||
}
|
||||
this.form = data
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
onSubmit: function() {
|
||||
this.$emit('submit', this.form)
|
||||
},
|
||||
showDevice: function() {
|
||||
this.$emit('show-device')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
>>> .el-slider__marks-text {
|
||||
margin-top: 6px;
|
||||
font-size: 12px;
|
||||
width: 2rem !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user