监控管理修改

product
chuang 2 years ago
parent 17a49f2b53
commit 76e3cc230a

@ -6,6 +6,8 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import jnpf.base.ActionResult; import jnpf.base.ActionResult;
@ -18,6 +20,7 @@ import jnpf.exception.DataException;
import jnpf.monitorItem.entity.Monitoring_itemEntity; import jnpf.monitorItem.entity.Monitoring_itemEntity;
import jnpf.monitorItem.model.monitoring_item.*; import jnpf.monitorItem.model.monitoring_item.*;
import jnpf.monitorItem.service.Monitoring_itemService; import jnpf.monitorItem.service.Monitoring_itemService;
import jnpf.monitorItem.utils.ImouConfig;
import jnpf.util.*; import jnpf.util.*;
import jnpf.util.enums.FileTypeEnum; import jnpf.util.enums.FileTypeEnum;
import jnpf.util.file.UploadUtil; import jnpf.util.file.UploadUtil;
@ -33,6 +36,7 @@ import javax.validation.Valid;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -47,7 +51,7 @@ import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
@Api(tags = "监控管理" , value = "example") @Api(tags = "监控管理" , value = "example")
@RequestMapping("/api/example/monitoringItem") @RequestMapping("/api/example/Jg_monitoring_item0")
public class Monitoring_itemController { public class Monitoring_itemController {
@Autowired @Autowired
@ -61,8 +65,70 @@ public class Monitoring_itemController {
@Autowired @Autowired
private Monitoring_itemService monitoring_itemService; private Monitoring_itemService monitoring_itemService;
@ApiOperation("更新摄像头视频流地址")
@GetMapping("/updateMonitoring")
public ActionResult updateMonitoring() throws Exception {
// 查询rtmp协议直播地址
// String URL="https://openapi.lechange.cn/openapi/queryDeviceRtmpLive";
// 获取管理员token
ImouConfig config = new ImouConfig();
String accessToken = config.getAccessToken();
// 获取设备的列表信息
// config.getList(accessToken);
// 批量创建设备flv直播支持录像直播和实时直播
// for (int i = 0; i < 32; i++) {
// config.createFlvLive(accessToken,i+"");
// }
////获取开发者当前账号下创建的直播详情列表,包含直播地址、直播状态、直播计划等详细信息。
// config.getLiveList(accessToken);
for (int i = 0; i < 32; i++) {
// 1 根据通道号获取地址
JSONObject flvLive = config.getFlvLive(accessToken, i+"");
// flv标清直播
String flv = String.valueOf(flvLive.get("flv"));
// flv高清直播
String flvHD = String.valueOf(flvLive.get("flvHD"));
// 设备序列号
String deviceId = String.valueOf(flvLive.get("deviceId"));
// 设备通道号
String channelId = String.valueOf(flvLive.get("channelId"));
Monitoring_itemEntity monitor = new Monitoring_itemEntity();
// 设置区域为日照金属
monitor.setMonitoringId("1");
monitor.setMName("NVR-3FA0-"+i);
monitor.setSerialnumber(deviceId);
monitor.setMStatus("1");
monitor.setFlvAddress(flv);
monitor.setFlvHdAddress(flvHD);
monitor.setChannelNumber(channelId);
// boolean save = monitoring_itemService.save(monitor);
// 2 查询本地表中此通道是否存在
LambdaQueryWrapper<Monitoring_itemEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Monitoring_itemEntity::getChannelNumber,channelId);
Monitoring_itemEntity one = monitoring_itemService.getOne(wrapper);
if (one!=null){
// 3 存在根据返回的id进行更新
monitor.setMName(null);
monitor.setLastModifyUserId("1");
monitor.setLastModifyUserName("admin");
monitor.setLastModifyTime(new Date());
monitoring_itemService.update(monitor,wrapper);
}else{
// 4 不存在进行保存
monitor.setCreatorTime(new Date());
monitor.setCreatorUserId("1");
monitor.setCreatorUserName("admin");
monitoring_itemService.save(monitor);
}
}
return ActionResult.success("成功");
}
/** /**
@ -71,6 +137,7 @@ public class Monitoring_itemController {
* @param monitoring_itemPagination * @param monitoring_itemPagination
* @return * @return
*/ */
@ApiOperation("列表")
@PostMapping("/getList") @PostMapping("/getList")
public ActionResult list(@RequestBody Monitoring_itemPagination monitoring_itemPagination)throws IOException{ public ActionResult list(@RequestBody Monitoring_itemPagination monitoring_itemPagination)throws IOException{
List<Monitoring_itemEntity> list= monitoring_itemService.getList(monitoring_itemPagination); List<Monitoring_itemEntity> list= monitoring_itemService.getList(monitoring_itemPagination);

@ -2,6 +2,7 @@ package jnpf.monitorItem.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@ -51,6 +52,7 @@ public class Monitoring_itemEntity {
private Date deleteTime; private Date deleteTime;
@TableField("DELETE_MARK") @TableField("DELETE_MARK")
@TableLogic
private String deleteMark; private String deleteMark;
@TableField("ORGNIZE_ID") @TableField("ORGNIZE_ID")
@ -71,16 +73,16 @@ public class Monitoring_itemEntity {
@TableField("M_STATUS") @TableField("M_STATUS")
private String mStatus; private String mStatus;
@TableField("FLV_ADDRESS") @TableField("flvAddress")
private String flvAddress; private String flvAddress;
@TableField("FLV_HD_ADDRESS") @TableField("flvHdAddress")
private String flvHdAddress; private String flvHdAddress;
@TableField("CHANNEL_NUMBER") @TableField("channelNumber")
private String channelNumber; private String channelNumber;
@TableField("IS_ENABLE") @TableField("isEnable")
private String isEnable; private String isEnable;
} }

@ -9,6 +9,8 @@ import jnpf.util.Md5Util;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.*; import okhttp3.*;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -17,7 +19,7 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
@Slf4j @Slf4j
//@Component @Component
public class ImouConfig { public class ImouConfig {
private String appSecret="189fec75174e487684a16c49dd1789"; private String appSecret="189fec75174e487684a16c49dd1789";
@ -34,10 +36,9 @@ public class ImouConfig {
// id请求唯一标示ID每次请求调用时传入唯一非空字符串 // id请求唯一标示ID每次请求调用时传入唯一非空字符串
private String id="98a7a257-c4e4-4db3-a2d3-d97a3836b87c"; private String id="98a7a257-c4e4-4db3-a2d3-d97a3836b87c";
// @Resource @Autowired
private Monitoring_itemService monitoring_itemService; private Monitoring_itemService monitoring_itemService;
// 设备序列号 // 设备序列号
private String deviceId="5K0A36BPAZ73FA0"; private String deviceId="5K0A36BPAZ73FA0";
@Test @Test

@ -13,57 +13,63 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="设备序列号" <el-form-item label="区域"
prop="serialnumber" > prop="monitoringId" >
<p>{{dataForm.serialnumber}}</p> <p>{{dataForm.monitoringId}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="ip地址" <el-form-item label="设备状态:"
prop="ip" > prop="mStatus" >
<p>{{dataForm.ip}}</p> <p>{{ dataForm.mStatus | dynamicText(mStatusOptions) }} </p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="端口号" <el-form-item label="标清flv直播地址"
prop="port" > prop="flvAddress" >
<p>{{dataForm.port}}</p> <p>{{dataForm.flvAddress}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="账号" <el-form-item label="高清flv直播地址"
prop="account" > prop="flvHdAddress" >
<p>{{dataForm.account}}</p> <p>{{dataForm.flvHdAddress}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="密码" <el-form-item label="设备通道号"
prop="password" > prop="channelNumber" >
<p>{{dataForm.password}}</p> <p>{{dataForm.channelNumber}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="创建人名称" <el-form-item label="是否显示"
prop="creatorusername" > prop="isEnable" >
<p>{{dataForm.creatorusername}}</p> <p>{{ dataForm.isEnable | dynamicText(isEnableOptions) }} </p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="创建时间" <el-form-item label="修改时间"
prop="creatortime" > prop="lastmodifytime" >
<p>{{jnpf.dateFormat(dataForm.creatortime)}}</p> <p>{{jnpf.dateFormat(dataForm.lastmodifytime)}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="修改人名称" <el-form-item label="修改人id"
prop="lastmodifyusername" > prop="deleteUserId" >
<p>{{dataForm.lastmodifyusername}}</p> <p>{{dataForm.deleteUserId}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24" >
<el-form-item label="修改时间" <el-form-item label="创建人名称"
prop="lastmodifytime" > prop="creatorUserName" >
<p>{{jnpf.dateFormat(dataForm.lastmodifytime)}}</p> <p>{{dataForm.creatorUserName}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="创建时间"
prop="creatorTime" >
<p>{{jnpf.dateFormat(dataForm.creatorTime)}}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>
@ -90,16 +96,20 @@
dataForm: { dataForm: {
id :'', id :'',
mName : '', mName : '',
monitoringId : "",
serialnumber : '', serialnumber : '',
ip : '', mStatus : "0",
port : '', flvAddress : '',
account : '', flvHdAddress : '',
password : '', channelNumber : '',
creatorusername : '', isEnable : "0",
creatortime : '',
lastmodifyusername : '',
lastmodifytime : '', lastmodifytime : '',
deleteUserId : '',
creatorUserName : '',
creatorTime : '',
}, },
mStatusOptions:[{"fullName":"在线","id":"1"},{"fullName":"不在线","id":"0"}],
isEnableOptions:[{"fullName":"显示","id":"1"},{"fullName":"不显示","id":"0"}],
} }
}, },
@ -122,7 +132,7 @@
if(this.dataForm.id){ if(this.dataForm.id){
this.loading = true this.loading = true
request({ request({
url: '/api/monitormanage/Monitormanage/detail/'+this.dataForm.id, url: '/api/example/Jg_monitoring_item0/detail/'+this.dataForm.id,
method: 'get' method: 'get'
}).then(res => { }).then(res => {
this.dataInfo(res.data) this.dataInfo(res.data)

@ -1,89 +1,115 @@
<template> <template>
<el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" :close-on-click-modal="false" append-to-body <el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'"
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px"> :close-on-click-modal="false" append-to-body
<el-row :gutter="15" class=""> :visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px" width="800px">
label-position="right"> <el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px" label-position="right" >
<template v-if="!loading"> <template v-if="!loading">
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="设备名称" prop="mName"> <el-form-item label="设备名称"
<el-input v-model="dataForm.mName" placeholder="请输入" clearable :style='{"width":"100%"}'> prop="mName" >
<el-input v-model="dataForm.mName"
placeholder="请输入设备名称" clearable :style='{"width":"100%"}'>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="设备序列号" prop="serialnumber"> <el-form-item label="区域"
<el-input v-model="dataForm.serialnumber" placeholder="请输入" clearable prop="monitoringId" >
:style='{"width":"100%"}'> <el-select v-model="dataForm.monitoringId"
placeholder="请选择区域" clearable :style='{"width":"100%"}' filterable >
<el-option v-for="(item, index) in monitoringIdOptions" :key="index" :label="item.m_name" :value="item.id" :disabled="item.disabled" ></el-option>
</el-input> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="ip地址" prop="ip"> <el-form-item label="设备状态:"
<el-input v-model="dataForm.ip" placeholder="请输入" clearable :style='{"width":"100%"}'> prop="mStatus" >
<el-select v-model="dataForm.mStatus"
placeholder="请选择设备状态" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in mStatusOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-input> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="端口号" prop="port"> <el-form-item label="标清flv直播地址"
<el-input v-model="dataForm.port" placeholder="请输入" clearable :style='{"width":"100%"}'> prop="flvAddress" >
<el-input v-model="dataForm.flvAddress"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="账号" prop="account"> <el-form-item label="高清flv直播地址"
<el-input v-model="dataForm.account" placeholder="请输入" clearable :style='{"width":"100%"}'> prop="flvHdAddress" >
<el-input v-model="dataForm.flvHdAddress"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="密码" prop="password"> <el-form-item label="设备通道号"
<el-input v-model="dataForm.password" placeholder="请输入" clearable :style='{"width":"100%"}'> prop="channelNumber" >
<el-input v-model="dataForm.channelNumber"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="创建人名称" prop="creatorusername"> <el-form-item label="是否显示"
<el-input v-model="dataForm.creatorusername" placeholder="请输入" clearable prop="isEnable" >
:style='{"width":"100%"}'> <el-select v-model="dataForm.isEnable"
placeholder="请选择是否显示" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in isEnableOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-input> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="创建时间" prop="creatortime"> <el-form-item label="修改时间"
<el-date-picker v-model="dataForm.creatortime" placeholder="请选择" clearable prop="lastmodifytime" >
:style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" <el-date-picker v-model="dataForm.lastmodifytime"
value-format="timestamp"> placeholder="请选择" readonly clearable :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="修改人名称" prop="lastmodifyusername"> <el-form-item label="修改人id"
<el-input v-model="dataForm.lastmodifyusername" placeholder="请输入" clearable prop="deleteUserId" >
:style='{"width":"100%"}'> <el-input v-model="dataForm.deleteUserId"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="创建人名称"
prop="creatorUserName" >
<el-input v-model="dataForm.creatorUserName"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" >
<el-form-item label="修改时间" prop="lastmodifytime"> <el-form-item label="创建时间"
<el-date-picker v-model="dataForm.lastmodifytime" placeholder="请选择" clearable prop="creatorTime" >
:style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" <el-date-picker v-model="dataForm.creatorTime"
value-format="timestamp"> placeholder="请选择" readonly clearable :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>
</el-form> </el-form>
</el-row> </el-row>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button> <el-button @click="visible = false"> </el-button>
@ -93,12 +119,8 @@
</template> </template>
<script> <script>
import request from '@/utils/request' import request from '@/utils/request'
import { import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
getDataInterfaceRes import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
export default { export default {
components: {}, components: {},
props: [], props: [],
@ -108,38 +130,49 @@
loading: false, loading: false,
isDetail: false, isDetail: false,
dataForm: { dataForm: {
mName: '', mName : '',
serialnumber: '', monitoringId : "",
ip: '', serialnumber : '',
port: '', mStatus : "0",
account: '', flvAddress : '',
password: '', flvHdAddress : '',
creatorusername: '', channelNumber : '',
creatortime: '', isEnable : "0",
lastmodifyusername: '', lastmodifytime : '',
lastmodifytime: '', deleteUserId : '',
creatorUserName : '',
creatorTime : '',
}, },
rules: { rules:
mName: [{ {
required: true, mName: [
message: '请输入', {
trigger: 'blur'
}, ],
serialnumber: [{
required: true, required: true,
message: '请输入', message: '请输入设备名称',
trigger: 'blur' trigger: 'blur'
}, ],
}, },
],
},
monitoringIdOptions:[],
mStatusOptions:[{"fullName":"在线","id":"1"},{"fullName":"不在线","id":"0"}],
isEnableOptions:[{"fullName":"显示","id":"1"},{"fullName":"不显示","id":"0"}],
} }
}, },
computed: {}, computed: {},
watch: {}, watch: {},
created() {}, created() {
this.getmonitoringIdOptions();
},
mounted() {}, mounted() {},
methods: { methods: {
clearData(data) { getmonitoringIdOptions() {
getDataInterfaceRes('370933183241262469').then(res => {
let data = res.data.data
this.monitoringIdOptions = data
})
},
clearData(data){
for (let key in data) { for (let key in data) {
if (data[key] instanceof Array) { if (data[key] instanceof Array) {
data[key] = []; data[key] = [];
@ -156,16 +189,16 @@
this.isDetail = isDetail || false; this.isDetail = isDetail || false;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['elForm'].resetFields(); this.$refs['elForm'].resetFields();
if (this.dataForm.id) { if(this.dataForm.id){
this.loading = true this.loading = true
request({ request({
url: '/api/monitormanage/Monitormanage/' + this.dataForm.id, url: '/api/example/Jg_monitoring_item0/'+this.dataForm.id,
method: 'get' method: 'get'
}).then(res => { }).then(res => {
this.dataInfo(res.data) this.dataInfo(res.data)
this.loading = false this.loading = false
}); });
} else { }else{
this.clearData(this.dataForm) this.clearData(this.dataForm)
} }
}); });
@ -180,10 +213,10 @@
}) })
}, },
request() { request() {
var _data = this.dataList() var _data =this.dataList()
if (!this.dataForm.id) { if (!this.dataForm.id) {
request({ request({
url: '/api/monitormanage/Monitormanage', url: '/api/example/Jg_monitoring_item0',
method: 'post', method: 'post',
data: _data data: _data
}).then((res) => { }).then((res) => {
@ -197,9 +230,9 @@
} }
}) })
}) })
} else { }else{
request({ request({
url: '/api/monitormanage/Monitormanage/' + this.dataForm.id, url: '/api/example/Jg_monitoring_item0/'+this.dataForm.id,
method: 'PUT', method: 'PUT',
data: _data data: _data
}).then((res) => { }).then((res) => {
@ -215,14 +248,15 @@
}) })
} }
}, },
dataList() { dataList(){
var _data = JSON.parse(JSON.stringify(this.dataForm)); var _data = JSON.parse(JSON.stringify(this.dataForm));
return _data; return _data;
}, },
dataInfo(dataAll) { dataInfo(dataAll){
let _dataAll = dataAll let _dataAll =dataAll
this.dataForm = _dataAll this.dataForm = _dataAll
}, },
}, },
} }
</script> </script>

@ -9,6 +9,16 @@
<el-input v-model="query.mName" placeholder="请输入" clearable> </el-input> <el-input v-model="query.mName" placeholder="请输入" clearable> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="区域">
<el-select v-model="query.monitoringId" placeholder="请选择区域"
clearable>
<el-option v-for="(item, index) in monitoringIdOptions" :key="index"
:label="item.m_name" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"></el-button> <el-button type="primary" icon="el-icon-search" @click="search()"></el-button>
@ -22,73 +32,76 @@
<div> <div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()"> <el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button> </el-button>
<el-button type="text" icon="el-icon-download" @click="exportData()"> <el-button type="text" icon="el-icon-download" @click="exportData()" >
</el-button> </el-button>
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()"> <el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()" >批量删
</el-button> </el-button>
</div> </div>
<div class="JNPF-common-head-right"> <div class="JNPF-common-head-right">
<el-tooltip effect="dark" content="刷新" placement="top"> <el-tooltip effect="dark" content="刷新" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false" <el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="reset()" /> @click="reset()"/>
</el-tooltip> </el-tooltip>
<screenfull isContainer /> <screenfull isContainer/>
</div> </div>
</div> </div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c <JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c @selection-change="handleSelectionChange">
@selection-change="handleSelectionChange"> <el-table-column prop="mName" label="设备名称" width="0" align="left"
<el-table-column prop="mName" label="设备名称" width="0" align="left" /> />
<el-table-column prop="serialnumber" label="设备序列号" width="0" align="left" /> <el-table-column prop="serialnumber" label="设备序列号" width="0" align="left"
<el-table-column prop="ip" label="ip地址" width="0" align="left" /> />
<el-table-column prop="port" label="端口号" width="0" align="left" /> <el-table-column prop="monitoringId" label="区域" width="0" align="left"
<el-table-column prop="account" label="账号" width="0" align="left" /> />
<el-table-column prop="password" label="密码" width="0" align="left" /> <el-table-column label="设备状态:" width="0" prop="mStatus" algin="left"
<el-table-column prop="creatorusername" label="创建人名称" width="0" align="left" /> >
<el-table-column prop="creatortime" label="创建时间" width="0" align="left" /> <template slot-scope="scope">
<el-table-column prop="lastmodifyusername" label="修改人名称" width="0" align="left" /> {{ scope.row.mStatus | dynamicText(mStatusOptions) }}
<el-table-column prop="lastmodifytime" label="修改时间" width="0" align="left" /> </template>
<el-table-column label="操作" fixed="right" width="100"> </el-table-column>
<el-table-column prop="channelNumber" label="设备通道号" width="0" align="left"
/>
<el-table-column label="是否显示" width="0" prop="isEnable" algin="left"
>
<template slot-scope="scope">
{{ scope.row.isEnable | dynamicText(isEnableOptions) }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right"
width="100" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="addOrUpdateHandle(scope.row.id)"> <el-button type="text"
@click="addOrUpdateHandle(scope.row.id)" >编辑
</el-button> </el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)"> <el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</JNPF-table> </JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
@pagination="initData" />
</div> </div>
</div> </div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh" /> <JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download" /> <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false" /> <Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
</div> </div>
</template> </template>
<script> <script>
import request from '@/utils/request' import request from '@/utils/request'
import { import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
import JNPFForm from './Form' import JNPFForm from './Form'
import ExportBox from './ExportBox' import ExportBox from './ExportBox'
import { import {getDataInterfaceRes} from '@/api/systemData/dataInterface'
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import Detail from './Detail' import Detail from './Detail'
export default { export default {
components: { components: {JNPFForm, ExportBox,Detail},
JNPFForm,
ExportBox,
Detail
},
data() { data() {
return { return {
detailVisible: false, detailVisible: false,
query: { query: {
mName: undefined, mName:undefined,
monitoringId:undefined,
}, },
treeProps: { treeProps: {
children: 'children', children: 'children',
@ -97,57 +110,29 @@
}, },
list: [], list: [],
listLoading: true, listLoading: true,
multipleSelection: [], multipleSelection: [], total: 0,
total: 0,
listQuery: { listQuery: {
currentPage: 1, currentPage: 1,
pageSize: 20, pageSize: 20,
sort: "desc", sort: "desc",
sidx: "", sidx: "lastmodifytime",
}, },
formVisible: false, formVisible: false,
exportBoxVisible: false, exportBoxVisible: false,
columnList: [{ columnList: [
prop: 'mName', {prop: 'mName', label: '设备名称'},
label: '设备名称' {prop: 'serialnumber', label: '设备序列号'},
}, {prop: 'monitoringId', label: '区域'},
{ {prop: 'mStatus', label: '设备状态:'},
prop: 'serialnumber', {prop: 'channelNumber', label: '设备通道号'},
label: '设备序列号' {prop: 'isEnable', label: '是否显示'},
},
{
prop: 'ip',
label: 'ip地址'
},
{
prop: 'port',
label: '端口号'
},
{
prop: 'account',
label: '账号'
},
{
prop: 'password',
label: '密码'
},
{
prop: 'creatorusername',
label: '创建人名称'
},
{
prop: 'creatortime',
label: '创建时间'
},
{
prop: 'lastmodifyusername',
label: '修改人名称'
},
{
prop: 'lastmodifytime',
label: '修改时间'
},
], ],
monitoringIdOptions:[],
monitoringIdProps:{"label":"m_name","value":"id"},
mStatusOptions:[{"fullName":"在线","id":"1"},{"fullName":"不在线","id":"0"}],
mStatusProps:{"label":"fullName","value":"id"},
isEnableOptions:[{"fullName":"显示","id":"1"},{"fullName":"不显示","id":"0"}],
isEnableProps:{"label":"fullName","value":"id"},
} }
}, },
computed: { computed: {
@ -157,19 +142,22 @@
}, },
created() { created() {
this.initData() this.initData()
this.getmonitoringIdOptions();
}, },
methods: { methods: {
goDetail(id) { getmonitoringIdOptions() {
getDataInterfaceRes('370933183241262469').then(res => {
let data = res.data.data
this.monitoringIdOptions = data
})
},
goDetail(id){
this.detailVisible = true this.detailVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.Detail.init(id) this.$refs.Detail.init(id)
}) })
}, },
sortChange({ sortChange({column, prop, order}) {
column,
prop,
order
}) {
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc' this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
this.listQuery.sidx = !order ? '' : prop this.listQuery.sidx = !order ? '' : prop
this.initData() this.initData()
@ -179,15 +167,15 @@
let _query = { let _query = {
...this.listQuery, ...this.listQuery,
...this.query, ...this.query,
menuId: this.menuId menuId:this.menuId
}; };
request({ request({
url: `/api/monitormanage/Monitormanage/getList`, url: `/api/example/Jg_monitoring_item0/getList`,
method: 'post', method: 'post',
data: _query data: _query
}).then(res => { }).then(res => {
var _list = []; var _list =[];
for (let i = 0; i < res.data.list.length; i++) { for(let i=0;i<res.data.list.length;i++){
let _data = res.data.list[i]; let _data = res.data.list[i];
_list.push(_data) _list.push(_data)
} }
@ -202,7 +190,7 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
request({ request({
url: `/api/monitormanage/Monitormanage/${id}`, url: `/api/example/Jg_monitoring_item0/${id}`,
method: 'DELETE' method: 'DELETE'
}).then(res => { }).then(res => {
this.$message({ this.$message({
@ -213,7 +201,8 @@
} }
}); });
}) })
}).catch(() => {}); }).catch(() => {
});
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
const res = val.map(item => item.id) const res = val.map(item => item.id)
@ -233,7 +222,7 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
request({ request({
url: `/api/monitormanage/Monitormanage/batchRemove/${ids}`, url: `/api/example/Jg_monitoring_item0/batchRemove/${ids}`,
method: 'DELETE' method: 'DELETE'
}).then(res => { }).then(res => {
this.$message({ this.$message({
@ -244,7 +233,8 @@
} }
}); });
}) })
}).catch(() => {}) }).catch(() => {
})
}, },
addOrUpdateHandle(id, isDetail) { addOrUpdateHandle(id, isDetail) {
this.formVisible = true this.formVisible = true
@ -259,14 +249,9 @@
}) })
}, },
download(data) { download(data) {
let query = { let query = {...data, ...this.listQuery, ...this.query,menuId:this.menuId}
...data,
...this.listQuery,
...this.query,
menuId: this.menuId
}
request({ request({
url: `/api/monitormanage/Monitormanage/Actions/Export`, url: `/api/example/Jg_monitoring_item0/Actions/Export`,
method: 'GET', method: 'GET',
data: query data: query
}).then(res => { }).then(res => {
@ -281,7 +266,7 @@
currentPage: 1, currentPage: 1,
pageSize: 20, pageSize: 20,
sort: "desc", sort: "desc",
sidx: "", sidx: "lastmodifytime",
} }
this.initData() this.initData()
}, },

Loading…
Cancel
Save