[1078] 补充终端参数

This commit is contained in:
lin
2025-07-21 17:48:02 +08:00
parent 03b5c0241f
commit 9388c279e7
13 changed files with 539 additions and 505 deletions

View File

@@ -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

View 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>

View File

@@ -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>

View 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>

View File

@@ -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' }]
},

View File

@@ -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>

View File

@@ -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) => {

View 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>

View 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>

View File

@@ -1,342 +0,0 @@
<template>
<div id="jtDeviceParam" style="width: 100%">
<div class="page-header">
<div class="page-title">
<el-page-header content="终端参数" @back="showDevice" />
</div>
</div>
<el-container v-loading="isLoading" style="height: 82vh; overflow: auto">
<el-main style="padding: 5px; background-color: #ffffff;">
<el-divider content-position="center">通讯参数</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="心跳发送间隔(秒)" prop="keepaliveInterval">
<el-input v-model="form.keepaliveInterval" clearable />
</el-form-item>
<el-form-item label="TCP消息应答超时(秒)" prop="tcpResponseTimeout">
<el-input v-model="form.tcpResponseTimeout" clearable />
</el-form-item>
<el-form-item label="TCP消息重传次数" prop="tcpRetransmissionCount">
<el-input v-model="form.tcpRetransmissionCount" clearable />
</el-form-item>
<el-form-item label="UDP消息应答超时时间(秒)" prop="udpResponseTimeout">
<el-input v-model="form.udpResponseTimeout" clearable />
</el-form-item>
<el-form-item label="UDP消息重传次数" prop="udpRetransmissionCount">
<el-input v-model="form.udpRetransmissionCount" clearable />
</el-form-item>
<el-form-item label="SMS 消息应答超时时间(秒)" prop="smsResponseTimeout">
<el-input v-model="form.smsResponseTimeout" clearable />
</el-form-item>
<el-form-item label="SMS 消息重传次数" prop="smsRetransmissionCount">
<el-input v-model="form.smsRetransmissionCount" clearable />
</el-form-item>
</el-form>
<el-divider content-position="center">服务器参数</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="APN(主)" prop="apnMaster">
<el-input v-model="form.apnMaster" clearable />
</el-form-item>
<el-form-item label="无线通信拨号用户名(主)" prop="dialingUsernameMaster">
<el-input v-model="form.dialingUsernameMaster" clearable />
</el-form-item>
<el-form-item label="无线通信拨号密码(主)" prop="dialingPasswordMaster">
<el-input v-model="form.dialingPasswordMaster" clearable />
</el-form-item>
<el-form-item label="IP或域名(主)" prop="addressMaster">
<el-input v-model="form.addressMaster" clearable />
</el-form-item>
<el-form-item label="APN(备)" prop="apnBackup">
<el-input v-model="form.apnBackup" clearable />
</el-form-item>
<el-form-item label="无线通信拨号用户名(备)" prop="dialingUsernameBackup">
<el-input v-model="form.dialingUsernameBackup" clearable />
</el-form-item>
<el-form-item label="无线通信拨号密码(备)" prop="dialingPasswordBackup">
<el-input v-model="form.dialingPasswordBackup" clearable />
</el-form-item>
<el-form-item label="IP或域名(备)" prop="addressBackup">
<el-input v-model="form.addressBackup" clearable />
</el-form-item>
<el-form-item label="APN(从)" prop="apnBackup">
<el-input v-model="form.apnBackup" clearable />
</el-form-item>
<el-form-item label="无线通信拨号用户名(从)" prop="dialingUsernameSlave">
<el-input v-model="form.dialingUsernameSlave" clearable />
</el-form-item>
<el-form-item label="无线通信拨号密码(从)" prop="dialingPasswordSlave">
<el-input v-model="form.dialingPasswordSlave" clearable />
</el-form-item>
<el-form-item label="IP或域名(从)" prop="addressSlave">
<el-input v-model="form.addressSlave" clearable />
</el-form-item>
<el-form-item label="IC卡认证服务器IP(主)" prop="addressIcMaster">
<el-input v-model="form.addressIcMaster" clearable />
</el-form-item>
<el-form-item label="IC卡认证服务器IP(备)" prop="addressIcMaster">
<el-input v-model="form.addressIcBackup" clearable />
</el-form-item>
<el-form-item label="IC卡认证服务器TCP端口" prop="tcpPortIcMaster">
<el-input v-model="form.tcpPortIcMaster" clearable />
</el-form-item>
<el-form-item label="IC卡认证服务器UDP端口" prop="udpPortIcMaster">
<el-input v-model="form.udpPortIcMaster" clearable />
</el-form-item>
</el-form>
<el-divider content-position="center">位置汇报</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="策略" prop="locationReportingStrategy">
<el-select v-model="form.locationReportingStrategy" style="float: left; width: 100%">
<el-option label="定时汇报" :value="0">定时汇报</el-option>
<el-option label="定距汇报" :value="1" />
<el-option label="定时和定距汇报" :value="2" />
</el-select>
</el-form-item>
<el-form-item label="方案" prop="locationReportingPlan">
<el-select v-model="form.locationReportingPlan" style="float: left; width: 100%">
<el-option label="根据ACC状态" :value="0" />
<el-option label="登录状态和ACC状态" :value="1" />
</el-select>
</el-form-item>
<el-form-item label="驾驶员未登录汇报时间间隔(秒)" prop="reportingIntervalOffline">
<el-input v-model="form.reportingIntervalOffline" clearable />
</el-form-item>
<el-form-item label="休眠时汇报时间间隔(秒)" prop="reportingIntervalDormancy">
<el-input v-model="form.reportingIntervalDormancy" clearable />
</el-form-item>
<el-form-item label="紧急报警时汇报时间间隔(秒)" prop="reportingIntervalEmergencyAlarm">
<el-input v-model="form.reportingIntervalEmergencyAlarm" clearable />
</el-form-item>
<el-form-item label="缺省时间汇报间隔(秒)" prop="reportingIntervalDefault">
<el-input v-model="form.reportingIntervalDefault" clearable />
</el-form-item>
<el-form-item label="缺省距离汇报间隔(米)" prop="reportingDistanceDefault">
<el-input v-model="form.reportingDistanceDefault" clearable />
</el-form-item>
<el-form-item label="驾驶员未登录汇报距离间隔(米)" prop="reportingDistanceOffline">
<el-input v-model="form.reportingDistanceOffline" clearable />
</el-form-item>
<el-form-item label="休眠时汇报距离间隔(米)" prop="reportingDistanceDormancy">
<el-input v-model="form.reportingDistanceDormancy" clearable />
</el-form-item>
<el-form-item label="紧急报警时汇报距离间隔(米)" prop="reportingDistanceEmergencyAlarm">
<el-input v-model="form.reportingDistanceEmergencyAlarm" clearable />
</el-form-item>
<el-form-item label="拐点补传角度(度小于180)" prop="inflectionPointAngle">
<el-input v-model="form.inflectionPointAngle" clearable />
</el-form-item>
</el-form>
<el-divider content-position="center">电话号码</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="监控平台电话号码" prop="platformPhoneNumber">
<el-input v-model="form.platformPhoneNumber" clearable />
</el-form-item>
<el-form-item label="复位电话号码" prop="phoneNumberForFactoryReset">
<el-input v-model="form.phoneNumberForFactoryReset" clearable />
</el-form-item>
<el-form-item label="监控平台SMS电话号码" prop="phoneNumberForSms">
<el-input v-model="form.phoneNumberForSms" clearable />
</el-form-item>
<el-form-item label="接收终端SMS文本报警号码" prop="phoneNumberForReceiveTextAlarm">
<el-input v-model="form.phoneNumberForReceiveTextAlarm" clearable />
</el-form-item>
<el-form-item label="终端电话接听策略" prop="locationReportingStrategy">
<el-select v-model="form.locationReportingStrategy" style="float: left; width: 100%">
<el-option label="自动接听" :value="0">定时汇报</el-option>
<el-option label="ACC ON时自动接听 ,OFF时手动接听" :value="1" />
</el-select>
</el-form-item>
<el-form-item label="每次最长通话时间(秒)" prop="longestCallTimeForPerSession">
<el-input v-model="form.longestCallTimeForPerSession" clearable />
</el-form-item>
<el-form-item label="当月最长通话时间(秒)" prop="longestCallTimeInMonth">
<el-input v-model="form.longestCallTimeInMonth" clearable />
</el-form-item>
<el-form-item label="监听电话号码" prop="phoneNumbersForListen">
<el-input v-model="form.phoneNumbersForListen" clearable />
</el-form-item>
<el-form-item label="监管平台特权短信号码" prop="privilegedSMSNumber">
<el-input v-model="form.privilegedSMSNumber" clearable />
</el-form-item>
</el-form>
<el-divider content-position="center">报警参数</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="报警屏蔽字(TODO)" prop="alarmMaskingWord">
<el-input v-model="form.alarmMaskingWord" clearable />
</el-form-item>
<el-form-item label="报警发送文本 SMS 开关(TODO)" prop="alarmSendsTextSmsSwitch">
<el-input v-model="form.alarmSendsTextSmsSwitch" clearable />
</el-form-item>
<el-form-item label="报警拍摄开关(TODO)" prop="alarmShootingSwitch">
<el-input v-model="form.alarmShootingSwitch" clearable />
</el-form-item>
<el-form-item label="报警拍摄存储标志(TODO)" prop="alarmShootingStorageFlags">
<el-input v-model="form.alarmShootingStorageFlags" clearable />
</el-form-item>
<el-form-item label="关键标志(TODO)" prop="KeySign">
<el-input v-model="form.KeySign" clearable />
</el-form-item>
<el-form-item label="电子围栏半径(米)" prop="fenceRadius">
<el-input v-model="form.fenceRadius" clearable />
</el-form-item>
</el-form>
<el-divider content-position="center">行驶参数</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<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>
<el-divider v-if="form.cameraTimer" content-position="center">定时拍照控制</el-divider>
<el-form v-if="form.cameraTimer" ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="定时拍照开关-通道1" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.switchForChannel1" />
</el-form-item>
<el-form-item label="定时拍照开关-通道2" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.switchForChannel2" />
</el-form-item>
<el-form-item label="定时拍照开关-通道3" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.switchForChannel3" />
</el-form-item>
<el-form-item label="定时拍照开关-通道4" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.switchForChannel4" />
</el-form-item>
<el-form-item label="定时拍照开关-通道5" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.switchForChannel5" />
</el-form-item>
<el-form-item label="定时拍照存储-通道1" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.storageFlagsForChannel1" />
</el-form-item>
<el-form-item label="定时拍照存储-通道2" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.storageFlagsForChannel2" />
</el-form-item>
<el-form-item label="定时拍照存储-通道3" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.storageFlagsForChannel3" />
</el-form-item>
<el-form-item label="定时拍照存储-通道4" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.storageFlagsForChannel4" />
</el-form-item>
<el-form-item label="定时拍照存储-通道5" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.storageFlagsForChannel5" />
</el-form-item>
<el-form-item label="定时时间间隔" prop="timeInterval">
<el-input v-model="form.cameraTimer.timeInterval" clearable />
</el-form-item>
<el-form-item label="定时时间单位" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.timeUnit" active-text="分" inactive-text="秒" />
</el-form-item>
</el-form>
<div style="float: right;">
<el-button type="primary" @click="onSubmit">确认</el-button>
<el-button @click="showDevice">取消</el-button>
</div>
</el-main>
</el-container>
</div>
</template>
<script>
export default {
name: 'JTDeviceParam',
components: {
},
props: {
phoneNumber: {
type: String,
default: null
}
},
data() {
return {
form: {
collisionAlarmParams: {},
illegalDrivingPeriods: {},
cameraTimer: {}
},
rules: {
deviceId: [{ required: true, message: '请输入设备编号', trigger: 'blur' }]
},
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.$store.dispatch('jtDevice/setConfig', {
phoneNumber: this.phoneNumber,
config: this.form
})
.then((data) => {
this.$message.success({
showClose: true,
message: '保存成功'
})
})
},
showDevice: function() {
this.$emit('show-device')
}
}
}
</script>