master
fanluyan 2 years ago
parent 93c5f052c3
commit aab842c25c

@ -56,3 +56,7 @@
.el-button--small { .el-button--small {
padding: 9px 9px; padding: 9px 9px;
} }
.el-button--default,
.el-button--primary {
width: 80px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 25 KiB

@ -93,15 +93,15 @@ export default {
index: "/towerInformation", index: "/towerInformation",
title: "杆塔信息管理", title: "杆塔信息管理",
}, },
{
index: "/photographicDevice",
title: "拍照装置管理",
},
{ {
index: "/cameraChannel", index: "/cameraChannel",
title: "通道管理", title: "通道管理",
}, },
{
index: "/photographicDevice",
title: "拍照装置管理",
},
{ {
icon: "el-icon-setting", icon: "el-icon-setting",
index: "/devicePhotoSchedule", index: "/devicePhotoSchedule",

@ -3,6 +3,8 @@
<div class="picTop"> <div class="picTop">
<viewer <viewer
class="bigimg" class="bigimg"
:options="OptionssalseImg"
:images="bigPicPath"
v-if=" v-if="
bigPicPath.indexOf('nopic') == -1 && bigPicPath.indexOf('nopic') == -1 &&
bigPicPath.indexOf('videos') == -1 bigPicPath.indexOf('videos') == -1
@ -141,6 +143,16 @@ export default {
}, },
data() { data() {
return { return {
OptionssalseImg: {
inline: false,
button: true,
navbar: false,
title: false,
toolbar: false,
tooltip: false,
zoomable: true,
url: "src",
},
isshowArrow: true, // isshowArrow: true, //
bigPicPath: "", // bigPicPath: "", //
smallPicPath: "", // smallPicPath: "", //

@ -23,7 +23,11 @@
v-for="(item, index) in ruleForm.list" v-for="(item, index) in ruleForm.list"
:key="index" :key="index"
> >
<el-form-item label="时间" :prop="'list.' + index + '.time'" :rules="{ required: true, message:'请选择时间', trigger:'blur' }"> <el-form-item
label="时间"
:prop="'list.' + index + '.time'"
:rules="{ required: true, message: '请选择时间', trigger: 'blur' }"
>
<el-time-picker <el-time-picker
is-range is-range
v-model="item.time" v-model="item.time"
@ -34,10 +38,7 @@
> >
</el-time-picker> </el-time-picker>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="间隔(分)" :prop="'list.' + index + '.span'">
label="间隔(分)"
:prop="'list.' + index + '.span'"
>
<!-- <el-input v-model="ruleForm.span" autocomplete="off" type="number"></el-input> --> <!-- <el-input v-model="ruleForm.span" autocomplete="off" type="number"></el-input> -->
<el-input-number v-model="item.span" :min="1"></el-input-number> <el-input-number v-model="item.span" :min="1"></el-input-number>
</el-form-item> </el-form-item>
@ -77,7 +78,7 @@ export default {
return { return {
isShow: false, isShow: false,
rules: { rules: {
name: [{ required: true, message: "请输入名称", trigger: "blur" }] name: [{ required: true, message: "请输入名称", trigger: "blur" }],
}, },
ruleForm: {}, ruleForm: {},
}; };
@ -87,7 +88,7 @@ export default {
getdataform(val) { getdataform(val) {
console.log(val); console.log(val);
if (val == null) { if (val == null) {
return this.ruleForm = { return (this.ruleForm = {
name: "", name: "",
list: [ list: [
{ {
@ -96,10 +97,10 @@ export default {
}, },
], ],
remark: "", remark: "",
}; });
} }
this.ruleForm = val; this.ruleForm = val;
this.ruleForm.list.forEach(val => { this.ruleForm.list.forEach((val) => {
this.$set(val, "time", [val.startTime, val.endTime]); this.$set(val, "time", [val.startTime, val.endTime]);
}); });
}, },
@ -132,12 +133,12 @@ export default {
this.$refs.formInfo.validate((valid) => { this.$refs.formInfo.validate((valid) => {
if (valid) { if (valid) {
// delete this.ruleForm.time; // delete this.ruleForm.time;
this.ruleForm.list.forEach(val => { this.ruleForm.list.forEach((val) => {
this.$set(val, "startTime", val.time[0]); this.$set(val, "startTime", val.time[0]);
this.$set(val, "endTime", val.time[1]); this.$set(val, "endTime", val.time[1]);
}); });
if (this.title == "新增") { if (this.title == "新增") {
addScheduleRulel( this.ruleForm ) addScheduleRulel(this.ruleForm)
.then((res) => { .then((res) => {
this.isShow = false; this.isShow = false;
this.$message.success("添加成功"); this.$message.success("添加成功");
@ -168,9 +169,9 @@ export default {
hide() { hide() {
this.isShow = false; this.isShow = false;
}, },
handleclose(){ handleclose() {
this.$parent.deviceList(); this.$parent.deviceList();
} },
}, },
mounted() {}, mounted() {},
}; };
@ -196,6 +197,7 @@ export default {
height: 32px; height: 32px;
.el-button--small { .el-button--small {
padding: 9px 8px; padding: 9px 8px;
width: 30px;
} }
} }
} }

@ -8,11 +8,13 @@
> >
<div class="setTimeTd"> <div class="setTimeTd">
<h3>时间表规则</h3> <h3>时间表规则</h3>
<p class="timeGz" v-for="(val, index) in ruleSchedule" :key="index"> <div class="flexTimeGz">
<span>{{ val.startTime }}</span> ~ <p class="timeGz" v-for="(val, index) in ruleSchedule" :key="index">
<span>{{ val.endTime }}</span> <span>{{ val.startTime }}</span> ~
间隔<el-tag>{{ val.span }}分钟</el-tag> <span>{{ val.endTime }}</span>
</p> 间隔<b>{{ val.span }}分钟</b>
</p>
</div>
<!-- <el-descriptions <!-- <el-descriptions
title="" title=""
:column="3" :column="3"
@ -369,12 +371,22 @@ export default {
font-size: 16px; font-size: 16px;
line-height: 24px; line-height: 24px;
} }
.timeGz { .flexTimeGz {
line-height: 32px; display: flex;
span { flex-wrap: wrap;
margin: 0px 8px; .timeGz {
line-height: 32px;
margin-right: 16px;
b {
font-weight: normal;
color: #409eff;
}
span {
margin: 0px 8px;
}
} }
} }
.setCheckbox { .setCheckbox {
.el-table__header .el-table-column--selection .cell .el-checkbox:after { .el-table__header .el-table-column--selection .cell .el-checkbox:after {
color: #333; color: #333;

@ -38,7 +38,7 @@
> >
<span>{{ val.startTime }}</span> ~ <span>{{ val.startTime }}</span> ~
<span>{{ val.endTime }}</span> <span>{{ val.endTime }}</span>
间隔<el-tag>{{ val.span }}分钟</el-tag> 间隔<b>{{ val.span }}分钟</b>
</p> </p>
<!-- <ul <!-- <ul
class="rulesBox" class="rulesBox"
@ -239,6 +239,10 @@ export default {
} }
.timeGz { .timeGz {
line-height: 32px; line-height: 32px;
b {
font-weight: normal;
color: #409eff;
}
span { span {
margin: 0px 8px; margin: 0px 8px;
} }

@ -13,7 +13,7 @@
:rules="rules" :rules="rules"
:model="formdata" :model="formdata"
> >
<el-form-item label="单位" prop="bsManufacturer"> <el-form-item label="公司名称" prop="bsManufacturer">
<el-input <el-input
v-model="formdata.bsManufacturer" v-model="formdata.bsManufacturer"
autocomplete="off" autocomplete="off"

@ -19,6 +19,7 @@
v-loading="loading" v-loading="loading"
> >
<!-- <el-table-column type="selection" width="55"> </el-table-column> --> <!-- <el-table-column type="selection" width="55"> </el-table-column> -->
<!-- <el-table-column type="index" width="55"> </el-table-column> -->
<el-table-column label="公司名称" show-overflow-tooltip> <el-table-column label="公司名称" show-overflow-tooltip>
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.bsManufacturer scope.row.bsManufacturer
@ -38,13 +39,7 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column
prop="status"
label="线路状态"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column <el-table-column
prop="dyLevelname" prop="dyLevelname"
label="电压等级名称" label="电压等级名称"
@ -60,6 +55,9 @@
type="text" type="text"
>修改</el-button >修改</el-button
> >
<el-button @click.native.stop="handleTower(scope.row)" type="text"
>新增杆塔</el-button
>
<el-button <el-button
type="text" type="text"
class="deleteText" class="deleteText"
@ -148,6 +146,10 @@ export default {
this.$refs.addlineDialogref.display(); this.$refs.addlineDialogref.display();
this.$refs.addlineDialogref.getdataform(data); this.$refs.addlineDialogref.getdataform(data);
}, },
//
handleTower(data) {
console.log(data);
},
// //
handleDelete(data) { handleDelete(data) {

@ -14,9 +14,6 @@
:rules="rules" :rules="rules"
:model="formdata" :model="formdata"
> >
<el-form-item label="杆塔名称:" prop="name">
<el-input v-model="formdata.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="线路编号:" prop="lineId"> <el-form-item label="线路编号:" prop="lineId">
<el-select v-model="formdata.lineId" placeholder="请选择"> <el-select v-model="formdata.lineId" placeholder="请选择">
<el-option <el-option
@ -27,6 +24,9 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="杆塔名称:" prop="name">
<el-input v-model="formdata.name" autocomplete="off"></el-input>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="isShow = false"> </el-button> <el-button @click="isShow = false"> </el-button>

@ -30,15 +30,16 @@
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="name" prop="lineId"
label="杆塔名称" label="线路编号"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="lineId" prop="name"
label="线路编号" label="杆塔名称"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="id" prop="id"
label="杆塔编号" label="杆塔编号"

@ -3,7 +3,6 @@
<div class="picHead"> <div class="picHead">
<div class="pageNation"> <div class="pageNation">
<el-pagination <el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="page" :current-page="page"
:page-size="pageSize" :page-size="pageSize"
@ -13,23 +12,13 @@
</el-pagination> </el-pagination>
</div> </div>
<div class="buttonGroup"> <div class="buttonGroup">
<span class="info">
<b> {{ isRuning ? remainingTime : "已暂停" }} </b>
</span>
<el-button type="primary" @click="toggleCountdown">{{ <el-button type="primary" @click="toggleCountdown">{{
isRuning ? "暂停轮巡" : "开始轮巡" isRuning ? "暂停轮巡" : "开始轮巡"
}}</el-button> }}</el-button>
<el-button type="primary" @click="setbtn"></el-button> <el-button type="primary" @click="setbtn"></el-button>
<!-- <el-button type="primary">轮询条件</el-button>
<el-select v-model="value" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select> -->
<span class="info">
<b> {{ isRuning ? remainingTime : "已暂停" }} </b>
</span>
</div> </div>
</div> </div>
<div class="imageCenter" v-loading="loading"> <div class="imageCenter" v-loading="loading">
@ -57,19 +46,10 @@
<div class="bigpic" v-else> <div class="bigpic" v-else>
<img src="../../assets/img/nopic.jpg" /> <img src="../../assets/img/nopic.jpg" />
</div> </div>
<!-- <div class="bigimg" v-else-if="item.path.indexOf('videos') !== -1">
<video
width="100%"
height="100%"
:src="item.path"
controls="controls"
></video>
</div> -->
<p class="infoTop"> <p class="infoTop">
{{ item.linename }}-{{ item.displayname }}-{{ item.channnelname }} {{ item.linename }}-{{ item.displayname }}-{{ item.channnelname }}
</p> </p>
<p class="infoBottom"> <p class="infoBottom" v-if="item.photoTime !== null">
{{ $moment(item.photoTime).format("yy-MM-DD HH:mm:ss") }}  {{ $moment(item.photoTime).format("yy-MM-DD HH:mm:ss") }} 
</p> </p>
</div> </div>
@ -110,6 +90,16 @@ import qs from "qs";
export default { export default {
data() { data() {
return { return {
value: "选项1",
page: 1, //
pageSize: 4, //
totalPage: 0, //
total: 0, //
picList: [], //
remainingTime: 5, //
isRuning: false,
timer: null,
loading: false,
setdialog: false, // setdialog: false, //
speedOptions: [ speedOptions: [
{ {
@ -175,17 +165,6 @@ export default {
label: "倒序", label: "倒序",
}, },
], ],
value: "选项1",
page: 1, //
pageSize: 4, //
totalPage: 0, //
total: 0, //
picList: [], //
basUrl: "",
remainingTime: 15, //
isRuning: false,
timer: null,
loading: false,
}; };
}, },
methods: { methods: {
@ -202,7 +181,7 @@ export default {
this.setdialog = false; this.setdialog = false;
this.$message.success("设置成功"); this.$message.success("设置成功");
}, },
handleSizeChange(val) {}, //
handleCurrentChange(val) { handleCurrentChange(val) {
this.isRuning = false; this.isRuning = false;
this.pauseCountdown(); this.pauseCountdown();
@ -217,6 +196,7 @@ export default {
pagesize: this.pageSize, pagesize: this.pageSize,
}) })
.then((res) => { .then((res) => {
console.log(this.totalPage);
this.picList = res.data.list; this.picList = res.data.list;
this.totalPage = res.data.totalpage; this.totalPage = res.data.totalpage;
this.total = res.data.total; this.total = res.data.total;
@ -226,22 +206,23 @@ export default {
console.log(err); console.log(err);
}); });
}, },
//
//
startCountdown() { startCountdown() {
console.log(this.remainingTime);
this.timer = setInterval(() => { this.timer = setInterval(() => {
if (this.remainingTime <= 0) { if (this.remainingTime <= 0) {
//0 this.clearTimer();
clearInterval(this.timer); console.log("结束");
this.remainingTime = parseInt(localStorage.getItem("totalTime"))
? parseInt(localStorage.getItem("totalTime"))
: 15;
this.startCountdown();
this.page++; this.page++;
this.getPicData(); console.log(this.totalPage);
if (this.page >= this.totalPage) { if (this.page > this.totalPage) {
clearInterval(this.timer); console.log("组后一页");
this.page = 1; this.page = 0;
this.startCountdown();
} else {
console.log(this.page);
this.remainingTime = 5;
this.getPicData();
this.startCountdown(); this.startCountdown();
} }
} else { } else {
@ -249,20 +230,28 @@ export default {
} }
}, 1000); }, 1000);
}, },
clearTimer() {
// //
clearInterval(this.timer);
this.timer = null;
},
pauseCountdown() { pauseCountdown() {
clearInterval(this.timer); // //
clearInterval(this.timer);
this.timer = null;
}, },
//isRuning //isRuning
toggleCountdown() { toggleCountdown() {
if (this.isRuning) { if (this.isRuning) {
console.log(this.isRuning);
this.pauseCountdown(); this.pauseCountdown();
} else { } else {
console.log(this.isRuning);
this.startCountdown(); this.startCountdown();
this.getPicData(); this.getPicData();
} }
this.isRuning = !this.isRuning; this.isRuning = !this.isRuning;
console.log(this.isRuning);
}, },
}, },
computed: {}, computed: {},
@ -298,7 +287,7 @@ export default {
.info { .info {
width: 80px; width: 80px;
text-align: center; text-align: center;
margin-left: 16px; margin-right: 16px;
line-height: 32px; line-height: 32px;
b { b {
font-size: 24px; font-size: 24px;
@ -315,18 +304,20 @@ export default {
// justify-content: space-around; // justify-content: space-around;
flex-wrap: wrap; flex-wrap: wrap;
height: calc(100% - 52px); height: calc(100% - 52px);
justify-content: space-between;
.imgList { .imgList {
width: 49.4%; width: 49.8%;
position: relative; position: relative;
display: inline-block; display: inline-block;
margin-right: 0.25%; margin-right: 0.1%;
margin-left: 0.25%; margin-left: 0.1%;
margin-top: 0.3%; margin-top: 0.1%;
margin-bottom: 0.1%;
position: relative; position: relative;
-moz-border-radius: 3px; -moz-border-radius: 3px;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
border-radius: 3px px; border-radius: 3px px;
height: 49%; height: 49.8%;
.bigpic { .bigpic {
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -342,7 +333,7 @@ export default {
bottom: 28px; bottom: 28px;
left: 0px; left: 0px;
font-size: 14px; font-size: 14px;
background-color: #3a87ad !important; background: linear-gradient(180deg, #00eaff 10%, #409eff 100%);
color: @color-white; color: @color-white;
font-weight: normal; font-weight: normal;
margin-top: 2px; margin-top: 2px;
@ -355,7 +346,7 @@ export default {
color: @color-white; color: @color-white;
left: 0px; left: 0px;
font-size: 14px; font-size: 14px;
background-color: #51b17c !important; background: linear-gradient(180deg, #00eaff 10%, #409eff 100%);
font-weight: normal; font-weight: normal;
margin-top: 2px; margin-top: 2px;
padding-left: 5px; padding-left: 5px;

@ -0,0 +1,351 @@
<template>
<div class="picRotation">
<div class="picHead">
<div class="pageNation">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page"
:page-size="pageSize"
layout=" prev, pager, next, jumper,total"
:total="total"
>
</el-pagination>
</div>
<div class="buttonGroup">
<span class="info">
<b> {{ isRuning ? remainingTime : "已暂停" }} </b>
</span>
<el-button type="primary" @click="toggleCountdown">{{
isRuning ? "暂停轮巡" : "开始轮巡"
}}</el-button>
<el-button type="primary" @click="setbtn"></el-button>
</div>
</div>
<div class="imageCenter" v-loading="loading">
<div class="imgList" v-for="(item, index) in picList" :key="index">
<viewer
v-if="item.path !== null && item.path.indexOf('videos') == -1"
class="bigpic"
:style="
item.path ? 'backgroundImage:url(' + item.path + '!128x72)' : ''
"
>
<img :src="item.path + '!1280x720'" />
</viewer>
<div
class="bigpic"
v-else-if="item.path !== null && item.path.indexOf('videos') !== -1"
>
<video
width="100%"
height="100%"
:src="item.path"
controls="controls"
></video>
</div>
<div class="bigpic" v-else>
<img src="../../assets/img/nopic.jpg" />
</div>
<p class="infoTop">
{{ item.linename }}-{{ item.displayname }}-{{ item.channnelname }}
</p>
<p class="infoBottom" v-if="item.photoTime !== null">
{{ $moment(item.photoTime).format("yy-MM-DD HH:mm:ss") }} 
</p>
</div>
</div>
<el-dialog
title="设置"
:visible.sync="setdialog"
width="30%"
:close-on-click-modal="false"
>
<el-form label-width="100px" label-position="left">
<el-form-item label="轮巡速度">
<el-select v-model="selSpeed" placeholder="请选择">
<el-option
v-for="item in speedOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="画面布局">
<el-select v-model="selLayout" placeholder="s请选择">
<el-option v-for="item in layoutOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="setdialog = false"> </el-button>
<el-button type="primary" @click="submitForm()"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getPictureList } from "@/utils/api/index";
import qs from "qs";
export default {
data() {
return {
setdialog: false, //
speedOptions: [
{
value: 5,
label: "5秒",
},
{
value: 11,
label: "11秒",
},
{
value: 12,
label: "12秒",
},
{
value: 13,
label: "13秒",
},
{
value: 14,
label: "14秒",
},
{
value: 15,
label: "15秒",
},
], //
selSpeed: 5,
layoutOptions: [
{
value: 1,
label: "2*2",
},
{
value: 2,
label: "3*3",
},
{
value: 3,
label: "2*3",
},
{
value: 4,
label: "3*2",
},
{
value: 5,
label: "4*2",
},
{
value: 6,
label: "4*3",
},
], //
selLayout: 1,
options: [
{
value: "选项1",
label: "顺序",
},
{
value: "选项2",
label: "倒序",
},
],
value: "选项1",
page: 1, //
pageSize: 4, //
totalPage: 0, //
total: 0, //
picList: [], //
basUrl: "",
remainingTime: 15, //
isRuning: false,
timer: null,
loading: false,
};
},
methods: {
setbtn() {
this.isRuning = false;
this.pauseCountdown();
this.setdialog = true;
this.selSpeed = parseInt(localStorage.getItem("totalTime"))
? parseInt(localStorage.getItem("totalTime"))
: 15;
},
submitForm() {
localStorage.setItem("totalTime", this.selSpeed);
this.setdialog = false;
this.$message.success("设置成功");
},
handleSizeChange(val) {},
handleCurrentChange(val) {
this.isRuning = false;
this.pauseCountdown();
this.page = val;
this.getPicData();
},
//
getPicData() {
this.loading = true;
getPictureList({
pageindex: this.page,
pagesize: this.pageSize,
})
.then((res) => {
this.picList = res.data.list;
this.totalPage = res.data.totalpage;
this.total = res.data.total;
this.loading = false;
})
.catch((err) => {
console.log(err);
});
},
//
startCountdown() {
this.timer = setInterval(() => {
if (this.remainingTime <= 0) {
//0
clearInterval(this.timer);
this.remainingTime = parseInt(localStorage.getItem("totalTime"))
? parseInt(localStorage.getItem("totalTime"))
: 15;
this.startCountdown();
this.page++;
this.getPicData();
if (this.page >= this.totalPage) {
console.log("最后一页");
clearInterval(this.timer);
this.page = 1;
this.startCountdown();
}
} else {
this.remainingTime--;
}
}, 1000);
},
//
pauseCountdown() {
clearInterval(this.timer); //
},
//isRuning
toggleCountdown() {
if (this.isRuning) {
this.pauseCountdown();
} else {
this.startCountdown();
this.getPicData();
}
this.isRuning = !this.isRuning;
},
},
computed: {},
mounted() {
this.toggleCountdown();
},
created() {},
beforeDestroy() {
// console.log("");
clearInterval(this.timer);
this.timer = null;
},
};
</script>
<style lang="less">
.picRotation {
width: calc(100% - 32px);
height: calc(100% - 32px);
padding: 16px 16px;
background: #ffffff;
.picHead {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0px 0px 8px 0px;
.buttonGroup {
display: flex;
.el-select {
margin-left: 10px;
width: 100px;
}
.info {
width: 80px;
text-align: center;
margin-right: 16px;
line-height: 32px;
b {
font-size: 24px;
font-weight: normal;
color: @color-success;
vertical-align: middle;
}
}
}
}
.imageCenter {
display: flex;
// justify-content: space-around;
flex-wrap: wrap;
height: calc(100% - 52px);
justify-content: space-between;
.imgList {
width: 49.8%;
position: relative;
display: inline-block;
margin-right: 0.1%;
margin-left: 0.1%;
margin-top: 0.1%;
margin-bottom: 0.1%;
position: relative;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px px;
height: 49.8%;
.bigpic {
width: 100%;
height: 100%;
background-size: 100% 100%;
}
img {
width: 100%;
height: 100%;
cursor: pointer;
}
.infoTop {
position: absolute;
bottom: 28px;
left: 0px;
font-size: 14px;
background: linear-gradient(180deg, #00eaff 10%, #409eff 100%);
color: @color-white;
font-weight: normal;
margin-top: 2px;
padding-left: 5px;
padding-right: 5px;
}
.infoBottom {
position: absolute;
bottom: 4px;
color: @color-white;
left: 0px;
font-size: 14px;
background: linear-gradient(180deg, #00eaff 10%, #409eff 100%);
font-weight: normal;
margin-top: 2px;
padding-left: 5px;
padding-right: 5px;
}
}
}
}
</style>

@ -19,30 +19,32 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 电池电压 </template <template slot="label"> 电池电压 </template
>{{ infornr.batteryVoltage }} >{{ infornr.batteryVoltage }}V
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> MEID </template>{{ infornr.cmld }} <template slot="label"> MEID </template>{{ infornr.cmld }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 网络连接状态 </template <template slot="label"> 网络连接状态 </template
>{{ infornr.connectionState }} >{{ infornr.connectionState == 0 ? "正常" : "断开" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 浮充状态 </template <template slot="label"> 浮充状态 </template
>{{ infornr.floatingCharge }} >{{ infornr.floatingCharge == 0 ? "充电" : "放电" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 工作总时间小时 </template <template slot="label"> 工作总时间 </template
>{{ infornr.totalWorkingTime }} >{{ infornr.totalWorkingTime }}小时
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 本次连续工作时间小时 </template <template slot="label"> 本次连续工作时间 </template
>{{ infornr.workingTime }} >{{ infornr.workingTime }}小时
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 工作状态更新时间 </template <template slot="label"> 工作状态更新时间 </template
>{{  $moment(infornr.wsUpdateTime).format("yy-MM-DD HH:mm:ss") }} >{{
$moment(infornr.wsUpdateTime * 1000).format("yy-MM-DD HH:mm:ss")
}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
@ -64,20 +66,20 @@ export default {
isShow: false, isShow: false,
infornr: {}, // infornr: {}, //
timer: null, timer: null,
queryTime:'',//ID queryTime: "", //ID
cmdid:'' cmdid: "",
}; };
}, },
mounted() {}, mounted() {},
methods: { methods: {
// //
getListData(val,cmdid) { getListData(val, cmdid) {
this.cmdid = cmdid this.cmdid = cmdid;
getDeviceList({ getDeviceList({
termId: val, termId: val,
}) })
.then((res) => { .then((res) => {
this.queryTime = res.data.queryTime this.queryTime = res.data.queryTime;
this.getNewListData(val); this.getNewListData(val);
this.timer = window.setInterval(() => { this.timer = window.setInterval(() => {
this.getNewListData(val); this.getNewListData(val);
@ -92,7 +94,7 @@ export default {
termId: val, termId: val,
}) })
.then((res) => { .then((res) => {
this.loading = false this.loading = false;
if (res.data.isNew == true) { if (res.data.isNew == true) {
this.infornr = res.data; this.infornr = res.data;
this.$message({ this.$message({
@ -100,7 +102,7 @@ export default {
type: "success", type: "success",
}); });
clearInterval(this.timer); clearInterval(this.timer);
}else{ } else {
this.infornr = res.data; this.infornr = res.data;
} }
}) })

@ -20,9 +20,9 @@
></el-option> ></el-option>
</el-select> </el-select>
<el-button type="primary" @click="inquirebtn()"></el-button> <el-button type="primary" @click="inquirebtn()"></el-button>
<el-button type="primary" @click="inquireRealbtn()" <!-- <el-button type="primary" @click="inquireRealbtn()"
>查询实际时间表</el-button >查询实际时间表</el-button
> > -->
</div> </div>
<div class="flexno bt30"> <div class="flexno bt30">
<div class="w8">时间表:</div> <div class="w8">时间表:</div>
@ -67,7 +67,7 @@
> >
<span>{{ val.startTime }}</span> ~ <span>{{ val.startTime }}</span> ~
<span>{{ val.endTime }}</span> <span>{{ val.endTime }}</span>
间隔<el-tag>{{ val.span }}分钟</el-tag> 间隔<b>{{ val.span }}分钟</b>
</p> </p>
<!-- <ul <!-- <ul
class="rulesBox" class="rulesBox"
@ -135,15 +135,17 @@
</el-descriptions> </el-descriptions>
<h3>时间表规则</h3> <h3>时间表规则</h3>
<p class="timename">时间表名称{{ timeName }}</p> <p class="timename">时间表名称{{ timeName }}</p>
<p <div class="flexTimeGz">
class="timeGz" <p
v-for="(val, index) in scheduleInfo" class="timeGz"
:key="index" v-for="(val, index) in scheduleInfo"
> :key="index"
<span>{{ val.startTime }}</span> ~ >
<span>{{ val.endTime }}</span> <span>{{ val.startTime }}</span> ~
间隔<el-tag>{{ val.span }}分钟</el-tag> <span>{{ val.endTime }}</span>
</p> 间隔<b>{{ val.span }}分钟</b>
</p>
</div>
<h3>选择通道</h3> <h3>选择通道</h3>
<div class="checkBox"> <div class="checkBox">
@ -520,12 +522,15 @@ export default {
} }
} }
} }
.timeGz { .timeGz {
line-height: 26px; line-height: 26px;
span { span {
margin: 0px 8px; margin: 0px 8px;
} }
} }
.pageNation { .pageNation {
justify-content: flex-start; justify-content: flex-start;
} }
@ -548,10 +553,15 @@ export default {
.timename { .timename {
margin: 8px 0px; margin: 8px 0px;
} }
.timeGz { .flexTimeGz {
line-height: 32px; display: flex;
span { flex-wrap: wrap;
margin: 0px 8px; .timeGz {
line-height: 32px;
margin-right: 16px;
span {
margin: 0px 8px;
}
} }
} }
} }

@ -95,18 +95,18 @@
>拍照时间表</el-button >拍照时间表</el-button
> >
<el-button <!-- <el-button
v-if="this.newTermId == this.termid" v-if="this.newTermId == this.termid"
type="primary" type="primary"
@click.native.stop="handlexfTime()" @click.native.stop="handlexfTime()"
>下发时间表</el-button >下发时间表</el-button
> > -->
<!-- <el-button type="primary" v-debounce="handleShowPic" <!-- <el-button type="primary" v-debounce="handleShowPic"
>手动拍照</el-button >手动拍照</el-button
> --> > -->
<el-dropdown trigger="click" @command="handleCommandpic"> <el-dropdown trigger="click" @command="handleCommandpic">
<el-button type="primary"> <el-button type="primary">
动拍照<i class="el-icon-arrow-down el-icon--right"></i> 动拍照<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown" class="picdropStyle"> <el-dropdown-menu slot="dropdown" class="picdropStyle">
<el-dropdown-item <el-dropdown-item
@ -119,7 +119,7 @@
</el-dropdown> </el-dropdown>
<el-dropdown trigger="click" @command="handleCommandvideo"> <el-dropdown trigger="click" @command="handleCommandvideo">
<el-button type="primary"> <el-button type="primary">
手动拍视频<i class="el-icon-arrow-down el-icon--right"></i> 主动录像<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown" class="videodropStyle"> <el-dropdown-menu slot="dropdown" class="videodropStyle">
<el-dropdown-item <el-dropdown-item
@ -134,13 +134,13 @@
<!-- <el-button type="primary" @click="handleShowPic" <!-- <el-button type="primary" @click="handleShowPic"
>手动拍视频</el-button >手动拍视频</el-button
> --> > -->
<el-button type="primary" v-debounce="handleShowGPS" <!-- <el-button type="primary" v-debounce="handleShowGPS"
>获取GPS位置</el-button >获取GPS位置</el-button
> > -->
<el-button type="primary" @click="handleShowInfo"> <el-button type="primary" @click="handleShowInfo">
装置信息</el-button 装置信息</el-button
> >
<el-dropdown <!-- <el-dropdown
class="dropgps" class="dropgps"
trigger="click" trigger="click"
@command="handleCommand" @command="handleCommand"
@ -152,7 +152,7 @@
<el-dropdown-item command="open">开启GPS</el-dropdown-item> <el-dropdown-item command="open">开启GPS</el-dropdown-item>
<el-dropdown-item command="close">关闭GPS</el-dropdown-item> <el-dropdown-item command="close">关闭GPS</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown> -->
<el-button type="primary" v-debounce="handleShowErr" <el-button type="primary" v-debounce="handleShowErr"
>声光报警</el-button >声光报警</el-button
> >

Loading…
Cancel
Save