Commit dfdedcb2 authored by zhangjianqian's avatar zhangjianqian

修改该设备监测

parent a8ad186e
var URL = "/danger"
export default { export default {
URL:'http://36.148.1.253:8901/danger', //URL:'http://36.148.1.253:8901/danger',
//URL:'http://127.0.0.1:60018/danger', URL:'http://127.0.0.1:60018/danger',
//URL:'http://192.168.2.6:8081/danger',
//URL:'http://36.148.23.59:8901/danger', //URL:'http://36.148.23.59:8901/danger',
// URL:URL,
titleArray: [], titleArray: [],
enterpriseId:'', enterpriseId:'',
componentUrl: { componentUrl: {
AlarmMg:'Alarm', AlarmMg:'Alarm',
monitorMg:'monitor',
EnseList:'EnseList', EnseList:'EnseList',
EnterprisesMg:'Enterprises', EnterprisesMg:'Enterprises',
EnterprisesCheck:'Enterprises', EnterprisesCheck:'Enterprises',
......
<template> <template>
<div class="EnseList"> <div class="EnseList">
<el-row class="topBar"> <el-row class="topBar">
<el-col> <el-col>
<el-form :inline="true" :model="searchData"> <el-form :inline="true" :model="searchData">
<el-form-item label="" v-if ="enterpriseId=='all'">
<el-select v-model="searchData.enterpriseId" placeholder="请选择公司" >
<el-option
v-for="item in companyTableData.pageData"
:key="item.enterpriseId"
:label="item.unitName==null?'':item.unitName"
:value="item.enterpriseId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-select v-model="searchData.dataType" placeholder="请选择设备类型"> <el-select v-model="searchData.dataType" placeholder="请选择设备类型">
<el-option label="监控设备" value="1"></el-option> <el-option label="监控设备" value="1"></el-option>
<el-option label="传感器" value="2"></el-option> <el-option label="预警设备" value="2"></el-option>
<el-option label="传感器" value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
...@@ -15,9 +26,9 @@ ...@@ -15,9 +26,9 @@
<el-form-item label=""> <el-form-item label="">
<el-input v-model="searchData.deviceNumber" placeholder="请输入设备号"></el-input> <el-input v-model="searchData.deviceNumber" placeholder="请输入设备号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label=""> <!--<el-form-item label="">-->
<el-input v-model="searchData.shortNum" placeholder="请输入设备短号"></el-input> <!--<el-input v-model="searchData.shortNum" placeholder="请输入设备短号"></el-input>-->
</el-form-item> <!--</el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" @click="searchFun()"> <el-button type="primary" @click="searchFun()">
<i class="el-icon-search"></i> 搜索 <i class="el-icon-search"></i> 搜索
...@@ -39,10 +50,17 @@ ...@@ -39,10 +50,17 @@
<el-table-column prop="enterpriseName" label="企业名称"></el-table-column> <el-table-column prop="enterpriseName" label="企业名称"></el-table-column>
<el-input type="hidden" pro="enterpriseId"></el-input> <el-input type="hidden" pro="enterpriseId"></el-input>
<el-table-column prop="deviceName" label="设备名称"></el-table-column> <el-table-column prop="deviceName" label="设备名称"></el-table-column>
<el-table-column prop="deviceName" label="设备类型"> <el-table-column label="设备类型">
<template slot-scope="scope"> <template scope="scope">
<font>{{ scope.row.dataType == 1 ? '监控设备' : '传感器'}}</font> <p v-if="scope.row.dataType=='1'">
监控设备
</p>
<p v-if="scope.row.dataType=='2'">预警设备</p>
<p v-if="scope.row.dataType=='3'">传感器</p>
</template> </template>
<!--<template slot-scope="scope">-->
<!--<font>{{ scope.row.dataType == 1 ? '监控设备' : '传感器'}}</font>-->
<!--</template>-->
</el-table-column> </el-table-column>
<el-table-column prop="deviceIp" label="设备IP"></el-table-column> <el-table-column prop="deviceIp" label="设备IP"></el-table-column>
<el-table-column prop="deviceNumber" label="设备编号"></el-table-column> <el-table-column prop="deviceNumber" label="设备编号"></el-table-column>
...@@ -59,36 +77,45 @@ ...@@ -59,36 +77,45 @@
</el-table> </el-table>
<el-pagination background layout="total,sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="PAGE.page" :page-size="PAGE.size"></el-pagination> <el-pagination background layout="total,sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="PAGE.page" :page-size="PAGE.size"></el-pagination>
<SafetyDeviceMgEdit :dialogVisible="dialogVisible" :editForm="formData" :title="dialogTit" @dialogFun="closeDialog" @refreshTableData="getTableData" :key="zjKey"></SafetyDeviceMgEdit> <SafetyDeviceMgEdit :dialogVisible="dialogVisible" :editForm="formData" :title="dialogTit" @dialogFun="closeDialog" @refreshTableData="getTableData" :key="zjKey"></SafetyDeviceMgEdit>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { import {
Component, Component,
Vue, Vue,
Provide Provide
} from "vue-property-decorator"; } from "vue-property-decorator";
import SafetyDeviceMgEdit from "./SafetyDeviceMgEdit.vue"; import SafetyDeviceMgEdit from "./SafetyDeviceMgEdit.vue";
import METHOD from "@/utils/methods"; import METHOD from "@/utils/methods";
@Component({ @Component({
components: { components: {
SafetyDeviceMgEdit SafetyDeviceMgEdit
} }
}) })
export default class SafetyDeviceMg extends Vue { export default class SafetyDeviceMg extends Vue {
@Provide() tableData: Object = { @Provide() tableData: Object = {
pageData: [], pageData: [],
total: 0 total: 0
}; };
@Provide() companyTableData: Object = {
pageData: [],
total: 0
};
@Provide() PAGE: any = { @Provide() PAGE: any = {
page: 1, page: 1,
size: 10 size: 10
}; };
@Provide() PAGE2: any = {
page: 1,
size: 100
};
@Provide() searchData: any = { @Provide() searchData: any = {
deviceName: "", deviceName: "",
deviceNumber: "", deviceNumber: "",
shortNum: "", shortNum: "",
dataType: '', dataType: '',
enterpriseId:''
}; };
@Provide() loading: Boolean = false; @Provide() loading: Boolean = false;
//编辑组件 //编辑组件
...@@ -103,9 +130,10 @@ export default class SafetyDeviceMg extends Vue { ...@@ -103,9 +130,10 @@ export default class SafetyDeviceMg extends Vue {
@Provide() dataType: string = ""; @Provide() dataType: string = "";
getTableData() { getTableData() {
console.log(this.searchData)
let that = this, let that = this,
param = Object.assign({}, that.PAGE, that.searchData); param = Object.assign({}, that.PAGE, that.searchData);
that.enterpriseId="all"; //that.enterpriseId="all";
that.loading = true; that.loading = true;
METHOD.axiosPost( METHOD.axiosPost(
that, that,
...@@ -119,6 +147,23 @@ export default class SafetyDeviceMg extends Vue { ...@@ -119,6 +147,23 @@ export default class SafetyDeviceMg extends Vue {
} }
); );
} }
getCompanyTableData() {
let that = this,
param = Object.assign({accountStatus:'0'}, that.PAGE2, that.searchData);
that.loading = true;
METHOD.axiosPost(
that,
`/enterpriseInfo/queryEnterpriseInfo`,
param,
function(res: any) {
that.loading = false;
if (res.code == 0) {
console.log(res.data)
that.companyTableData = res.data;
}
}
);
}
searchFun() { searchFun() {
this.PAGE = { this.PAGE = {
page: 1, page: 1,
...@@ -181,17 +226,24 @@ export default class SafetyDeviceMg extends Vue { ...@@ -181,17 +226,24 @@ export default class SafetyDeviceMg extends Vue {
this.getTableData(); this.getTableData();
} }
created() { created() {
this.enterpriseId = "all";
let usd = sessionStorage.getItem("userInfo");
if (usd) {
if(JSON.parse(usd).accountType==2){
this.enterpriseId = METHOD.enterpriseId; this.enterpriseId = METHOD.enterpriseId;
}
}
this.getTableData(); this.getTableData();
this.getCompanyTableData();
}
} }
}
</script> </script>
<style lang="scss"> <style lang="scss">
@import "@/utils/public.scss"; @import "@/utils/public.scss";
@media screen and (max-width: 1350px) { @media screen and (max-width: 1350px) {
main > div .el-table { main > div .el-table {
height: calc(100% - 180px); height: calc(100% - 180px);
} }
} }
</style> </style>
...@@ -20,7 +20,8 @@ ...@@ -20,7 +20,8 @@
<el-form-item label="设备类型" prop="dataType"> <el-form-item label="设备类型" prop="dataType">
<el-select v-model="editForm.dataType"> <el-select v-model="editForm.dataType">
<el-option label="监控设备" value="1"></el-option> <el-option label="监控设备" value="1"></el-option>
<el-option label="传感器" value="2"></el-option> <el-option label="预警设备" value="2"></el-option>
<el-option label="传感器" value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备名称" prop="deviceName"> <el-form-item label="设备名称" prop="deviceName">
...@@ -76,9 +77,12 @@ ...@@ -76,9 +77,12 @@
<el-form-item label="联系电话" prop="phone"> <el-form-item label="联系电话" prop="phone">
<el-input v-model="editForm.phone"></el-input> <el-input v-model="editForm.phone"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="物品类型" prop="category"> <el-form-item label="监测介质" prop="category">
<el-input v-model="editForm.category"></el-input> <el-input v-model="editForm.category"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="editForm.unit"></el-input>
</el-form-item>
<!--<el-form-item label="否是重大危险源" prop="isBigDanger"> <!--<el-form-item label="否是重大危险源" prop="isBigDanger">
<el-radio-group v-model="editForm.isBigDanger"> <el-radio-group v-model="editForm.isBigDanger">
<el-radio :label="'0'"></el-radio> <el-radio :label="'0'"></el-radio>
...@@ -115,15 +119,15 @@ ...@@ -115,15 +119,15 @@
<style lang="scss"> <style lang="scss">
</style> </style>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Provide, Prop, Watch } from "vue-property-decorator"; import { Component, Vue, Provide, Prop, Watch } from "vue-property-decorator";
import { State, Getter, Mutation, Action } from "vuex-class"; import { State, Getter, Mutation, Action } from "vuex-class";
import Mapdialog from "@/components/maplnglat.vue"; import Mapdialog from "@/components/maplnglat.vue";
import METHOD from "@/utils/methods"; import METHOD from "@/utils/methods";
@Component({ @Component({
components: { Mapdialog } components: { Mapdialog }
}) })
export default class SafetyDeviceMgEdit extends Vue { export default class SafetyDeviceMgEdit extends Vue {
//属性或参数中使用!:表示强制解析(告诉typescript编译器,这里一定有值),常用于vue-decorator中的@Prop //属性或参数中使用!:表示强制解析(告诉typescript编译器,这里一定有值),常用于vue-decorator中的@Prop
@Prop(Boolean) dialogVisible!: Boolean; @Prop(Boolean) dialogVisible!: Boolean;
@Provide() loading: Boolean = false; @Provide() loading: Boolean = false;
...@@ -133,6 +137,7 @@ export default class SafetyDeviceMgEdit extends Vue { ...@@ -133,6 +137,7 @@ export default class SafetyDeviceMgEdit extends Vue {
latitude: Number; latitude: Number;
dataType: String; dataType: String;
enterpriseId: String; enterpriseId: String;
unit:String;
}; };
@Prop(String) title!: String; @Prop(String) title!: String;
// @Provide() editForm: any = {}; // @Provide() editForm: any = {};
...@@ -145,6 +150,9 @@ export default class SafetyDeviceMgEdit extends Vue { ...@@ -145,6 +150,9 @@ export default class SafetyDeviceMgEdit extends Vue {
deviceName: [ deviceName: [
{ required: true, trigger: "blur", message: "该项为必填项!" } { required: true, trigger: "blur", message: "该项为必填项!" }
], ],
deviceNumber:[
{ required: true, trigger: "blur", message: "该项为必填项!" }
],
dataType: [{ required: true, trigger: "blur", message: "该项为必填项!" }], dataType: [{ required: true, trigger: "blur", message: "该项为必填项!" }],
/*isBigDanger: [ /*isBigDanger: [
{ required: true, trigger: "blur", message: "该项为必填项!" } { required: true, trigger: "blur", message: "该项为必填项!" }
...@@ -219,7 +227,7 @@ export default class SafetyDeviceMgEdit extends Vue { ...@@ -219,7 +227,7 @@ export default class SafetyDeviceMgEdit extends Vue {
} }
); );
} }
getnterpriseListInfo() { getnterpriseListInfo() {
let that = this, let that = this,
param ={accountStatus:'0'}; param ={accountStatus:'0'};
that.loading = true; that.loading = true;
...@@ -234,7 +242,7 @@ getnterpriseListInfo() { ...@@ -234,7 +242,7 @@ getnterpriseListInfo() {
} }
} }
); );
} }
seletChange(enterpriseId: any) { seletChange(enterpriseId: any) {
let that = this, let that = this,
arr; arr;
...@@ -251,8 +259,8 @@ getnterpriseListInfo() { ...@@ -251,8 +259,8 @@ getnterpriseListInfo() {
this.getnterpriseListInfo(); this.getnterpriseListInfo();
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
@import "@/utils/public.scss"; @import "@/utils/public.scss";
</style> </style>
...@@ -561,7 +561,7 @@ ...@@ -561,7 +561,7 @@
addMark(obj: any, index: any) { addMark(obj: any, index: any) {
let icon, let icon,
that = this; that = this;
icon = require("@/assets/mark/markqy.png"); icon = require("@/assets/mark/markmapqy.png");
let option = { let option = {
position: [Number(obj.longitude), Number(obj.latitude)], position: [Number(obj.longitude), Number(obj.latitude)],
content: ` <img src="${icon}" width="25">`, content: ` <img src="${icon}" width="25">`,
......
<template>
<div class="EnseList">
<el-row class="topBar">
<el-col>
<el-form :inline="true" :model="searchData" >
<el-form-item label="" v-if ="enterpriseId=='all'" >
<el-select v-model="searchData.enterpriseId" placeholder="请选择公司" >
<el-option
v-for="item in companyTableData.pageData"
:key="item.enterpriseId"
:label="item.unitName==null?'':item.unitName"
:value="item.enterpriseId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<el-input v-model="searchData.deviceName" placeholder="请输入设备名称"></el-input>
</el-form-item>
<el-form-item label="">
<el-input v-model="searchData.deviceNumber" placeholder="请输入设备号"></el-input>
</el-form-item>
<!--<el-form-item label="">-->
<!--<el-input v-model="searchData.shortNum" placeholder="请输入设备短号"></el-input>-->
<!--</el-form-item>-->
<el-form-item>
<el-button type="primary" @click="searchFun()">
<i class="el-icon-search"></i> 搜索
</el-button>
<el-button type="primary" @click="resetFun()">
<i class="el-icon-refresh"></i> 重置
</el-button>
</el-form-item>
<!--<el-form-item class="fr">-->
<!--<el-button plain type="primary" @click="addFun()">-->
<!--<i class="el-icon-plus"></i> 新增-->
<!--</el-button>-->
<!--</el-form-item>-->
</el-form>
</el-col>
</el-row>
<el-table :data="tableData.pageData" stripe border style="width:100%;" :loading="loading">
<el-table-column width="50" type="index" label="序号"></el-table-column>
<el-table-column prop="enterpriseName" label="企业名称"></el-table-column>
<el-input type="hidden" pro="enterpriseId"></el-input>
<el-table-column prop="deviceName" label="设备名称"></el-table-column>
<el-table-column prop="deviceNum" label="设备编号"></el-table-column>
<el-table-column prop="category" label="检测介质"></el-table-column>
<el-table-column prop="concentration" label="浓度"></el-table-column>
<el-table-column prop="unit" label="单位"></el-table-column>
<el-table-column prop="status" label="状态">
<template scope="scope">
<p v-if="scope.row.status=='1'"> 正常</p>
<p v-if="scope.row.status=='2'">错误</p>
<p v-if="scope.row.status=='3'">传感器故障</p>
<p v-if="scope.row.status=='4'"> 报警</p>
<p v-if="scope.row.status=='5'">低报</p>
<p v-if="scope.row.status=='6'">高报</p>
<p v-if="scope.row.status=='7'"> 通信故障</p>
<p v-if="scope.row.status=='8'">超量程</p>
<p v-if="scope.row.status=='9'"> 离线</p>
<p v-if="scope.row.status=='10'">电量低</p>
<p v-if="scope.row.status=='13'">无此节点</p>
<p v-if="scope.row.status=='14'"> 低电压</p>
<p v-if="scope.row.status=='15'">故障</p>
<p v-if="scope.row.status=='16'">报警联动</p>
</template>
</el-table-column>
<el-table-column prop="createTime" label="检测时间"></el-table-column>
<!-- <el-table-column prop="stockNum" label="库存数量"></el-table-column> -->
<!-- <el-table-column prop="dangerGrade" label="危险等级"></el-table-column> -->
<!--<el-table-column label="操作" width="220" align="center">-->
<!--<template slot-scope="scope">-->
<!--<el-button @click="editFun(scope.row)" size="small">编辑</el-button>-->
<!--<el-button type="danger" @click="delFun(scope.row)" size="small">删除</el-button>-->
<!--</template>-->
<!--</el-table-column>-->
</el-table>
<el-pagination background layout="total,sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="PAGE.page" :page-size="PAGE.size"></el-pagination>
</div>
</template>
<script lang="ts">
import {
Component,
Vue,
Provide
} from "vue-property-decorator";
import METHOD from "@/utils/methods";
@Component({
components: {
}
})
export default class SafetyDeviceMg extends Vue {
@Provide() tableData: Object = {
pageData: [],
total: 0
};
@Provide() companyTableData: Object = {
pageData: [],
total: 0
};
@Provide() PAGE: any = {
page: 1,
size: 10
};
@Provide() PAGE2: any = {
page: 1,
size: 100
};
@Provide() searchData: any = {
deviceName: "",
deviceNumber: "",
shortNum: "",
dataType: '',
enterpriseId:''
};
@Provide() loading: Boolean = false;
//编辑组件
@Provide() dialogVisible: Boolean = false;
@Provide() dialogTit: String = "新增";
@Provide() formData: any = {
dataType: "",
enterpriseId: ""
};
@Provide() zjKey: any = 0;
@Provide() enterpriseId: string = "all";
@Provide() dataType: string = "";
getTableData() {
let that = this,
param = Object.assign({}, that.PAGE, that.searchData);
//that.enterpriseId="all";
that.loading = true;
METHOD.axiosPost(
that,
`/safetyDeviceInfo/getDeviceSensor/${that.enterpriseId}`,
param,
function (res: any) {
that.loading = false;
if (res.code == 0) {
that.tableData = res.data;
console.log(res.data)
}
}
);
}
getCompanyTableData() {
let that = this,
param = Object.assign({accountStatus:'0'}, that.PAGE2, that.searchData);
that.loading = true;
METHOD.axiosPost(
that,
`/enterpriseInfo/queryEnterpriseInfo`,
param,
function(res: any) {
that.loading = false;
if (res.code == 0) {
console.log(res.data)
that.companyTableData = res.data;
}
}
);
}
searchFun() {
this.PAGE = {
page: 1,
size: 10
};
this.getTableData();
}
resetFun() {
this.PAGE = {
page: 1,
size: 10
};
this.searchData = {
deviceName: "",
deviceNumber: "",
enterpriseName:"",
shortNum: "",
dataType: ''
};
this.getTableData();
}
addFun() {
this.zjKey++;
this.dialogVisible = true;
//this.formData.dataType = this.searchData.dataType;
if(METHOD.enterpriseId){
this.formData.enterpriseId = METHOD.enterpriseId;
}
}
editFun(row: any) {
this.dialogTit = "编辑";
this.formData = Object.assign({}, row);
this.zjKey++;
this.dialogVisible = true;
}
delFun(row: any) {
let that = this as any;
METHOD.deleteFun(
this,
`/safetyDeviceInfo/deleteSafetyDeviceInfoById/${row.id}`,
function () {
that.getTableData();
}
);
}
handleSizeChange(val: any) {
this.PAGE.size = val;
this.getTableData();
}
handleCurrentChange(val: any) {
this.PAGE.page = val;
this.getTableData();
}
closeDialog() {
//关闭窗口
this.dialogVisible = false;
this.formData = {};
}
selectChange(val: any) {
this.searchData.dataType = val;
this.getTableData();
}
created() {
this.enterpriseId = "all";
let usd = sessionStorage.getItem("userInfo");
if (usd) {
if(JSON.parse(usd).accountType==2){
this.enterpriseId = METHOD.enterpriseId;
}
}
//this.enterpriseId = METHOD.enterpriseId;
this.getTableData();
this.getCompanyTableData();
}
}
</script>
<style lang="scss">
@import "@/utils/public.scss";
@media screen and (max-width: 1350px) {
main > div .el-table {
height: calc(100% - 180px);
}
}
</style>
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
</div> </div>
<div @click="mapwh" class="markbox-div" ref="wh"> <div @click="mapwh" class="markbox-div" ref="wh">
<div ref="whimg" class="markbox-click" style="width: 30%;height: 100%;float: left;text-align: right;"> <div ref="whimg" class="markbox-click" style="width: 30%;height: 100%;float: left;text-align: right;">
<img width="32px" src="@/assets/mark/weihaichangsuo.png" /> <img width="32px" src="@/assets/mark/weihai.png" />
</div> </div>
<div class="markbox-span" ref="zwh" style="width: 70%;height: 100%;float: left;text-align: center;line-height: 10px;padding-top: 18px;"> <div class="markbox-span" ref="zwh" style="width: 70%;height: 100%;float: left;text-align: center;line-height: 10px;padding-top: 18px;">
<span>职业危害场所<p></p><span style="font-family: 'UnidreamLED';font-size: 1.5rem;">{{tjNumberObj.harmNum}}</span></span> <span>职业危害场所<p></p><span style="font-family: 'UnidreamLED';font-size: 1.5rem;">{{tjNumberObj.harmNum}}</span></span>
...@@ -581,7 +581,7 @@ ...@@ -581,7 +581,7 @@
addMark(obj: any, index: any) { addMark(obj: any, index: any) {
let icon, let icon,
that = this; that = this;
icon = require("@/assets/mark/markqy.png"); icon = require("@/assets/mark/markmapqy.png");
let option = { let option = {
position: [Number(obj.longitude), Number(obj.latitude)], position: [Number(obj.longitude), Number(obj.latitude)],
content: ` <img src="${icon}" width="25">`, content: ` <img src="${icon}" width="25">`,
...@@ -933,6 +933,7 @@ ...@@ -933,6 +933,7 @@
console.log("qyyedianji") console.log("qyyedianji")
that.Mutil.closeAllOverlays(); that.Mutil.closeAllOverlays();
let id = evt.selected[0].get('did'); let id = evt.selected[0].get('did');
console.log(id);
if (id) that.getPopcon(id); if (id) that.getPopcon(id);
} else if (evt.selected[0].get('type') === 'wxy') {//其他类的气泡 } else if (evt.selected[0].get('type') === 'wxy') {//其他类的气泡
that.Mutil.closeAllOverlays(); that.Mutil.closeAllOverlays();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment