[1078] 完善终端参数

This commit is contained in:
lin
2025-07-22 06:05:20 +08:00
parent a4e20f0f50
commit fb150da97a
4 changed files with 149 additions and 28 deletions

View File

@@ -258,7 +258,7 @@ public class JTDeviceConfig {
@ConfigAttribute(id = 0x92, type="Short", description = "GNSS 模块详细定位数据输出频率,定义如下: 0: 500ms, 1:1000ms(默认值), 22000ms, 3:3000ms, 4:4000ms")
private Short gnssOutputFrequency;
@ConfigAttribute(id = 0x93, type="Long", description = "GNSS 模块详细定位数据采集频率 ,单位为秒(s) ,默认为1")
@ConfigAttribute(id = 0x93, type="Long", description = "GNSS 模块详细定位数据采集频率 ,单位为秒(s) ,默认为1")
private Long gnssCollectionFrequency;
@ConfigAttribute(id = 0x94, type="Short", description = "GNSS 模块详细定位数据上传方式:,定义如下: " +

View File

@@ -0,0 +1,86 @@
<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 label="通道1采集时间间隔(毫秒)" prop="canCollectionTimeForChannel1">
<el-input v-model="form.canCollectionTimeForChannel1" placeholder="通道1采集时间间隔, 单位为毫秒(ms), 0表示不采集"/>
</el-form-item>
<el-form-item label="通道1上传时间间隔(秒)" prop="canUploadIntervalForChannel1">
<el-input v-model="form.canUploadIntervalForChannel1" placeholder="通道1 上传时间间隔, 单位为秒(s), 0表示不上传"/>
</el-form-item>
<el-form-item label="通道2采集时间间隔(毫秒)" prop="canCollectionTimeForChannel2">
<el-input v-model="form.canCollectionTimeForChannel2" placeholder="通道2采集时间间隔, 单位为毫秒(ms), 0表示不采集"/>
</el-form-item>
<el-form-item label="通道2上传时间间隔(秒)" prop="canUploadIntervalForChannel2">
<el-input v-model="form.canUploadIntervalForChannel2" placeholder="通道2 上传时间间隔, 单位为秒(s), 0表示不上传"/>
</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: {},
computed: {
gnssDataUploadMethodUnitLable(){
switch (this.form.gnssDataUploadMethod) {
case 1:
case 11:
return '上传设置(秒)'
case 2:
case 12:
return '上传设置(米)'
case 13:
return '上传设置(条)'
default:
return '上传设置'
}
}
},
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

@@ -2,36 +2,52 @@
<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 label="里程表读数(1/10km)" prop="mileage">
<el-input type="number" v-model="form.mileage" />
</el-form-item>
<el-form-item label="省域ID" prop="provincialId">
<el-input v-model="form.provincialId" />
</el-form-item>
<el-form-item label="市域ID" prop="cityId">
<el-input v-model="form.cityId" />
</el-form-item>
<el-form-item label="机动车号牌" prop="licensePlate">
<el-input v-model="form.licensePlate" />
</el-form-item>
<el-form-item label="车牌颜色" prop="licensePlateColor">
<el-form-item label="波特率" prop="gnssBaudRate">
<el-select
v-model="form.licensePlateColor"
v-model="form.gnssBaudRate"
style="width: 100%"
placeholder="请选择车牌颜色"
placeholder="请选择波特率"
>
<el-option label="未上牌" :value="0" />
<el-option label="蓝色" :value="1" />
<el-option label="黄色" :value="2" />
<el-option label="黑色" :value="3" />
<el-option label="白色" :value="4" />
<el-option label="绿色" :value="5" />
<el-option label="农黄色" :value="91" />
<el-option label="农绿色" :value="92" />
<el-option label="黄绿色" :value="93" />
<el-option label="渐变绿" :value="94" />
<el-option label="4800" :value="0" />
<el-option label="19200" :value="1" />
<el-option label="38400" :value="2" />
<el-option label="57600" :value="3" />
<el-option label="115200" :value="4" />
</el-select>
</el-form-item>
<el-form-item label="输出频率" prop="gnssOutputFrequency">
<el-select
v-model="form.gnssOutputFrequency"
style="width: 100%"
placeholder="请选择输出频率"
>
<el-option label="500ms" :value="0" />
<el-option label="1000ms" :value="1" />
<el-option label="2000ms" :value="2" />
<el-option label="3000ms" :value="3" />
<el-option label="4000ms" :value="4" />
</el-select>
</el-form-item>
<el-form-item label="采集频率(秒)" prop="gnssCollectionFrequency">
<el-input v-model="form.gnssCollectionFrequency" />
</el-form-item>
<el-form-item label="上传方式" prop="gnssDataUploadMethod">
<el-select
v-model="form.gnssDataUploadMethod"
style="width: 100%"
placeholder="请选择上传方式"
>
<el-option label="本地存储, 不上传" :value="0" />
<el-option label="按时间间隔上传" :value="1" />
<el-option label="按距离间隔上传" :value="2" />
<el-option label="按累计时间上传, 达到传输时间后自动停止上传" :value="11" />
<el-option label="按累计距离上传, 达到距离后自动停止上传" :value="12" />
<el-option label="按累计条数上传, 达到上传条数后自动停止上传" :value="13" />
</el-select>
</el-form-item>
<el-form-item v-if="form.gnssDataUploadMethod > 0" :label="gnssDataUploadMethodUnitLable" prop="gnssDataUploadMethodUnit">
<el-input v-model="form.gnssDataUploadMethodUnit" />
</el-form-item>
</el-form>
</div>
<p style="text-align: right">
@@ -46,7 +62,22 @@
export default {
name: 'communication',
components: {
components: {},
computed: {
gnssDataUploadMethodUnitLable(){
switch (this.form.gnssDataUploadMethod) {
case 1:
case 11:
return '上传设置(秒)'
case 2:
case 12:
return '上传设置(米)'
case 13:
return '上传设置(条)'
default:
return '上传设置'
}
}
},
props: {
phoneNumber: {

View File

@@ -42,6 +42,9 @@
<el-tab-pane label="卫星定位" name="gnssParam">
<gnssParam v-if="activeTab === 'gnssParam'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></gnssParam>
</el-tab-pane>
<el-tab-pane label="CAN总线" name="canCollection">
<canCollectionParam v-if="activeTab === 'canCollection'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></canCollectionParam>
</el-tab-pane>
</el-tabs>
</div>
</template>
@@ -59,11 +62,12 @@ import videoParam from './videoParam.vue'
import awakenParam from './awakenParam.vue'
import carInfo from './carInfo.vue'
import gnssParam from './gnssParam.vue'
import canCollectionParam from './canCollectionParam.vue'
export default {
name: 'JTDeviceParam',
components: {
communication, server, position, phoneNumber, alarm, driving, cameraTimer, imageConfig, videoParam, awakenParam, carInfo, gnssParam
communication, server, position, phoneNumber, alarm, driving, cameraTimer, imageConfig, videoParam, awakenParam, carInfo, gnssParam, canCollectionParam
},
props: {
phoneNumber: {