| | |
| | | <template> |
| | | <div style="padding: 20px;"> |
| | | <el-tabs v-model="activeName"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane name="reportDownload"> |
| | | <span slot="label"><i class="el-icon-s-home"></i> 自定义报表</span> |
| | | <reportDownload :activeName.sync="activeName" @aaa="aaa" :tableData.sync="tableData"></reportDownload> |
| | | <reportDownload :activeName.sync="activeName" @commit="getFormList" :tableData.sync="tableData"></reportDownload> |
| | | </el-tab-pane> |
| | | <el-tab-pane name="point"> |
| | | <el-tab-pane name="formList"> |
| | | <span slot="label"><i class="el-icon-s-platform"></i> 报表下载</span> |
| | | <div> |
| | | <el-table :data="tableData" stripe style="width: 100%"> |
| | | <el-table-column prop="formName" label="报表名称" width="180"> </el-table-column> |
| | | <el-table-column prop="formType" label="报表类型" width="180"> </el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" width="280"> </el-table-column> |
| | | <el-table-column prop="formName" label="报表名称"> </el-table-column> |
| | | <el-table-column prop="formType" label="报表类型"> </el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间"> </el-table-column> |
| | | <!-- <el-table-column prop="createTime" label="创建时间"> </el-table-column> --> |
| | | <el-table-column label="操作"> |
| | | <el-table-column label="操作" width="100"> |
| | | <template slot-scope="scope"> |
| | | <a :href="scope.row.url">{{ scope.row.url }}</a> |
| | | <a :href="scope.row.url">{{ "下载" }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | |
| | | <script> |
| | | import reportDownload from "./reportDownload.vue" |
| | | // import point from "./point.vue" |
| | | // import alarmPush from "./alarmPush.vue" |
| | | import { addAreaTreeData, reportFormGetExport } from "@/api/area" |
| | | |
| | | export default { |
| | | components: { |
| | | reportDownload |
| | | // point, |
| | | // alarmPush |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | methods: { |
| | | refrash(page) { |
| | | this.page = page |
| | | this.lookUp() |
| | | this.getFormList() |
| | | }, |
| | | handleSizeChange(size) { |
| | | this.size = size |
| | | this.lookUp() |
| | | this.getFormList() |
| | | }, |
| | | |
| | | async aaa() { |
| | | async getFormList() { |
| | | // console.log(row, "|row") |
| | | let query = { |
| | | FormType: "", |
| | | KeyWords: "", |
| | | StartTime: "", |
| | | EndTime: "", |
| | | Page: 10, |
| | | Size: 1 |
| | | Page: this.page, |
| | | Size: this.size |
| | | } |
| | | let res = await reportFormGetExport(query) |
| | | this.tableData = res.data.list |
| | | this.total = res.data.total |
| | | |
| | | console.log(res, "r22222222222es") |
| | | }, |
| | | handleClick(tab,event) { |
| | | console.log(tab, event) |
| | | if (tab.name == "formList") { |
| | | this.getFormList() |
| | | } |
| | | } |
| | | // handleClick(row) { |
| | | // console.log(row, "row") |
| | | // } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | } |
| | | reportFormExportForm(query).then((res) => { |
| | | console.log(res, "res") |
| | | this.$emit("update:tableData", res.data.list) |
| | | this.$emit("aaa") |
| | | this.$emit("update:activeName", "point") |
| | | // this.$emit("update:tableData", res.data.list) |
| | | this.$emit("commit") |
| | | this.$emit("update:activeName", "formList") |
| | | }) |
| | | // let res = await reportFormExportForm(query) |
| | | |
| | | // console.log(this.activeName, "activeName") |
| | | // this.$emit("update:titles", this.ruleForm.titles) |
| | | // console.log(this.activeName, "activeName") |
| | | } else { |
| | | console.log("error submit!!") |
| | | return false |
| | |
| | | |
| | | <script> |
| | | import IndexHeader from "@/components/IndexHeader" |
| | | // import DevList from "@/views/report/components/DevList" |
| | | import dataReport from "./components/dataReport.vue" |
| | | // import SettingBox from "@ /views/report/components/SettingBox" |
| | | import Footer from "@/components/Footer" |
| | | |
| | | export default { |
| | |
| | | >路 |
| | | </div> |
| | | </div> |
| | | <div class="detailItem" @click="dialogVisible = true"> |
| | | <div class="detailItem click" @click="showDetail"> |
| | | <div class="label" title="因未知原因未处理"><span class="iconfont"></span>因未知原因未处理</div> |
| | | <div class="data"> |
| | | <span class="number">{{ hashrate.noDeal }}</span |
| | |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | title="异常数据查询" |
| | | title="取流异常数据" |
| | | destroy-on-close |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | width="70%" |
| | | :before-close="handleClose" |
| | | > |
| | | <!-- <div style="width: 600px"> |
| | | v-if="dialogVisible" |
| | | </div> --> |
| | | <el-row :gutter="50"> |
| | | <el-col :span="15"> |
| | | <el-form label-width="140px"> |
| | | <el-form-item label="摄像机名称/通道号"> |
| | | <el-input placeholder="请输出摄像机名称/通道号" v-model="id"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="9"><el-button type="primary">查询</el-button></el-col> |
| | | </el-row> |
| | | <el-table :data="tableData" stripe style="width: 100%"> |
| | | <el-table-column prop="date" label="日期" width="180"> </el-table-column> |
| | | <el-table-column prop="name" label="姓名" width="180"> </el-table-column> |
| | | <el-table-column prop="address" label="地址"> </el-table-column> |
| | | <el-table-column prop="device" label="设备" > </el-table-column> |
| | | <el-table-column prop="name" label="名称" > </el-table-column> |
| | | <el-table-column prop="rtsp" label="通道号"> </el-table-column> |
| | | </el-table> |
| | | <div> |
| | | <el-pagination |
| | | @current-change="refrash" |
| | | @size-change="handleSizeChange" |
| | | :current-page="page" |
| | | :page-size="size" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :page-sizes="[5, 10, 15, 20, 25]" |
| | | :total="total" |
| | | background |
| | | ></el-pagination> |
| | | </div> |
| | | <!-- <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false">确 定</el-button> |
| | | </span> --> |
| | | |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | id: "", |
| | | dialogVisible: false, |
| | | tableData: [ |
| | | { |
| | | date: "2016-05-02", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1518 弄" |
| | | }, |
| | | { |
| | | date: "2016-05-04", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1517 弄" |
| | | }, |
| | | { |
| | | date: "2016-05-01", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1519 弄" |
| | | }, |
| | | { |
| | | date: "2016-05-03", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1516 弄" |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | methods: { |
| | | showDetail() { |
| | | console.log(this.hashrate) |
| | | |
| | | // 有断流摄像机的信息才显示, 其他原因不展示明细 |
| | | if (this.hashrate.hasOwnProperty("duanliu") && this.hashrate.duanliu.length > 0) { |
| | | this.tableData = [] |
| | | this.hashrate.duanliu.forEach(element => { |
| | | let cameraInfo = element.split("->") |
| | | this.tableData.push({ |
| | | "device":cameraInfo[0], |
| | | "name":cameraInfo[1], |
| | | "rtsp":cameraInfo[2] |
| | | }) |
| | | }); |
| | | |
| | | this.dialogVisible = true |
| | | } |
| | | }, |
| | | refrash(page) { |
| | | this.page = page |
| | | this.lookUp() |
| | |
| | | border-right: 1px solid #e9ebee; |
| | | } |
| | | } |
| | | |
| | | .click{ |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .el-pagination ::v-deep { |
| | |
| | | res1.data.realRunningCount - |
| | | res1.data.realInvalidCount, |
| | | }; |
| | | if (res1.data.hasOwnProperty("duanliuID")) { |
| | | this.realTime["duanliu"] = [...new Set(res1.data.duanliuID)] |
| | | |
| | | this.realTime.noDeal += this.realTime["duanliu"].length |
| | | } |
| | | |
| | | this.polling = { |
| | | valid: res1.data.pollTotal, |
| | | total: res1.data.pollChannelCount, |