| | |
| | | <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"> |
| | |
| | | |
| | | <el-table-column prop="count" align="center" label="整改数量" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | <!-- <el-pagination |
| | | @current-change="refrash" |
| | | @size-change="handleSizeChange" |
| | | :current-page="page" |
| | |
| | | :page-sizes="[5, 10, 15, 20, 25]" |
| | | :total="solvedTotal" |
| | | background |
| | | ></el-pagination> |
| | | ></el-pagination> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | }, |
| | | |
| | | { |
| | | name: "推送管理", |
| | | name: "用户管理", |
| | | icon: "/images/manageCenter/push.png", |
| | | openPath: "/report", |
| | | path: "/report", |
| | | permission: "dataPushMng" |
| | | openPath: "/subAccount", |
| | | path: "/subAccount", |
| | | permission: "accountMng" |
| | | }, |
| | | |
| | | { |
| | | name: "数据上传", |
| | | icon: "/images/manageCenter/push.png", |
| | | openPath: "/dataPush", |
| | | path: "/dataPush", |
| | | permission: "reportMng" |
| | | }, |
| | | |
| | | { |
| | | name: "数据报表", |
| | | icon: "/images/manageCenter/push.png", |
| | | openPath: "/dataReport", |
| | | path: "/dataReport", |
| | | permission: "" |
| | | }, |
| | | |
| | | { |
| | |
| | | openPath: "/video", |
| | | path: "/video", |
| | | permission: "videoMng" |
| | | }, |
| | | { |
| | | name: "点位变更", |
| | | icon: "/images/manageCenter/cam.png", |
| | | openPath: "/invalidCamera", |
| | | path: "/invalidCamera", |
| | | permission: "positionMng" |
| | | } |
| | | ], |
| | | cameraTree: [], |
| | |
| | | "rgb(255, 124, 31)", |
| | | "rgb(165, 96, 255)" |
| | | ], |
| | | tooltip: { |
| | | trigger: "item", |
| | | formatter: "{b} {d}%" //只要百分比 |
| | | }, |
| | | series: [ |
| | | { |
| | | name: "Nightingale Chart", |
| | |
| | | }, |
| | | label: { |
| | | show: false |
| | | //formatter: '{b} : {c} ({d}%)' //带当前图例名 + 百分比 |
| | | }, |
| | | |
| | | data: [] |
| | | } |
| | | ] |
| | |
| | | if (rsp && rsp.success) { |
| | | this.decodeWarningRate(rsp.data.warningRate) |
| | | this.decodeWarningChartRate(rsp.data.warningChartRate) |
| | | this.decodeWarningStatics(rsp.data.warningTable) |
| | | this.decodeWarningTable(rsp.data.warningStatics) |
| | | this.decodeWarningStatics(rsp.data.warningStatics) |
| | | this.decodeWarningTable(rsp.data.warningTable) |
| | | } |
| | | }) |
| | | }, |
| | | decodeWarningTable(b64data) { |
| | | // 整改列表 |
| | | decodeWarningStatics(b64data) { |
| | | this.solvedTotal = 0 |
| | | this.tableDataList = [] |
| | | if (b64data) { |
| | | let decodeString = Base64.decode(b64data) |
| | | if (decodeString != "") { |
| | | let decodeResult = JSON.parse(decodeString) |
| | | decodeResult = [] |
| | | if (decodeResult) { |
| | | // console.log("decodeResult", decodeResult) |
| | | // 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 |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // 折线图 |
| | | decodeWarningStatics(b64data) { |
| | | decodeWarningTable(b64data) { |
| | | this.lineChart.clear() |
| | | this.barOption.xAxis.data = [] |
| | | this.barOption.series[0].data = [] |
| | |
| | | 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 |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | |
| | | this.pieChart.setOption(this.pieOption) |
| | | }, |
| | | jump(route) { |
| | | const userInfo = JSON.parse(sessionStorage.getItem("userInfo")) |
| | | |
| | | const val = userInfo.permissions.find((item) => { |
| | | return item == route.permission |
| | | const { href } = this.$router.resolve({ |
| | | path: route.path |
| | | }) |
| | | if (val) { |
| | | if (route.path === "/search" || route.path === "/dataView") { |
| | | const { href } = this.$router.resolve({ |
| | | path: route.path |
| | | }) |
| | | window.open(href, "_blank") |
| | | return |
| | | } |
| | | this.$router.push(route.path) |
| | | } else if (!userInfo.parentId) { |
| | | this.$router.push(route.openPath) |
| | | } |
| | | window.open(href, "_blank") |
| | | }, |
| | | refrash() {}, |
| | | handleSizeChange() {}, |
| | |
| | | display: flex; |
| | | |
| | | .productItem { |
| | | margin-right: 20px; |
| | | margin: 0px 10px; |
| | | width: 190px; |
| | | height: 90px; |
| | | display: flex; |