国标通道编辑重置支持选择字段
This commit is contained in:
@@ -86,16 +86,12 @@ public class CommonGBChannel {
|
|||||||
@Schema(description = "国标-纬度 WGS-84坐标系")
|
@Schema(description = "国标-纬度 WGS-84坐标系")
|
||||||
private Double gbLatitude;
|
private Double gbLatitude;
|
||||||
|
|
||||||
@Schema(description = "")
|
|
||||||
private Double gpsAltitude;
|
private Double gpsAltitude;
|
||||||
|
|
||||||
@Schema(description = "")
|
|
||||||
private Double gpsSpeed;
|
private Double gpsSpeed;
|
||||||
|
|
||||||
@Schema(description = "")
|
|
||||||
private Double gpsDirection;
|
private Double gpsDirection;
|
||||||
|
|
||||||
@Schema(description = "")
|
|
||||||
private String gpsTime;
|
private String gpsTime;
|
||||||
|
|
||||||
@Schema(description = "国标-虚拟组织所属的业务分组ID")
|
@Schema(description = "国标-虚拟组织所属的业务分组ID")
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ public class ChannelController {
|
|||||||
|
|
||||||
@Operation(summary = "重置国标通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
@Operation(summary = "重置国标通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
@PostMapping("/reset")
|
@PostMapping("/reset")
|
||||||
public void reset(ResetParam param){
|
public void reset(@RequestBody ResetParam param){
|
||||||
Assert.notNull(param.getId(), "通道ID不能为空");
|
Assert.notNull(param.getId(), "通道ID不能为空");
|
||||||
Assert.notEmpty(param.getChanelFields(), "待重置字段不可以空");
|
Assert.notEmpty(param.getChanelFields(), "待重置字段不可以空");
|
||||||
channelService.reset(param.getId(), param.getChanelFields());
|
channelService.reset(param.getId(), param.getChanelFields());
|
||||||
|
|||||||
@@ -237,8 +237,8 @@ public interface CommonGBChannelMapper {
|
|||||||
@Update(value = {" <script>" +
|
@Update(value = {" <script>" +
|
||||||
" UPDATE wvp_device_channel " +
|
" UPDATE wvp_device_channel " +
|
||||||
" SET update_time=#{updateTime}" +
|
" SET update_time=#{updateTime}" +
|
||||||
"<foreach collection='fields' index='index' item='item' separator=';'> " +
|
"<foreach collection='fields' index='index' item='item'> " +
|
||||||
", #{item} = null" +
|
" ,${item} = null" +
|
||||||
"</foreach> " +
|
"</foreach> " +
|
||||||
" WHERE id = #{id}"+
|
" WHERE id = #{id}"+
|
||||||
" </script>"})
|
" </script>"})
|
||||||
|
|||||||
@@ -41,13 +41,11 @@ export function update(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function reset(id) {
|
export function reset(data) {
|
||||||
return request({
|
return request({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
url: '/api/common/channel/reset',
|
url: '/api/common/channel/reset',
|
||||||
params: {
|
data: data
|
||||||
id: id
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,9 +72,9 @@ const actions = {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
reset({ commit }, id) {
|
reset({ commit }, data) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
reset(id).then(response => {
|
reset(data).then(response => {
|
||||||
const { data } = response
|
const { data } = response
|
||||||
resolve(data)
|
resolve(data)
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
|||||||
@@ -233,7 +233,7 @@
|
|||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<el-button type="primary" @click="onSubmit" >保存</el-button>
|
<el-button type="primary" @click="onSubmit" >保存</el-button>
|
||||||
<el-button v-if="showCancel" @click="cancelSubmit" >取消</el-button>
|
<el-button v-if="showCancel" @click="cancelSubmit" >取消</el-button>
|
||||||
<el-button v-if="form.dataType === 1" @click="reset">重置</el-button>
|
<el-button v-if="form.dataType === 1" @click="showReset">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -241,6 +241,7 @@
|
|||||||
<channelCode ref="channelCode" />
|
<channelCode ref="channelCode" />
|
||||||
<chooseCivilCode ref="chooseCivilCode" />
|
<chooseCivilCode ref="chooseCivilCode" />
|
||||||
<chooseGroup ref="chooseGroup" />
|
<chooseGroup ref="chooseGroup" />
|
||||||
|
<resetChannel ref="resetChannel" @submit="reset"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -249,10 +250,12 @@ import channelCode from './../dialog/channelCode'
|
|||||||
import ChooseCivilCode from '../dialog/chooseCivilCode.vue'
|
import ChooseCivilCode from '../dialog/chooseCivilCode.vue'
|
||||||
import ChooseGroup from '../dialog/chooseGroup.vue'
|
import ChooseGroup from '../dialog/chooseGroup.vue'
|
||||||
import diff from '../../utils/diff'
|
import diff from '../../utils/diff'
|
||||||
|
import ResetChannel from './../dialog/resetChannel.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CommonChannelEdit',
|
name: 'CommonChannelEdit',
|
||||||
components: {
|
components: {
|
||||||
|
ResetChannel,
|
||||||
ChooseCivilCode,
|
ChooseCivilCode,
|
||||||
ChooseGroup,
|
ChooseGroup,
|
||||||
channelCode
|
channelCode
|
||||||
@@ -346,7 +349,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
reset: function() {
|
reset: function(fileIds) {
|
||||||
this.$confirm('确定重置为默认内容?', '提示', {
|
this.$confirm('确定重置为默认内容?', '提示', {
|
||||||
dangerouslyUseHTMLString: true,
|
dangerouslyUseHTMLString: true,
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
@@ -354,7 +357,10 @@ export default {
|
|||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.$store.dispatch('commonChanel/reset', this.form.gbId)
|
this.$store.dispatch('commonChanel/reset', {
|
||||||
|
id: this.form.gbId,
|
||||||
|
chanelFields: fileIds
|
||||||
|
})
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
this.$message.success({
|
this.$message.success({
|
||||||
showClose: true,
|
showClose: true,
|
||||||
@@ -406,6 +412,9 @@ export default {
|
|||||||
cancelSubmit: function() {
|
cancelSubmit: function() {
|
||||||
this.$emit('cancel')
|
this.$emit('cancel')
|
||||||
},
|
},
|
||||||
|
showReset: function() {
|
||||||
|
this.$refs.resetChannel.openDialog()
|
||||||
|
},
|
||||||
getPaths: function() {
|
getPaths: function() {
|
||||||
this.parentPath = []
|
this.parentPath = []
|
||||||
if (this.form.gbParentId && this.form.gbBusinessGroupId) {
|
if (this.form.gbParentId && this.form.gbBusinessGroupId) {
|
||||||
|
|||||||
245
web/src/views/dialog/resetChannel.vue
Normal file
245
web/src/views/dialog/resetChannel.vue
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
v-el-drag-dialog
|
||||||
|
title="选择待重置字段"
|
||||||
|
width="45rem"
|
||||||
|
top="10rem"
|
||||||
|
center
|
||||||
|
:append-to-body="true"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:visible.sync="showVideoDialog"
|
||||||
|
v-if="showVideoDialog"
|
||||||
|
:destroy-on-close="true"
|
||||||
|
>
|
||||||
|
<div style="padding: 0 1rem">
|
||||||
|
<el-checkbox v-for="(item,index) in allVal" v-bind:key="item.field" v-model="item.checked" :label="item.name" ></el-checkbox>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div slot="footer">
|
||||||
|
<el-form size="small">
|
||||||
|
<el-form-item style="text-align: left">
|
||||||
|
<el-button @click="checkedSome" size="mini" >常用</el-button>
|
||||||
|
<el-button @click="checkedAll" size="mini" >全选</el-button>
|
||||||
|
<el-button @click="clearChecked" size="mini" >清空</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="text-align: right">
|
||||||
|
<el-button type="primary" @click="handleOk">保存</el-button>
|
||||||
|
<el-button @click="closeModel" >取消</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import elDragDialog from '@/directive/el-drag-dialog'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
directives: { elDragDialog },
|
||||||
|
props: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showVideoDialog: false,
|
||||||
|
allVal: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeMount() {
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openDialog: function() {
|
||||||
|
this.showVideoDialog = true
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
closeModel: function() {
|
||||||
|
this.showVideoDialog = false
|
||||||
|
},
|
||||||
|
initData: function() {
|
||||||
|
this.allVal = [
|
||||||
|
{
|
||||||
|
name: '名称',
|
||||||
|
field: 'gbName',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '编码',
|
||||||
|
field: 'gbDeviceId',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '设备厂商',
|
||||||
|
field: 'gbManufacturer',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '设备型号',
|
||||||
|
field: 'gbModel',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '行政区域',
|
||||||
|
field: 'gbCivilCode',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '安装地址',
|
||||||
|
field: 'gbAddress',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '监视方位',
|
||||||
|
field: 'gbDirectionType',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '父节点编码',
|
||||||
|
field: 'gbParentId',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '设备状态',
|
||||||
|
field: 'gbStatus',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '经度',
|
||||||
|
field: 'gbLongitude',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '纬度',
|
||||||
|
field: 'gbLatitude',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '摄像机类型',
|
||||||
|
field: 'gbPtzType',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '业务分组',
|
||||||
|
field: 'gbBusinessGroupId',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '警区',
|
||||||
|
field: 'gbBlock',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '保密属性',
|
||||||
|
field: 'gbSecrecy',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'IP地址',
|
||||||
|
field: 'gbIpAddress',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '端口',
|
||||||
|
field: 'gbPort',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '设备归属',
|
||||||
|
field: 'gbOwner',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '是否有子设备',
|
||||||
|
field: 'gbParental',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '位置类型',
|
||||||
|
field: 'gbPositionType',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '室内/室外',
|
||||||
|
field: 'gbRoomType',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '用途',
|
||||||
|
field: 'gbUseType',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '补光',
|
||||||
|
field: 'gbSupplyLightType',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '分辨率',
|
||||||
|
field: 'gbResolution',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '下载倍速',
|
||||||
|
field: 'gbDownloadSpeed',
|
||||||
|
checked: true,
|
||||||
|
disable: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
clearChecked: function() {
|
||||||
|
for (let i = 0; i < this.allVal.length; i++) {
|
||||||
|
let item = this.allVal[i]
|
||||||
|
item.checked = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
checkedAll: function() {
|
||||||
|
for (let i = 0; i < this.allVal.length; i++) {
|
||||||
|
let item = this.allVal[i]
|
||||||
|
item.checked = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
checkedSome: function() {
|
||||||
|
for (let i = 0; i < this.allVal.length; i++) {
|
||||||
|
let item = this.allVal[i]
|
||||||
|
item.checked = (item.field === 'gbName' || item.field === 'gbStatus'
|
||||||
|
|| item.field === 'gbLongitude' || item.field === 'gbLatitude'
|
||||||
|
|| item.field === 'gbBusinessGroupId' || item.field === 'gbParentId')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleOk: function() {
|
||||||
|
this.showVideoDialog = false
|
||||||
|
let fileArray = []
|
||||||
|
for (let i = 0; i < this.allVal.length; i++) {
|
||||||
|
let item = this.allVal[i]
|
||||||
|
if (item.checked) {
|
||||||
|
fileArray.push(item.field)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$emit('submit', fileArray)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
Reference in New Issue
Block a user