[1078] 优化终端参数查询和设置

This commit is contained in:
lin
2025-07-21 10:35:30 +08:00
parent a60eb082fe
commit 03b5c0241f
5 changed files with 58 additions and 46 deletions

View File

@@ -219,7 +219,7 @@ public class JTDeviceConfig {
@ConfigAttribute(id = 0x76, type="ChannelListParam", description = "音视频通道列表设置")
private JTChannelListParam channelListParam;
@ConfigAttribute(id = 0x77, type="ChannelParam", description = "视频通道列表设置")
@ConfigAttribute(id = 0x77, type="ChannelParam", description = "单独视频通道参数设置")
private JTChannelParam channelParam;
@ConfigAttribute(id = 0x79, type="AlarmRecordingParam", description = "特殊报警录像参数设置")

View File

@@ -105,20 +105,20 @@ public class jt1078ServiceImpl implements Ijt1078Service {
@EventListener
public void onApplicationEvent(RegisterEvent event) {
// 首次注册设备根据终端参数获取
JTDevice device = event.getDevice();
List<JTChannel> channelList = jtChannelMapper.selectAllByDevicePhoneNumber(device.getPhoneNumber());
if (!channelList.isEmpty()) {
return;
}
JTDeviceConfig jtDeviceConfig = queryConfig(device.getPhoneNumber(), null);
JTChannelParam channelParam = jtDeviceConfig.getChannelParam();
if (channelParam != null && channelParam.getJtAloneChanelList() != null && !channelParam.getJtAloneChanelList().isEmpty()) {
// 写入通道
List<JTAloneChanel> jtAloneChanelList = channelParam.getJtAloneChanelList();
for (JTAloneChanel jtAloneChanel : jtAloneChanelList) {
}
}
// JTDevice device = event.getDevice();
// List<JTChannel> channelList = jtChannelMapper.selectAllByDevicePhoneNumber(device.getPhoneNumber());
// if (!channelList.isEmpty()) {
// return;
// }
// JTDeviceConfig jtDeviceConfig = queryConfig(device.getPhoneNumber(), null);
// JTChannelParam channelParam = jtDeviceConfig.getChannelParam();
// if (channelParam != null && channelParam.getJtAloneChanelList() != null && !channelParam.getJtAloneChanelList().isEmpty()) {
// // 写入通道
// List<JTAloneChanel> jtAloneChanelList = channelParam.getJtAloneChanelList();
// for (JTAloneChanel jtAloneChanel : jtAloneChanelList) {
//
// }
// }
}

View File

@@ -1,24 +1,24 @@
<template>
<div style="width: 100%;">
<div style="height: calc(100vh - 260px); overflow: auto">
<el-form ref="form" :model="form" label-width="240px" style="width: 90%; margin: 0 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-model="form.alarmMaskingWord"></alarmSign>
<alarmSign v-if="form.alarmMaskingWord" :fatherValue="form.alarmMaskingWord" @change="(data)=>{form.alarmMaskingWord = data}"></alarmSign>
</el-form-item>
<el-form-item label="报警发送文本SMS开关" prop="alarmSendsTextSmsSwitch">
<alarmSign v-model="form.alarmSendsTextSmsSwitch"></alarmSign>
<alarmSign v-if="form.alarmSendsTextSmsSwitch" :fatherValue="form.alarmSendsTextSmsSwitch" @change="(data)=>{form.alarmSendsTextSmsSwitch = data}"></alarmSign>
</el-form-item>
<el-form-item label="报警拍摄开关" prop="alarmShootingSwitch">
<alarmSign v-model="form.alarmShootingSwitch"></alarmSign>
<alarmSign v-if="form.alarmShootingSwitch" :fatherValue="form.alarmShootingSwitch" @change="(data)=>{form.alarmShootingSwitch = data}"></alarmSign>
</el-form-item>
<el-form-item label="报警拍摄存储标志" prop="alarmShootingStorageFlags">
<alarmSign v-model="form.alarmShootingStorageFlags"></alarmSign>
<alarmSign v-if="form.alarmShootingStorageFlags" :fatherValue="form.alarmShootingStorageFlags" @change="(data)=>{form.alarmShootingStorageFlags = data}"></alarmSign>
</el-form-item>
<el-form-item label="关键标志" prop="KeySign">
<alarmSign v-model="form.KeySign"></alarmSign>
<el-form-item label="关键标志" prop="keySign">
<alarmSign v-if="form.keySign" :fatherValue="form.keySign" @change="(data)=>{form.keySign = data}"></alarmSign>
</el-form-item>
<el-form-item label="电子围栏半径(米)" prop="fenceRadius">
<el-input v-model="form.fenceRadius" clearable />
<el-input type="number" v-if="form.fenceRadius" v-model="form.fenceRadius" placeholder="请输入电子围栏半径" clearable />
</el-form-item>
</el-form>
</div>
@@ -47,11 +47,12 @@ export default {
data() {
return {
form: {
alarmMaskingWord: {},
alarmSendsTextSmsSwitch: {},
alarmShootingSwitch: {},
alarmShootingStorageFlags: {},
KeySign: {}
alarmMaskingWord: null,
alarmSendsTextSmsSwitch: null,
alarmShootingSwitch: null,
alarmShootingStorageFlags: null,
keySign: null,
fenceRadius: null
},
isLoading: false
}
@@ -66,6 +67,12 @@ export default {
this.$store.dispatch('jtDevice/queryConfig', this.phoneNumber)
.then((data) => {
this.form = data
// this.form.alarmMaskingWord = data.alarmMaskingWord
// this.form.alarmSendsTextSmsSwitch = data.alarmSendsTextSmsSwitch
// this.form.alarmShootingSwitch = data.alarmShootingSwitch
// this.form.alarmShootingStorageFlags = data.alarmShootingStorageFlags
// this.form.keySign = data.keySign
// this.$forceUpdate()
})
.catch((e) => {
console.log(e)
@@ -74,6 +81,9 @@ export default {
this.isLoading = false
})
},
formChange: function(data) {
this.form = data
},
onSubmit: function() {
this.$emit('submit', this.form)
},

View File

@@ -91,6 +91,7 @@ export default {
mounted() {
if (this.fatherValue !== null) {
console.log(this.fatherValue)
this.form.urgent = this.fatherValue.urgent || false
this.form.alarmSpeeding = this.fatherValue.alarmSpeeding || false
this.form.alarmTired = this.fatherValue.alarmTired || false

View File

@@ -5,30 +5,30 @@
<el-page-header content="终端参数" @back="showDevice" />
</div>
</div>
<el-tabs tab-position="left" style="height: calc(100vh - 164px); padding: 20px">
<el-tab-pane label="通讯参数">
<communication :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></communication>
<el-tabs tab-position="left" v-model="activeTab" style="height: calc(100vh - 164px); padding: 20px">
<el-tab-pane label="通讯参数" name="communication">
<communication v-if="activeTab === 'communication'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></communication>
</el-tab-pane>
<el-tab-pane label="服务器">
<server :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></server>
<el-tab-pane label="服务器" name="server">
<server v-if="activeTab === 'server'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></server>
</el-tab-pane>
<el-tab-pane label="位置汇报">
<position :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></position>
<el-tab-pane label="位置汇报" name="position">
<position v-if="activeTab === 'position'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></position>
</el-tab-pane>
<el-tab-pane label="电话号码">
<phoneNumber :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></phoneNumber>
<el-tab-pane label="电话号码" name="phoneNumber">
<phoneNumber v-if="activeTab === 'phoneNumber'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></phoneNumber>
</el-tab-pane>
<el-tab-pane label="报警参数">
<alarm :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></alarm>
<el-tab-pane label="报警参数" name="alarm">
<alarm v-if="activeTab === 'alarm'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></alarm>
</el-tab-pane>
<el-tab-pane label="行驶参数">
<driving :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></driving>
<el-tab-pane label="行驶参数" name="driving">
<driving v-if="activeTab === 'driving'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></driving>
</el-tab-pane>
<el-tab-pane label="定时拍照">
<cameraTimer :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></cameraTimer>
<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="音视频">
<media :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></media>
<el-tab-pane label="音视频" name="media">
<media v-if="activeTab === 'media'" :phone-number="phoneNumber" @submit="onSubmit" @show-device="showDevice"></media>
</el-tab-pane>
</el-tabs>
</div>
@@ -65,7 +65,8 @@ export default {
rules: {
deviceId: [{ required: true, message: '请输入设备编号', trigger: 'blur' }]
},
isLoading: false
isLoading: false,
activeTab: 'communication'
}
},