覆冰数据修改,报表数据修改

jc
fanluyan 11 months ago
parent f676381bc6
commit 14a4baed83

@ -51,3 +51,11 @@ export function getProtocolList(data) {
params: data,
});
}
//获取活动列表
export function getActivityApi(data) {
return request({
url: "/xymanager/activity/listAll",
method: "get",
params: data,
});
}

@ -571,7 +571,7 @@ export default {
console.log(data);
pullParams = {
lineId: data.lineid,
// lineId: data.lineid,
termId: data.id,
towerId: data.towerid,
start: sTime,

@ -101,6 +101,11 @@
highlight-current-row
:row-key="getRowKeys"
>
<el-table-column label="序号">
<template slot-scope="scope">
<span>{{ (page - 1) * pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column prop="dyName" label="电压等级" show-overflow-tooltip>
</el-table-column>

@ -0,0 +1,315 @@
<template>
<div class="activerealsideBar">
<div class="searchBar">
<el-input
placeholder="输入关键字进行过滤"
v-model="filterText"
prefix-icon="el-icon-search"
clearable
>
</el-input>
</div>
<!-- <div class="deviceNum">
<el-statistic title="装置在线 / 总数">
<template slot="formatter">
<span>{{ onlineNum ? onlineNum : 0 }}</span> /
<span>{{ totalNum ? totalNum : 0 }}</span
>
</template>
</el-statistic>
</div> -->
<!-- <div class="radioFilter">
<el-radio-group v-model="zzradio" @input="getRadio">
<el-radio :label="-1">全部</el-radio>
<el-radio :label="1">在线</el-radio>
<el-radio :label="0">离线</el-radio>
</el-radio-group>
<el-button
class="refresh"
@click="getLineTreeStatus"
type="text"
icon="el-icon-refresh-right"
>刷新</el-button
>
</div> -->
<el-tree
ref="tree"
:data="lineTreeData"
:props="defaultProps"
node-key="compositeKey"
:default-expanded-keys="defaultExpandIds"
highlight-current
:expand-on-click-node="true"
:filter-node-method="filterNode"
:current-node-key="currentNodekey"
@node-click="handleNodeClick"
accordion
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span
:title="
node.label + '(' + data.termCount + '/' + data.onlineNum + ')'
"
>
<span
v-if="data.title"
class="iconfont icon-dianlihangye"
style="margin-right: 6px"
>
</span>
<span v-if="!data.title && data.cmdid">
<span
class="iconfont icon-shexiangtoulixian"
v-if="data.onlinestatus == 0"
:class="data.onlinestatus == 0 ? 'disconnect' : ''"
style="margin-right: 6px"
></span>
<span
class="iconfont icon-shexiangtou-lixian"
v-else
:class="data.onlinestatus == 0 ? 'disconnect' : ''"
style="margin-right: 6px"
></span>
</span>
<span :class="data.onlinestatus == 0 ? 'disconnect' : ''"
>{{ node.label }}
<span class="num" v-if="data.title"
>({{ data.termCount }} / {{ data.onlineNum }})
</span>
</span>
</span>
<!-- <span>
{{ node.label }}
</span> -->
</span>
</el-tree>
</div>
</template>
<script>
import EventBus from "@/utils/event-bus";
import { getActivityApi } from "@/utils/api/reportApi";
export default {
data() {
return {
filterText: "", //
lineTreeData: [],
defaultExpandIds: [], //
defaultProps: {
//
children: "terms",
label: "name",
key: "compositeKey", // 使 uniqueKey
},
currentData: {}, //
currentNodekey: "", //,
};
},
components: {},
watch: {
filterText(newVal) {
this.handleFilter(); // filterText
},
},
mounted() {},
created() {
this.getactiveList(); //
},
methods: {
transformData(data) {
return data.map((item) => ({
...item, //
name: item.title, // title name
onlineNum: item.terms.reduce((count, term) => {
// term.online 1
return count + (term.onlinestatus === 1 ? 1 : 0);
}, 0),
}));
},
getactiveList() {
getActivityApi()
.then((res) => {
console.log(res);
console.log(res.data);
const dataValue = this.transformData(res.data);
this.lineTreeData = this.processData(dataValue);
console.log(this.lineTreeData);
this.currentData = JSON.parse(localStorage.getItem("currentData"));
this.defaultExpandIds = [this.lineTreeData[0].terms[0].compositeKey];
this.currentNodekey = this.lineTreeData[0].terms[0].compositeKey;
console.log("我是选中的id", this.currentNodekey);
this.currentNodeData = this.lineTreeData[0].terms[0];
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(this.currentNodekey); //
this.handleNodeClick(this.currentNodeData);
});
})
.catch((err) => {});
},
processData(data, level = 0) {
return data.map((node) => {
const compositeKey = `${level}-${node.id}`; //
node.compositeKey = compositeKey; //
if (node.terms) {
node.terms = this.processData(node.terms, level + 1); //
}
return node;
});
},
handleFilter() {
// 500
setTimeout(() => {
this.$refs.tree.filter(this.filterText);
}, 500);
},
//
filterNode(value, data, node) {
//
if (!value) return true;
this.searchName = data.name + data.cmdid;
//console.log(this.searchName);
// valuedatalabel
if (this.searchName.indexOf(value) !== -1) {
return true;
}
let nowval = data[this.defaultProps.label].toUpperCase();
return nowval.indexOf(value.toUpperCase()) !== -1;
},
//treenode
handleNodeClick(data, node) {
console.log(data, node);
console.log(this.currentNodeKey);
if (data.hasOwnProperty("terms")) {
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(this.currentNodeKey);
});
return;
}
// if (data.name == "") {
// return;
// }
// if (data.isfavor == 0 || data.isfavor == null) {
// this.collectFlag = false;
// } else {
// this.collectFlag = true;
// }
this.currentNodeKey = data.compositeKey;
this.currentData = data;
//this.scrollView();
this.$store.commit("currentData", this.currentData); //currentDatavuex
this.$store.commit("termId", this.currentData.id); //currentDatavuex
this.$store.commit("protocol", this.currentData.protocol); //currentDatavuex
this.$store.commit("cmdId", this.currentData.cmdid); //currentDatavuex
this.$parent.getCurrentData();
},
},
beforeRouteLeave(to, from, next) {},
deactivated() {},
beforeDestroy() {},
};
</script>
<style lang="less">
.activerealsideBar {
width: 312px;
display: flex;
flex-direction: column;
padding: 16px 0px;
height: calc(100% - 70px);
.searchBar {
width: 94%;
margin: 0 auto;
margin-bottom: 8px;
}
.deviceNum {
width: 94%;
margin: 0 auto;
margin-bottom: 8px;
height: 20px;
line-height: 20px;
font-size: 12px;
.el-statistic {
display: flex;
justify-content: center;
align-items: center;
.head {
}
.con {
color: #169e8c;
}
}
}
.radioFilter {
width: 94%;
margin: 0 auto;
margin-bottom: 8px;
font-size: 12px;
display: flex;
justify-content: space-around;
.refresh {
}
.el-radio-group {
display: flex;
align-items: center;
justify-content: center;
.el-radio {
margin-right: 16px;
}
}
}
.el-tree {
overflow-y: scroll;
overflow-x: hidden;
.el-tree-node__content {
height: 32px;
font-size: 12px;
}
.custom-tree-node {
color: #333;
overflow: hidden;
span {
display: flex;
display: inline-table;
overflow: hidden;
align-items: center;
}
.num {
color: #169e8c;
}
}
}
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
//
color: #fff;
background: #169e8c;
.custom-tree-node {
color: #fff;
//overflow: hidden;
span {
display: flex;
//overflow: hidden;
align-items: center;
.num {
color: #fff;
}
.iconfont {
//width: 30px;
display: inline-table;
}
}
}
}
.disconnect {
color: #d3d3d3;
}
}
</style>

@ -380,6 +380,8 @@ export default {
display: flex;
flex-direction: column;
padding: 16px 0px;
height: calc(100% - 70px);
.searchBar {
width: 94%;
margin: 0 auto;

@ -1,7 +1,17 @@
<template>
<div class="realTimeMonitor" v-loading="mainLoading">
<div class="monitor-container">
<sideBar ref="sideTree"></sideBar>
<div class="allSide">
<div class="typeList">
<el-radio-group v-model="typeRadio" size="mini" @input="getTypeRadio">
<el-radio-button :label="-1">全部</el-radio-button>
<el-radio-button :label="1">活动</el-radio-button>
</el-radio-group>
</div>
<sideBar ref="sideTree" v-if="allTreeFlag"></sideBar>
<activeSiderBar ref="activesideTree" v-else></activeSiderBar>
</div>
<div class="picListBox">
<div class="previewBox" v-if="LineFlag">
<!-- 预览图页面 -->
@ -34,12 +44,14 @@
<script>
import { getTerminalPhotoListJoggle } from "@/utils/api/index";
import sideBar from "./components/siderBar";
import activeSiderBar from "./components/activeSiderBar";
import previewContain from "./components/previewContain";
import carouselChart from "./components/carouselChart";
import parameterArea from "./components/parameterArea";
import morePicPreveiw from "./components/morePicPreveiw";
import { mapGetters, mapState } from "vuex";
import ActiveSiderBar from "./components/activeSiderBar.vue";
export default {
name: "realTimeMonitor",
data() {
@ -56,6 +68,8 @@ export default {
dateValue: "", //
protocolInfo: "",
nopicPath: require("@/assets/img/nopic.jpg"),
typeRadio: -1, //
allTreeFlag: true,
};
},
watch: {
@ -67,6 +81,7 @@ export default {
},
components: {
sideBar,
activeSiderBar,
previewContain,
carouselChart,
parameterArea,
@ -88,6 +103,14 @@ export default {
}, 1000);
},
methods: {
getTypeRadio() {
console.log(this.typeRadio);
if (this.typeRadio == -1) {
this.allTreeFlag = true;
} else {
this.allTreeFlag = false;
}
},
getCurrentData(data) {
console.log("执行父组件", this.treeSelectData);
if (this.treeSelectData.dyValue) {
@ -103,7 +126,7 @@ export default {
this.page
);
});
} else if (this.treeSelectData.bsManufacturer) {
} else if (this.treeSelectData.dyLevelId) {
console.log("线路");
this.LineFlag = true;
this.towerFlag = false;
@ -205,6 +228,14 @@ export default {
background: #ffffff;
border: 1px solid #dddddd;
border-radius: 4px;
.allSide {
height: 100%;
.typeList {
width: 94%;
margin: 0 auto;
margin-top: 8px;
}
}
.picListBox {
display: flex;
width: 100%;

@ -35,25 +35,40 @@
</el-select>
</el-form-item>
<el-form-item label="是否在线" class="isonLineClass">
<el-select v-model="formdata.isonline" filterable>
<el-option
v-for="item in onlineOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-select v-model="formdata.isonline" filterable>
<el-option
v-for="item in onlineOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="规约" class="isonLineClass">
<el-select v-model="formdata.protocol" filterable>
<el-option
v-for="item in protocolOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-select v-model="formdata.protocol" filterable>
<el-option
v-for="item in protocolOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="活动" class="activitybox">
<el-select
@keyup.enter.native="onSubmit()"
v-model="formdata.activityId"
filterable
@change="changeActive"
>
<el-option
v-for="item in activityOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="开始日期" class="dateclass">
<el-date-picker
v-model="formdata.starttime"
@ -96,7 +111,6 @@
stripe
style="width: 100%"
:height="tableheight"
>
<template slot="empty">
<el-empty :image-size="160" description="暂无数据"></el-empty>
@ -107,107 +121,187 @@
</template>
</el-table-column>
<el-table-column prop="dyName" label="电压等级" fixed show-overflow-tooltip> </el-table-column>
<el-table-column prop="lineName" label="线路名称" min-width="180" fixed> </el-table-column>
<el-table-column prop="towerName" label="杆塔名称" min-width="180" show-overflow-tooltip fixed> </el-table-column>
<el-table-column
prop="dyName"
label="电压等级"
fixed
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="lineName" label="线路名称" min-width="180" fixed>
</el-table-column>
<el-table-column
prop="towerName"
label="杆塔名称"
min-width="180"
show-overflow-tooltip
fixed
>
</el-table-column>
<!-- <el-table-column prop="displayName" label="设备名称" min-width="180" fixed> </el-table-column> -->
<el-table-column prop="cmdid" label="装置id" min-width="180" fixed>
<template slot-scope="scope">
{{ scope.row.cmdid }}
</template
>
{{ scope.row.cmdid }}
</template>
</el-table-column>
<el-table-column prop="sim" label="SIM卡号" min-width="180">
</el-table-column>
<el-table-column prop="sim" label="SIM卡号" min-width="180"> </el-table-column>
<el-table-column prop="netType" label="网络类型">
<template slot-scope="scope">
<span v-if="scope.row.netType == 1"></span>
<span v-else-if="scope.row.netType == 2">联通</span>
<span v-else-if="scope.row.netType == 3">电信</span>
<span v-if="scope.row.netType == 1"></span>
<span v-else-if="scope.row.netType == 2">联通</span>
<span v-else-if="scope.row.netType == 3">电信</span>
</template>
</el-table-column>
<el-table-column prop="onlinestatus" label="状态">
<template slot-scope="scope">
<span style="color: #169e8c" v-if="scope.row.onlinestatus == 1"
>在线</span
>
<span
style="color: #f56c6c"
v-else-if="scope.row.onlinestatus == 0"
>离线</span
>
</template>
<span style="color: #169e8c" v-if="scope.row.onlinestatus == 1"
>在线</span
>
<span style="color: #f56c6c" v-else-if="scope.row.onlinestatus == 0"
>离线</span
>
</template>
</el-table-column>
<el-table-column prop="model" label="装置型号" min-width="120">
</el-table-column>
<el-table-column prop="bsManufacturer" label="装置厂家">
</el-table-column>
<el-table-column prop="protocolName" label="规约版本" min-width="180">
</el-table-column>
<el-table-column prop="workingDate" label="投运日期" min-width="140">
</el-table-column>
<el-table-column prop="model" label="装置型号" min-width="120"> </el-table-column>
<el-table-column prop="bsManufacturer" label="装置厂家"> </el-table-column>
<el-table-column prop="protocolName" label="规约版本" min-width="180"> </el-table-column>
<el-table-column prop="workingDate" label="投运日期" min-width="140"> </el-table-column>
<el-table-column prop="onlinestatus" label="最新运行状态"> </el-table-column>
<el-table-column prop="photoInfo.totalDays" label="在线天数"> </el-table-column>
<el-table-column prop="photoInfo.photoCount" label="图片数量"> </el-table-column>
<el-table-column prop="photoInfo.lastRecvTime" label="最后数据上送时间" min-width="140"> </el-table-column>
<el-table-column prop="photoInfo.lastPhotoTime" label="最后图片上送时间" min-width="140"> </el-table-column>
<el-table-column prop="onlinestatus" label="最新运行状态">
</el-table-column>
<el-table-column prop="photoInfo.totalDays" label="在线天数">
</el-table-column>
<el-table-column prop="photoInfo.photoCount" label="图片数量">
</el-table-column>
<el-table-column
prop="photoInfo.lastRecvTime"
label="最后数据上送时间"
min-width="140"
>
</el-table-column>
<el-table-column
prop="photoInfo.lastPhotoTime"
label="最后图片上送时间"
min-width="140"
>
</el-table-column>
<el-table-column prop="lastInfo.updateTimeStr" label="最新基本信息采集时间" min-width="140"> </el-table-column>
<el-table-column prop="lastInfo.equipName" label="装置名称" min-width="150"> </el-table-column>
<el-table-column prop="lastInfo.model" label="装置型号" min-width="120"> </el-table-column>
<el-table-column prop="lastInfo.version" label="装置版本号"> </el-table-column>
<el-table-column prop="lastInfo.bsManu" label="生产厂家" min-width="120" show-overflow-tooltip> </el-table-column>
<el-table-column prop="lastInfo.productionDate" label="生产日期" min-width="140"> </el-table-column>
<el-table-column prop="lastInfo.bsId" label="出厂编号" min-width="150"> </el-table-column>
<el-table-column
prop="lastInfo.updateTimeStr"
label="最新基本信息采集时间"
min-width="140"
>
</el-table-column>
<el-table-column
prop="lastInfo.equipName"
label="装置名称"
min-width="150"
>
</el-table-column>
<el-table-column prop="lastInfo.model" label="装置型号" min-width="120">
</el-table-column>
<el-table-column prop="lastInfo.version" label="装置版本号">
</el-table-column>
<el-table-column
prop="lastInfo.bsManu"
label="生产厂家"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="lastInfo.productionDate"
label="生产日期"
min-width="140"
>
</el-table-column>
<el-table-column prop="lastInfo.bsId" label="出厂编号" min-width="150">
</el-table-column>
<el-table-column prop="workingStatus.wsUpdateTime" label="最新工作状态采集时间" min-width="140">
<el-table-column
prop="workingStatus.wsUpdateTime"
label="最新工作状态采集时间"
min-width="140"
>
<template slot-scope="scope">
{{
scope.row.workingStatus.wsUpdateTime == 0 ||
scope.row.workingStatus.wsUpdateTime == null
? ""
: $moment(scope.row.workingStatus.wsUpdateTime * 1000).format(
"YYYY-MM-DD HH:mm:ss"
)
}}</template
>
</el-table-column>
<el-table-column prop="workingStatus.batteryVoltage" label="电源电压">
</el-table-column>
<el-table-column prop="workingStatus.opTemperature" label="工作温度">
</el-table-column>
<el-table-column prop="workingStatus.batteryCapacity" label="电池电量">
</el-table-column>
<el-table-column prop="workingStatus.floatingCharge" label="浮充状态">
</el-table-column>
<el-table-column
prop="workingStatus.totalWorkingTime"
label="工作总时间"
>
</el-table-column>
<el-table-column prop="workingStatus.workingTime" label="连续工作时间">
</el-table-column>
<el-table-column
prop="workingStatus.connectionState"
label="网络连接状态"
>
</el-table-column>
{{
scope.row.workingStatus.wsUpdateTime == 0 || scope.row.workingStatus.wsUpdateTime == null
? ""
: $moment(scope.row.workingStatus.wsUpdateTime * 1000).format(
"YYYY-MM-DD HH:mm:ss"
)
}}</template
> </el-table-column>
<el-table-column prop="workingStatus.batteryVoltage" label="电源电压"> </el-table-column>
<el-table-column prop="workingStatus.opTemperature" label="工作温度"> </el-table-column>
<el-table-column prop="workingStatus.batteryCapacity" label="电池电量"> </el-table-column>
<el-table-column prop="workingStatus.floatingCharge" label="浮充状态"> </el-table-column>
<el-table-column prop="workingStatus.totalWorkingTime" label="工作总时间"> </el-table-column>
<el-table-column prop="workingStatus.workingTime" label="连续工作时间"> </el-table-column>
<el-table-column prop="workingStatus.connectionState" label="网络连接状态"> </el-table-column>
<el-table-column prop="workingStatus.wsUpdateTime" label="最新运行状态采集时间" min-width="140">
<el-table-column
prop="workingStatus.wsUpdateTime"
label="最新运行状态采集时间"
min-width="140"
>
<template slot-scope="scope">
{{
scope.row.workingStatus.wsUpdateTime == 0 || scope.row.workingStatus.wsUpdateTime == null
? ""
: $moment(scope.row.workingStatus.wsUpdateTime * 1000).format(
"YYYY-MM-DD HH:mm:ss"
)
}}</template
{{
scope.row.workingStatus.wsUpdateTime == 0 ||
scope.row.workingStatus.wsUpdateTime == null
? ""
: $moment(scope.row.workingStatus.wsUpdateTime * 1000).format(
"YYYY-MM-DD HH:mm:ss"
)
}}</template
>
</el-table-column>
<el-table-column prop="workingStatus.signalStrength4g" label="4G信号强度"> </el-table-column>
<el-table-column prop="workingStatus.signalStrength2g" label="2G信号强度"> </el-table-column>
<el-table-column prop="workingStatus.remainingRam" label="剩余运行内存"> </el-table-column>
<el-table-column prop="workingStatus.remainingRom" label="剩余存储内"> </el-table-column>
<el-table-column
prop="workingStatus.signalStrength4g"
label="4G信号强度"
>
</el-table-column>
<el-table-column
prop="workingStatus.signalStrength2g"
label="2G信号强度"
>
</el-table-column>
<el-table-column prop="workingStatus.remainingRam" label="剩余运行内存">
</el-table-column>
<el-table-column prop="workingStatus.remainingRom" label="剩余存储内">
</el-table-column>
<el-table-column prop="lastGps.updatetime" label="最新GPS位置采集时间" min-width="140"> </el-table-column>
<el-table-column
prop="lastGps.updatetime"
label="最新GPS位置采集时间"
min-width="140"
>
</el-table-column>
<el-table-column prop="lastGps.radius" label="半径"> </el-table-column>
<el-table-column prop="lastGps.latitude" label="维度"> </el-table-column>
<el-table-column prop="lastGps.longitude" label="经度"> </el-table-column>
<el-table-column prop="lastGps.latitude" label="维度">
</el-table-column>
<el-table-column prop="lastGps.longitude" label="经度">
</el-table-column>
</el-table>
<div class="pageNation">
<el-pagination
@ -227,7 +321,12 @@
</div>
</template>
<script>
import { gettermAllList, getSearchInfo , getProtocolList,} from "@/utils/api/reportApi";
import {
gettermAllList,
getSearchInfo,
getProtocolList,
getActivityApi,
} from "@/utils/api/reportApi";
// import ipDialog from "./components/ipDialog";
// import photoDialog from "./components/termAllList";
export default {
@ -247,6 +346,7 @@ export default {
dyOptions: [{ id: -1, name: "全部" }], //
xlOptions: [{ id: -1, name: "全部" }], //线
gtOptions: [{ id: -1, name: "全部" }], //
activityOptions: [{ id: -1, name: "全部" }], //
onlineOptions: [
{ id: -1, name: "全部" },
{ id: 1, name: "在线" },
@ -257,8 +357,9 @@ export default {
dyid: -1,
lineid: -1,
towerid: -1,
isonline:-1,
protocol:-1,
isonline: -1,
protocol: -1,
activityId: -1,
starttime: new Date(new Date().setHours(0, 0, 0, 0)).getTime(), // 00:00:00
endtime: new Date(new Date().setHours(23, 59, 59, 0)).getTime(), // 23:59:59
search: "",
@ -275,6 +376,7 @@ export default {
mounted() {
this.getSearchdy();
this.getProtocol();
this.getactiveList();
},
watch: {},
methods: {
@ -316,6 +418,28 @@ export default {
})
.catch((err) => {});
},
//
getactiveList() {
getActivityApi()
.then((res) => {
console.log(res);
// this.activityOptions = this.activityOptions.concat(res.data.list);
let activeArr = res.data.map((item) => ({
id: item.id,
name: item.title,
}));
this.activityOptions = this.activityOptions.concat(activeArr);
this.formdata.activityId = this.activityOptions[0].id;
// this.formdata.activityId =
// JSON.parse(localStorage.getItem("activeId")) !== null
// ? JSON.parse(localStorage.getItem("activeId"))
// : this.activityOptions[0].id;
})
.catch((err) => {});
},
changeActive(val) {
//localStorage.setItem("activeId", JSON.stringify(val));
},
onSubmit() {
if (this.formdata.starttime > this.formdata.endtime) {
return this.$message({
@ -355,6 +479,9 @@ export default {
if (this.formdata.protocol !== -1) {
params.protocol = this.formdata.protocol;
}
if (this.formdata.activityId !== -1) {
params.activityId = this.formdata.activityId;
}
if (this.formdata.search !== "") {
params.cmdid = this.formdata.search;
}

@ -44,6 +44,21 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="活动" class="activitybox">
<el-select
@keyup.enter.native="onSubmit()"
v-model="formdata.activityId"
filterable
@change="changeActive"
>
<el-option
v-for="item in activityOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="开始日期" class="dateclass">
<el-date-picker
v-model="formdata.starttime"
@ -207,7 +222,11 @@
</div>
</template>
<script>
import { gettermAllList, getSearchInfo } from "@/utils/api/reportApi";
import {
gettermAllList,
getSearchInfo,
getActivityApi,
} from "@/utils/api/reportApi";
import ipDialog from "./components/ipDialog";
import photoDialog from "./components/photoList";
export default {
@ -227,6 +246,7 @@ export default {
dyOptions: [{ id: -1, name: "全部" }], //
xlOptions: [{ id: -1, name: "全部" }], //线
gtOptions: [{ id: -1, name: "全部" }], //
activityOptions: [{ id: -1, name: "全部" }], //
tdOptions: [
{ id: -1, name: "全部" },
{ id: 1, name: "通道1" },
@ -239,6 +259,7 @@ export default {
lineid: -1,
towerid: -1,
channelid: -1,
activityId: -1,
starttime: new Date(new Date().setHours(0, 0, 0, 0)).getTime(), // 00:00:00
endtime: new Date(new Date().setHours(23, 59, 59, 0)).getTime(), // 23:59:59
search: "",
@ -254,6 +275,7 @@ export default {
created() {},
mounted() {
this.getSearchdy();
this.getactiveList();
},
watch: {},
methods: {
@ -285,6 +307,28 @@ export default {
})
.catch((err) => {});
},
//
getactiveList() {
getActivityApi()
.then((res) => {
console.log(res);
// this.activityOptions = this.activityOptions.concat(res.data.list);
let activeArr = res.data.map((item) => ({
id: item.id,
name: item.title,
}));
this.activityOptions = this.activityOptions.concat(activeArr);
this.formdata.activityId = this.activityOptions[0].id;
// this.formdata.activityId =
// JSON.parse(localStorage.getItem("activeId")) !== null
// ? JSON.parse(localStorage.getItem("activeId"))
// : this.activityOptions[0].id;
})
.catch((err) => {});
},
changeActive(val) {
// localStorage.setItem("activeId", JSON.stringify(val));
},
onSubmit() {
if (this.formdata.starttime > this.formdata.endtime) {
return this.$message({
@ -321,6 +365,9 @@ export default {
if (this.formdata.channelid !== -1) {
params.channelId = this.formdata.channelid;
}
if (this.formdata.activityId !== -1) {
params.activityId = this.formdata.activityId;
}
if (this.formdata.search !== "") {
params.cmdid = this.formdata.search;
}

Loading…
Cancel
Save