云台优化

menu1.0
fanluyan 6 months ago
parent 35bf58297d
commit 999f6238af

@ -1,5 +1,5 @@
<template>
<div id="app">
<div id="app" :class="mobelH == 1 ? 'zoomclass' : ''">
<router-view></router-view>
</div>
</template>
@ -9,8 +9,13 @@ import { mapActions } from "vuex";
export default {
name: "App",
data() {
return { mobelH: 0 };
},
mounted() {
this.isMobile2();
let goUrl = this.isMobile();
if (goUrl === 1) {
this.$confirm(
"您正在使用手机访问本站,可能无法获得最佳浏览体验, 即将跳转到手机端...",
@ -84,6 +89,13 @@ export default {
let goUrl = flag ? 1 : 0;
return goUrl;
},
isMobile2() {
let flag = navigator.userAgent.match(
/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
);
// localStorage.setItem('isiphone',flag)
this.mobelH = flag ? 1 : 0;
},
},
watch: {
"$route.path": {
@ -101,4 +113,7 @@ export default {
width: 80% !important;
max-width: 450px;
}
.zoomclass {
zoom: 0.6;
}
</style>

@ -207,7 +207,7 @@ export default {
</script>
<style lang="less">
.leftTreeBox {
width: 200px;
width: 260px;
display: flex;
flex-direction: column;
padding: 16px 0;

@ -55,6 +55,9 @@
>
</el-form-item>
</el-form>
<el-button type="primary" @click="collectice" class="iceClass"
>采集数据</el-button
>
</div>
<div class="childTableShowBox" v-if="!echartsShow">
<el-table
@ -986,6 +989,7 @@ import {
leadpullsListJoggle,
exportJoggle,
} from "@/utils/api/iceApi";
import { getTermStatus, setTermCamera } from "@/utils/api/index";
export default {
name: "icing",
components: {
@ -1104,6 +1108,56 @@ export default {
this.termalFlag = true;
}
},
//
collectice() {
getTermStatus({ termId: this.paramsData.id }).then((res) => {
console.log(res);
if (res.data.isonline) {
let params = [
{
name: "act",
value: "reqdata",
},
{
name: "reqType",
value: "34",
},
{
name: "startTime",
value: 0,
},
{
name: "endTime",
value: 0,
},
];
this.setTermFn(params);
} else {
this.$message({
duration: 1500,
showClose: true,
message: "装置下线,发送指令失败",
type: "error",
});
}
});
},
setTermFn(val) {
setTermCamera({
termId: this.paramsData.id,
list: val,
})
.then((res) => {
console.log(res);
this.$message({
duration: 1500,
showClose: true,
message: "命令已下发",
type: "success",
});
})
.catch((err) => {});
},
//
getIcingData(data) {
console.log(data);
@ -1515,6 +1569,13 @@ export default {
// }
.childBox {
height: calc(100% - 0px);
.searchBox {
display: flex;
justify-content: space-between;
.iceClass {
margin-bottom: 18px;
}
}
.childTableShowBox {
height: calc(100% - 91px);
}

@ -49,9 +49,15 @@
</el-table-column>
<el-table-column label="温度(℃)">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.airTemperature != 255
"
>{{
scope.row.lastWeathers.airTemperature.toFixed(1)
}}</span>
}}</span
>
<span v-else> - </span>
</template>
</el-table-column>
@ -72,9 +78,13 @@
</el-table-column>
<el-table-column prop="precipitation" label="10分钟降雨量(mm)">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
scope.row.lastWeathers.precipitation.toFixed(1)
}}</span>
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.precipitation != 255
"
>{{ scope.row.lastWeathers.precipitation.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
@ -127,42 +137,68 @@
</el-table-column>
<el-table-column prop="avgWindSpeed10min" label="10分钟平均风速">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.avgWindSpeed10min != 255
"
>{{
scope.row.lastWeathers.avgWindSpeed10min.toFixed(1)
}}</span>
}}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="avgWindDir10min" label="10分钟平均风向">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
scope.row.lastWeathers.avgWindDir10min
}}</span>
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.avgWindDir10min != 255
"
>{{ scope.row.lastWeathers.avgWindDir10min }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="maxWindSpeed" label="最大风速(m/s)">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
scope.row.lastWeathers.maxWindSpeed.toFixed(1)
}}</span>
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.maxWindSpeed != 255
"
>{{ scope.row.lastWeathers.maxWindSpeed.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="extremeWindSpeed" label="极大风速(m/s)">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.extremeWindSpeed != 255
"
>{{
scope.row.lastWeathers.extremeWindSpeed.toFixed(1)
}}</span>
}}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="maxWindSpeed" label="标准风速(m/s)">
<template slot-scope="scope">
<span v-if="scope.row.lastWeathers !== null">{{
<span
v-if="
scope.row.lastWeathers !== null &&
scope.row.lastWeathers.standardWindSpeed != 255
"
>{{
scope.row.lastWeathers.standardWindSpeed.toFixed(1)
}}</span>
}}</span
>
<span v-else> - </span>
</template>
</el-table-column>
@ -220,6 +256,13 @@
<el-button type="primary" @click="onSubmit"></el-button>
</el-form-item>
</el-form>
<el-button
type="primary"
@click="collectWeather"
class="weathClass"
>采集数据</el-button
>
</div>
<div class="termalBox">
<p>
@ -290,21 +333,19 @@
</el-table-column>
<el-table-column label="温度(℃)">
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.airTemperature.toFixed(1)
}}</span>
<span
v-if="
scope.row !== null && scope.row.airTemperature != 255
"
>{{ scope.row.airTemperature.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="humidity" label="湿度(%RH)">
<template slot-scope="scope">
<span v-if="scope.row !== null"
><span
v-if="
scope.row.humidity != 65535 &&
scope.row.humidity != 255
"
>
><span v-if="scope.row.humidity != 255">
{{ scope.row.humidity.toFixed(1) }}</span
><span v-else> - </span></span
>
@ -313,9 +354,12 @@
</el-table-column>
<el-table-column prop="precipitation" label="10分钟降雨量(mm)">
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.precipitation.toFixed(1)
}}</span>
<span
v-if="
scope.row !== null && scope.row.precipitation != 255
"
>{{ scope.row.precipitation.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
@ -364,42 +408,55 @@
label="10分钟平均风速"
>
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.avgWindSpeed10min.toFixed(1)
}}</span>
<span
v-if="
scope.row !== null && scope.row.avgWindSpeed10min != 255
"
>{{ scope.row.avgWindSpeed10min.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="avgWindDir10min" label="10分钟平均风向">
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.avgWindDir10min
}}</span>
<span
v-if="
scope.row !== null && scope.row.avgWindDir10min != 255
"
>{{ scope.row.avgWindDir10min }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="maxWindSpeed" label="最大风速(m/s)">
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.maxWindSpeed.toFixed(1)
}}</span>
<span
v-if="scope.row !== null && scope.row.maxWindSpeed != 255"
>{{ scope.row.maxWindSpeed.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="extremeWindSpeed" label="极大风速(m/s)">
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.extremeWindSpeed.toFixed(1)
}}</span>
<span
v-if="
scope.row !== null && scope.row.extremeWindSpeed != 255
"
>{{ scope.row.extremeWindSpeed.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="maxWindSpeed" label="标准风速(m/s)">
<template slot-scope="scope">
<span v-if="scope.row !== null">{{
scope.row.standardWindSpeed.toFixed(1)
}}</span>
<span
v-if="
scope.row !== null && scope.row.standardWindSpeed != 255
"
>{{ scope.row.standardWindSpeed.toFixed(1) }}</span
>
<span v-else> - </span>
</template>
</el-table-column>
@ -431,6 +488,7 @@
<script>
import leftTree from "../components/leftTree";
import { weatherJoggle, weatherListJoggle } from "@/utils/api/iceApi";
import { getTermStatus, setTermCamera } from "@/utils/api/index";
export default {
name: "weather",
components: {
@ -627,6 +685,56 @@ export default {
onSubmit() {
this.getchildWeatherData(this.childParma);
},
//
collectWeather() {
getTermStatus({ termId: this.childMsg.id }).then((res) => {
console.log(res);
if (res.data.isonline) {
let params = [
{
name: "act",
value: "reqdata",
},
{
name: "reqType",
value: "1",
},
{
name: "startTime",
value: 0,
},
{
name: "endTime",
value: 0,
},
];
this.setTermFn(params);
} else {
this.$message({
duration: 1500,
showClose: true,
message: "装置下线,发送指令失败",
type: "error",
});
}
});
},
setTermFn(val) {
setTermCamera({
termId: this.childMsg.id,
list: val,
})
.then((res) => {
console.log(res);
this.$message({
duration: 1500,
showClose: true,
message: "命令已下发",
type: "success",
});
})
.catch((err) => {});
},
getchildWeatherData(row) {
this.loading = true;
this.childMsg = row;
@ -922,6 +1030,13 @@ export default {
}
.childBox {
height: 100%;
.searchBox {
display: flex;
justify-content: space-between;
.weathClass {
margin-bottom: 18px;
}
}
.chartClass {
height: 450px;
width: 100%;

@ -5,7 +5,11 @@
<el-button type="primary">
声光报警<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="gpsdropStyle">
<el-dropdown-menu
slot="dropdown"
class="gpsdropStyle"
:append-to-body="false"
>
<el-dropdown-item command="open">开启</el-dropdown-item>
<el-dropdown-item command="close">关闭</el-dropdown-item>
</el-dropdown-menu>

@ -5,7 +5,11 @@
<el-button type="primary">
线缆显示<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="gpsdropStyle">
<el-dropdown-menu
slot="dropdown"
class="gpsdropStyle"
:append-to-body="false"
>
<el-dropdown-item command="open">开启</el-dropdown-item>
<el-dropdown-item command="close">关闭</el-dropdown-item>
</el-dropdown-menu>

@ -72,7 +72,11 @@
<el-button type="primary">
GPS开关<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="gpsdropStyle">
<el-dropdown-menu
slot="dropdown"
class="gpsdropStyle"
:append-to-body="false"
>
<el-dropdown-item command="open">开启GPS</el-dropdown-item>
<el-dropdown-item command="close">关闭GPS</el-dropdown-item>
</el-dropdown-menu>
@ -115,7 +119,11 @@
<el-button type="primary">
数据查询<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="picdropStyle">
<el-dropdown-menu
slot="dropdown"
class="picdropStyle"
:append-to-body="false"
>
<el-dropdown-item command="info">基本信息</el-dropdown-item>
<el-dropdown-item command="workStatus">工作状态</el-dropdown-item>
<el-dropdown-item command="runStatus">运行状态</el-dropdown-item>
@ -124,8 +132,32 @@
</el-dropdown-menu>
</el-dropdown>
<ptzDevice v-if="areaData.hasPan == 1"></ptzDevice>
<!-- 请求覆冰数据和微气象数据 -->
<el-dropdown
class="dropgps"
trigger="click"
@command="handleiceAndweather"
v-if="
areaData.hasPan == 1 &&
areaData.devType !== undefined &&
(areaData.devType.includes('2') || areaData.devType.includes('3'))
"
>
<el-button type="primary">
采集数据<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu
slot="dropdown"
class="gpsdropStyle"
:append-to-body="false"
>
<el-dropdown-item command="weather">微气象</el-dropdown-item>
<el-dropdown-item command="ice">覆冰</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<div class="setfocalLength" v-if="areaData.protocol == '65286'">
<div class="setfocalLength" v-if="areaData.devType == '65286'">
<h3>焦距调节</h3>
<div class="selectChannel">
<span class="labelname">选择通道</span>
@ -196,6 +228,7 @@ import {
getChannelByTermidJoggle,
updateTermCamera,
getTermStatus,
setTermCamera,
addFavorList,
setTermGPSJoggle,
} from "@/utils/api/index";
@ -277,7 +310,7 @@ export default {
console.log("asdsaddddddddddddddddddddddddd", this.roleUser);
this.btnShowList = JSON.parse(localStorage.getItem("btnPermission"));
this.menuShowList = JSON.parse(localStorage.getItem("menuPermission"));
console.log("aaaaaaaaa,", this.areaData.devType);
console.log(this.btnShowList, this.menuShowList);
},
mounted() {
@ -476,6 +509,68 @@ export default {
}
});
},
//
handleiceAndweather(command) {
switch (command) {
case "weather": //
this.changeweathIce("1", this.areaData.id);
break;
case "ice": //
this.changeweathIce("34", this.areaData.id);
break;
}
},
changeweathIce(val, cmdid) {
console.log(val, cmdid);
getTermStatus({ termId: cmdid }).then((res) => {
console.log(res);
if (res.data.isonline) {
let params = [
{
name: "act",
value: "reqdata",
},
{
name: "reqType",
value: val,
},
{
name: "startTime",
value: 0,
},
{
name: "endTime",
value: 0,
},
];
this.setTermFn(params);
} else {
this.$message({
duration: 1500,
showClose: true,
message: "装置下线,发送指令失败",
type: "error",
});
}
});
},
setTermFn(val) {
setTermCamera({
termId: this.areaData.id,
list: val,
})
.then((res) => {
console.log(res);
this.$message({
duration: 1500,
showClose: true,
message: "命令已下发",
type: "success",
});
})
.catch((err) => {});
},
//
handlehistoryPic() {
console.log(this.areaData);

@ -61,10 +61,10 @@
<el-input
v-if="
deviceData.protocol == '65283' &&
deviceData.protocol == '65285' &&
deviceData.protocol == '65290' &&
deviceData.protocol == '65298'
deviceData.protocol != '65283' &&
deviceData.protocol != '65285' &&
deviceData.protocol != '65290' &&
deviceData.protocol != '65298'
"
v-model="selectedValues[index]"
placeholder="请输入"

@ -204,11 +204,13 @@
filterable
>
<el-option
v-for="n in 255"
:key="n"
:label="n"
:value="n"
></el-option>
v-for="n in 256"
:key="n - 1"
:label="n - 1"
:value="n - 1"
>
{{ n - 1 }}
</el-option>
</el-select>
</el-form-item>
</el-form>
@ -257,7 +259,7 @@ export default {
prestDialogShow: false, //
presetform: {
name: "",
presetVal: 1,
presetVal: 0,
},
tableData: [],
statusTimer: null,
@ -277,7 +279,7 @@ export default {
takePicShow: false,
takepicform: {
selectChannelValue: 1,
presetVal: 1,
presetVal: 0,
},
deviceTimer: null, //
deviceNum: 1, //

@ -1187,7 +1187,7 @@ export default {
configResult.push({ name: `name${index}`, value: `ldrEnabled` });
} else if (key == "zdbgchecked") {
configResult.push({ name: `name${index}`, value: `autoExposure` });
} else if (key == "bgsi") {
} else if (key == "bgsj") {
configResult.push({ name: `name${index}`, value: `exposureTime` });
} else if (key == "expsTimeUs") {
configResult.push({ name: `name${index}`, value: `expsTimeUs` });

@ -6,7 +6,11 @@
<el-button type="primary" :loading="picLoading">
主动拍照<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="picdropStyle">
<el-dropdown-menu
slot="dropdown"
class="picdropStyle"
:append-to-body="false"
>
<el-dropdown-item
:command="item.channelid"
v-for="(item, index) in channelIdList"

@ -7,7 +7,11 @@
<el-button type="primary" :loading="picLoading">
指定时间拍照<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="picdropStyle">
<el-dropdown-menu
slot="dropdown"
class="picdropStyle"
:append-to-body="false"
>
<el-dropdown-item
:command="item.channelid"
v-for="(item, index) in channelIdList"

@ -7,7 +7,11 @@
<el-button type="primary" :loading="picLoading">
主动录像<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="picdropStyle">
<el-dropdown-menu
slot="dropdown"
class="picdropStyle"
:append-to-body="false"
>
<el-dropdown-item
:command="item.channelid"
v-for="(item, index) in channelIdList"

@ -29,8 +29,16 @@
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column label="心跳时间" prop="heartbeatTime">
<el-table-column label="心跳服务器时间" prop="heartbeatTime">
<template slot-scope="scope">
{{
scope.row.createTime == null || scope.row.createTime == 0
? ""
: scope.row.createTime
}}
</template>
</el-table-column>
<el-table-column label="心跳报文时间" prop="heartbeatTime">
<template slot-scope="scope">
{{
scope.row.heartbeatTime == null || scope.row.heartbeatTime == 0
@ -44,7 +52,6 @@
<el-table-column label="IP" prop="heartbeatIp"> </el-table-column>
<el-table-column label="端口" prop="heartbeatPort"> </el-table-column>
</el-table>
</div>
<div class="pageNation">
<el-pagination
@ -140,7 +147,7 @@ export default {
}
}
.ipContain {
height:calc(100% - 32px);
height: calc(100% - 32px);
.el-table {
color: #000;
thead {

@ -70,6 +70,18 @@
</el-select>
</el-form-item>
</div>
<div class="dyxl">
<el-form-item label="云台选择" class="dybox">
<el-select v-model="formdata.hasPan" placeholder="请选择">
<el-option
v-for="item in hasPanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="装置编号(一行一个)" class="termClass">
<el-input
type="textarea"
@ -108,6 +120,16 @@ export default {
channel: 2,
cmdidArr: "",
},
hasPanOptions: [
{
id: 0,
name: "否",
},
{
id: 1,
name: "是",
},
], //
dyOptions: [], //
xlOptions: [], //线
protocolOptions: [], //
@ -307,6 +329,7 @@ export default {
cmdidList: this.cmdidArrList,
lineId: this.formdata.lineId,
protocol: this.formdata.protocol,
hasPan: this.formdata.hasPan,
};
console.log(params);
importTermsApi(params)

Loading…
Cancel
Save