menu1.0
fanluyan 5 months ago
parent 0cbf443c26
commit 29910d5ba6

@ -255,6 +255,11 @@
<el-form-item>
<el-button type="primary" @click="onSubmit"></el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="exportExcl"
>导出数据</el-button
>
</el-form-item>
</el-form>
<el-button
@ -591,7 +596,22 @@ export default {
console.log(err); //
});
},
exportExcl() {
const sTime = Math.floor(this.formdata.starttime / 1000);
const eTime = Math.floor(this.formdata.endtime / 1000);
window.location.href =
"/api/xymanager/weather/export?+" +
"lineId=" +
this.paramsData.lineid +
"&termId=" +
this.paramsData.id +
"&towerId=" +
this.paramsData.towerid +
"&start=" +
sTime +
"&end=" +
eTime;
},
//
handleCurrentChange(val) {
this.page = val;

@ -171,6 +171,16 @@
placeholder="请输入通道昵称"
></el-input>
</el-form-item>
<el-form-item label="是否云台:">
<el-select v-model="val.type">
<el-option
v-for="item in ytTypeOption"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<div class="btngrop">
<el-button
v-if="index !== 0"
@ -308,6 +318,16 @@ export default {
name: "是",
},
],
ytTypeOption: [
{
id: 0,
name: "默认",
},
{
id: 1,
name: "云台",
},
],
//线
isfavorOptions: [
{
@ -368,6 +388,7 @@ export default {
{
id: "",
alias: "",
type: 0,
},
],
});
@ -378,6 +399,7 @@ export default {
val.list.push({
id: "",
alias: "",
type: 0,
});
}
@ -403,6 +425,7 @@ export default {
this.formInfo.list.push({
id: "",
alias: "",
type: 0,
});
this.filterOption = this.channelOptions.filter(
(val) => !this.formInfo.list.some((item) => item.id === val.id)
@ -603,7 +626,10 @@ export default {
//justify-content: space-between;
padding-right: 6px;
.el-form-item {
width: 310px;
width: 202px;
// .el-form-item__content {
// width: 100px;
// }
}
.btngrop {
margin-bottom: 16px;

@ -813,11 +813,21 @@
disabled
>
</el-date-picker>
<!-- <el-input
v-model="deviceTimeForm.zztime"
disabled="disabled"
></el-input> -->
</el-form-item>
<el-form-item>
<el-button
type="primary"
@click="searchTime"
:loading="timeLoading"
>查询</el-button
></el-form-item
>
<el-form-item label="新装置时间">
<!-- <el-input v-model="deviceTimeForm.newzztime"></el-input> -->
<el-date-picker
@ -828,6 +838,12 @@
@focus="handleFocus"
>
</el-date-picker>
<el-tooltip
class="item"
effect="dark"
content="使用当前时间校时"
placement="top"
>
<el-button
type="primary"
@click="setnowTime"
@ -835,14 +851,9 @@
:loading="nowTimesetLoading"
>校时</el-button
>
</el-tooltip>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@click="searchTime"
:loading="timeLoading"
>查询</el-button
>
<el-button
type="primary"
@click="setTime"

@ -128,24 +128,24 @@
<span>{{ $moment(item.photoTime).format("HH:mm:ss") }}</span>
</el-tooltip>
(
<el-tooltip
class="item"
effect="dark"
content="图片上传时间"
placement="top-start"
>
<span> {{ $moment(item.recvTime).format("HH:mm:ss") }}</span>
<span>({{ $moment(item.recvTime).format("HH:mm:ss") }})</span>
</el-tooltip>
)
<span
>--{{
<span>
-
{{
item.alias !== null && item.alias !== ""
? item.alias
: item.channelName
}}</span
>
<span v-if="item.presetId !== ''"> -- {{ item.presetId }}</span>
<span v-if="item.presetId !== ''"> - {{ item.presetId }}</span>
<span class="alarmSpan" v-if="item.isAlarm == 1">()</span>
</p>
</div>
@ -163,16 +163,14 @@
<span>{{ $moment(item.photoTime).format("HH:mm:ss") }}</span>
</el-tooltip>
(
<el-tooltip
class="item"
effect="dark"
content="图片上传时间"
placement="top-start"
>
<span> {{ $moment(item.recvTime).format("HH:mm:ss") }}</span>
<span>({{ $moment(item.recvTime).format("HH:mm:ss") }})</span>
</el-tooltip>
)
<span
>--{{
item.alias !== null && item.alias !== ""
@ -951,6 +949,7 @@ export default {
padding: 6px 0;
font-size: 12px;
text-align: center;
color: #333;
.el-icon-video-camera {
font-size: 20px;
@ -959,6 +958,13 @@ export default {
vertical-align: sub;
color: #169e8c;
}
span {
font-size: 15px;
zoom: 0.8;
&:last-child {
zoom: 0.7;
}
}
}
.alarmSpan {
color: #f00;

@ -9,6 +9,29 @@
<div class="head">
<h3>通道</h3>
<el-select
v-model="channelVal"
placeholder="请选择通道"
ref="multiSelect"
class="channelDiv"
>
<el-option
v-for="item in channelListOption"
:key="item.channelid"
:label="
item.alias !== null && item.alias !== ''
? item.alias
: item.channelname
"
:value="item.channelid"
>
{{
item.alias !== null && item.alias !== ""
? item.alias
: item.channelname
}}
</el-option>
</el-select>
<!-- <el-select
v-model="channelVal"
placeholder="请选择"
class="channelDiv"
@ -20,7 +43,7 @@
:value="item.value"
>
</el-option>
</el-select>
</el-select> -->
<h3>预置位</h3>
<el-select
v-model="presetVal"
@ -90,6 +113,7 @@
</template>
<script>
import {
getChannelByTermidJoggle,
getTermStatus,
setTermCamera,
getTermCameraRequest,
@ -103,16 +127,17 @@ export default {
timeNum: 30, //
timeList: [], //
channelVal: 1,
channelOptions: [
{
value: 1,
label: "通道1",
},
{
value: 2,
label: "通道2",
},
],
channelListOption: [], //
// channelOptions: [
// {
// value: 1,
// label: "1",
// },
// {
// value: 2,
// label: "2",
// },
// ],
selectedValues: [], //
presetVal: 1, //
timeparams: [], //
@ -140,6 +165,19 @@ export default {
this.dialogVisible = true;
this.deviceData = val;
console.log(this.deviceData);
this.getChannelList();
},
//
getChannelList() {
console.log(this.deviceData);
getChannelByTermidJoggle({ termid: this.deviceData.id })
.then((res) => {
console.log(res);
this.channelListOption = res.data.list;
})
.catch((err) => {
console.log(err); //
});
},
showTimeList() {
//

@ -6,6 +6,31 @@
direction="rtl"
>
<div class="ytDraw">
<div class="channelBox">
<span>云台通道</span>
<el-select
v-model="ytChannel"
placeholder="请选择通道"
ref="multiSelect"
>
<el-option
v-for="item in channelListOption"
:key="item.channelid"
:label="
item.alias !== null && item.alias !== ''
? item.alias
: item.channelname
"
:value="item.channelid"
>
{{
item.alias !== null && item.alias !== ""
? item.alias
: item.channelname
}}
</el-option>
</el-select>
</div>
<div class="openClass">
<el-button type="primary" @click="openPowerFun()"></el-button>
<el-button type="warning" @click="closePowerFun()"></el-button>
@ -300,6 +325,7 @@ export default {
},
deviceTimer: null, //
deviceNum: 1, //
ytChannel: "",
};
},
computed: {
@ -313,6 +339,7 @@ export default {
this.termId = this.areaData.id;
this.ptzdrawer = true;
this.getPresetList();
this.getChannelList();
},
getPresetList() {
getPresetApi({
@ -629,7 +656,7 @@ export default {
},
{
name: "channel",
value: 1,
value: this.ytChannel,
},
{
name: "preset",
@ -688,7 +715,12 @@ export default {
getChannelByTermidJoggle({ termid: this.areaData.id })
.then((res) => {
console.log(res);
this.channelListOption = res.data.list;
const filteredChannelList = res.data.list.filter(
(channel) => channel.type === 1
);
this.channelListOption = filteredChannelList;
this.ytChannel = filteredChannelList[0].channelid;
//this.channelListOption = res.data.list;
})
.catch((err) => {
console.log(err); //
@ -822,6 +854,12 @@ export default {
//display: flex;
padding: 12px;
height: 100%;
.channelBox {
display: flex;
align-items: center;
color: #333;
margin-bottom: 12px;
}
.openClass {
display: flex;
justify-content: space-around;

@ -19,6 +19,8 @@
<el-select v-model="form.channel" placeholder="选择通道">
<el-option label="通道一" :value="1"></el-option>
<el-option label="通道二" :value="2"></el-option>
<el-option label="通道三" :value="3"></el-option>
<el-option label="通道四" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="选择时间">

@ -81,7 +81,18 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="云台通道" class="dybox">
<el-select v-model="formdata.panChannel" placeholder="请选择">
<el-option
v-for="item in panChannelOptions"
: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"
@ -130,6 +141,36 @@ export default {
name: "是",
},
], //
panChannelOptions: [
{
id: 1,
name: "通道1",
},
{
id: 2,
name: "通道2",
},
{
id: 3,
name: "通道3",
},
{
id: 4,
name: "通道4",
},
{
id: 5,
name: "通道5",
},
{
id: 6,
name: "通道6",
},
{
id: 7,
name: "通道7",
},
], //
dyOptions: [], //
xlOptions: [], //线
protocolOptions: [], //
@ -150,6 +191,18 @@ export default {
id: 4,
name: "四目",
},
{
id: 5,
name: "五目",
},
{
id: 6,
name: "六目",
},
{
id: 7,
name: "七目",
},
],
};
},
@ -330,6 +383,7 @@ export default {
lineId: this.formdata.lineId,
protocol: this.formdata.protocol,
hasPan: this.formdata.hasPan,
panChannel: this.formdata.panChannel,
};
console.log(params);
importTermsApi(params)

@ -0,0 +1,173 @@
<template>
<div class="termsBox">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>批量下发重置</span>
</div>
<div class="deviceList">
<div class="searchBox">
<el-form
:inline="true"
:model="formdata"
label-position="right"
label-width="62px"
class="demo-form-inline"
>
<el-form-item label="装置编号(一行一个)" class="termClass">
<el-input
type="textarea"
:rows="20"
placeholder="请输入装置列表"
v-model="formdata.cmdidArr"
>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm()"></el-button>
</div>
</div>
</div>
</el-card>
</div>
</template>
<script>
import { resetTerminalApi } from "@/utils/api/index";
export default {
name: "globalTools",
components: {},
data() {
return {
formdata: {
cmdidArr: "",
},
};
},
computed: {
// cmdidArr
cmdidArrList() {
// 使 split
return this.formdata.cmdidArr.split(/\r\n|\n|\r/).filter(Boolean);
},
},
created() {},
watch: {},
methods: {
submitForm() {
if (this.formdata.cmdidArr.length == 0) {
this.$message({
duration: 1500,
showClose: true,
message: "请输入装置编号",
type: "error",
});
return;
}
console.log(this.cmdidArrList);
this.resetAllTerminals();
// resetTerminalApi({ cmId: this.rowData.cmdId || this.rowData.cmdid })
// .then((res) => {
// if (res.code == 200) {
// this.$message({
// duration: 1500,
// showClose: true,
// message: "",
// type: "success",
// });
// } else {
// this.$message({
// duration: 1500,
// showClose: true,
// message: res.msg,
// type: "error",
// });
// }
// })
// .catch((err) => {});
},
resetAllTerminals() {
const requests = this.cmdidArrList.map((cmId) =>
this.resetTerminalApi(cmId)
);
Promise.all(requests)
.then((results) => {
//
this.$message({
message: "所有装置已复位",
type: "success",
});
})
.catch((error) => {
//
this.$message({
message: "部分装置复位失败:" + error.message,
type: "error",
});
});
},
resetTerminalApi(cmId) {
// API
// Promise
return resetTerminalApi({ cmId: cmId })
.then((response) => {
if (response.code === 200) {
return Promise.resolve(response.data); // Promise
} else {
return Promise.reject(new Error(response.msg)); // Promise
}
})
.catch((error) => {
return Promise.reject(error); // Promise
});
},
},
};
</script>
<style lang="less">
.termsBox {
width: 500px;
margin-right: 24px;
height: 100%;
.el-card {
height: 100%;
.el-card__body {
padding: 12px 8px;
.deviceList {
.searchBox {
.dyxl {
display: flex;
.dybox,
.xlbox {
.el-select {
width: 160px;
}
}
}
.gytd {
display: flex;
.gyClass,
.tdClass {
.el-select {
width: 160px;
}
}
}
.termClass {
display: flex;
flex-direction: column;
.el-form-item__label {
width: 140px !important;
}
}
}
.dialog-footer {
display: flex;
margin-left: auto;
justify-content: end;
}
}
}
}
}
</style>

@ -2,6 +2,7 @@
<div class="globalBox">
<div class="setBox">
<termsAdd></termsAdd>
<termsReset></termsReset>
<el-card class="box-card globalDrawLine">
<div slot="header" class="clearfix">
<span>线缆开启关闭</span>
@ -64,9 +65,10 @@ import {
updateAlarmChannel,
} from "@/utils/api/index";
import termsAdd from "./components/termsAdd";
import termsReset from "./components/termsReset";
export default {
name: "globalTools",
components: { termsAdd },
components: { termsAdd, termsReset },
data() {
return {
lineValue: false,

Loading…
Cancel
Save