New file |
| | |
| | | import request from "@/scripts/httpRequest" |
| | | import qs from "qs" |
| | | /** |
| | | * 根据事件推送主题的一级和二级选项获取最后下拉菜单列表 |
| | | */ |
| | | export const getInvalidCamList = (query: any) => { |
| | | return request({ |
| | | url: "/saas/api-s/hik/invalidCamList", |
| | | method: "get", |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | path: "/webroot", |
| | | name: "webroot", |
| | | component: () => import(/* webpackChunkName: "about" */ "../views/webroot") |
| | | }, |
| | | { |
| | | path: "/invalidCamera", |
| | | name: "invalidCamera", |
| | | component: () => import(/* webpackChunkName: "about" */ "../views/invalidCamera") |
| | | } |
| | | ] |
| | | |
New file |
| | |
| | | <template> |
| | | <div class="event-data"> |
| | | <div class="title">点位变更查询</div> |
| | | <!-- <hr /> --> |
| | | <div class="cluster"> |
| | | <el-date-picker |
| | | v-model="searchTime" |
| | | @change="searchingBtn" |
| | | type="datetimerange" |
| | | size="small" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :default-time="['00:00:00', '23:59:59']" |
| | | ></el-date-picker> |
| | | <el-button type="primary">主要按钮</el-button> |
| | | </div> |
| | | <div class="table-area"> |
| | | <el-table :header-cell-style="{ background: '#f0f3f5' }"> |
| | | <el-table-column label="变更时间" width="420px"></el-table-column> |
| | | <el-table-column label="设备ID" width="440px"></el-table-column> |
| | | <el-table-column label="设备名称" width="420"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div> |
| | | <el-pagination |
| | | :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> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default {} |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .event-data { |
| | | padding: 20px; |
| | | width: 1280px; |
| | | height: 1000px; |
| | | background-color: #fff; |
| | | margin: 0 auto; |
| | | margin-top: 20px; |
| | | .title { |
| | | margin-bottom: 20px; |
| | | height: 20px; |
| | | font-weight: 700; |
| | | color: #000; |
| | | padding: 20px 0 30px 0; |
| | | font-weight: normal; |
| | | border-bottom: 1px solid #e9ebee; |
| | | } |
| | | .cluster { |
| | | padding-top: 30px; |
| | | } |
| | | .cluster { |
| | | .el-select { |
| | | width: 230px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | } |
| | | .el-button { |
| | | margin-left: 30px; |
| | | } |
| | | } |
| | | .table-area { |
| | | padding-top: 30px; |
| | | } |
| | | .el-pagination ::v-deep { |
| | | margin-top: 30px; |
| | | text-align: right; |
| | | height: 24px; |
| | | .el-pagination__sizes { |
| | | margin-right: 0; |
| | | } |
| | | |
| | | button { |
| | | margin: 0; |
| | | background-color: #fff; |
| | | border: 1px solid #c0c5cc; |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .number { |
| | | background-color: #fff; |
| | | |
| | | &:not(.disabled):hover { |
| | | color: #0065ff; |
| | | } |
| | | |
| | | &:not(.disabled).active { |
| | | background-color: #0065ff; |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .el-input .el-input__inner { |
| | | padding-left: 0; |
| | | |
| | | &:hover, |
| | | &:focus { |
| | | border-color: #0065ff; |
| | | } |
| | | } |
| | | |
| | | .el-pagination__jump { |
| | | margin-left: 12px; |
| | | .el-pagination__editor { |
| | | width: 37px; |
| | | input { |
| | | width: 32px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="data-change"> |
| | | <IndexHeader :opacity="false"></IndexHeader> |
| | | <DevBox></DevBox> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import DevBox from "@/views/chang/components/DevBox.vue" |
| | | import IndexHeader from "@/components/IndexHeader" |
| | | export default { |
| | | components: { |
| | | IndexHeader, |
| | | DevBox |
| | | }, |
| | | created() {} |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .data-change { |
| | | background-color: rgb(243, 245, 248); |
| | | min-height: 100vh; |
| | | } |
| | | </style> |
| | |
| | | <div class="products"> |
| | | <div class="title">统计分析</div> |
| | | <div class="productList"> |
| | | <p class="p-statis" style=" vertical-align: top"> |
| | | <p class="p-statis" style="vertical-align: top"> |
| | | <span>时间:</span> |
| | | <el-date-picker |
| | | size="mini" |
| | |
| | | <span>部门:</span> |
| | | <el-cascader |
| | | size="mini" |
| | | style="width:400px" |
| | | style="width: 400px" |
| | | v-model="searchTree" |
| | | :options="menuTree" |
| | | :props="{ value: 'id', label: 'name', checkStrictly: true }" |
| | |
| | | clearable |
| | | collapse-tags |
| | | size="mini" |
| | | style="width:140px" |
| | | style="width: 140px" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | |
| | | <div class="left"> |
| | | <div class="title">预警数据占比:</div> |
| | | <div class="info"> |
| | | <div class="equipmentInfo" style="margin-top:25px"> |
| | | <div class="equipmentInfo" style="margin-top: 25px"> |
| | | <div class="equipmentCard"> |
| | | <div class="label">整改总量</div> |
| | | <div class="number"> |
| | |
| | | openPath: "/video", |
| | | path: "/video", |
| | | permission: "videoMng" |
| | | }, |
| | | { |
| | | name: "点位变更", |
| | | icon: "/images/manageCenter/manage.png", |
| | | openPath: "/invalidCamera", |
| | | path: "/invalidCamera", |
| | | permission: "invalidCamera" |
| | | } |
| | | ], |
| | | cameraTree: [], |
| | |
| | | console.log("warningStatics", decodeResult) |
| | | decodeResult.forEach((element) => { |
| | | this.solvedTotal = this.solvedTotal + element.doc_count |
| | | this.tableDataList.push({ date: element.key_as_string, count: element.doc_count }) |
| | | this.tableDataList.push({ |
| | | date: element.key_as_string, |
| | | count: element.doc_count |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | |
| | | let decodeResult = JSON.parse(decodeString) |
| | | if (decodeResult) { |
| | | decodeResult.forEach((element) => { |
| | | this.pieOption.series[0].data.push({ value: element.doc_count, name: element.key }) |
| | | this.pieOption.series[0].data.push({ |
| | | value: element.doc_count, |
| | | name: element.key |
| | | }) |
| | | }) |
| | | } |
| | | } |