From baf475f44f0a940bbdc2dde36fff9cdf97da58bc Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 17 八月 2023 16:43:28 +0800
Subject: [PATCH] 证书修改
---
src/views/intellectInspect/inspectIndex/index.vue | 461 +++++++++++++++++++--------------------------------------
1 files changed, 153 insertions(+), 308 deletions(-)
diff --git a/src/views/intellectInspect/inspectIndex/index.vue b/src/views/intellectInspect/inspectIndex/index.vue
index 7be559d..43b8aae 100644
--- a/src/views/intellectInspect/inspectIndex/index.vue
+++ b/src/views/intellectInspect/inspectIndex/index.vue
@@ -1,17 +1,11 @@
<template>
- <div class="home-container" :class="isFull==true?'container':''" id="bigScreen">
+ <div class="home-container">
<div class="full">
- <el-button v-if="isFull==false" type="text" style="height: 34px" @click="toFullscreen">
+ <el-button type="text" style="height: 34px" @click="toFullscreen">
<el-icon style="vertical-align: middle">
<FullScreen />
</el-icon>
<span style="vertical-align: middle">全屏</span>
- </el-button>
- <el-button v-else type="text" style="height: 34px" @click="toFullscreen">
- <el-icon style="vertical-align: middle">
- <Close />
- </el-icon>
- <span style="vertical-align: middle">退出全屏</span>
</el-button>
</div>
<div style="height: 100%">
@@ -19,28 +13,33 @@
<div class="chart-item">
<div class="chart-tit">
<span class="tit">年度巡检异常趋势</span>
+ <div class="filter-part">
+ <el-cascader v-model="searchDepId" :options="depList" :props="casProps" :show-all-levels="false" size="small"/>
+ </div>
</div>
<div class="chart" :id="xjLine"></div>
</div>
<div class="chart-item">
<div class="chart-tit">
<span class="tit">异常区域设备统计</span>
- <div class="filter-part">
+ <div class="filter-part2">
<el-switch
- v-model="chartStatus"
+ v-model="searchQuery.regionType"
inline-prompt
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #13ce66"
active-text="区域"
inactive-text="设备"
+ :active-value="2"
+ :inactive-value="3"
/>
</div>
</div>
<div class="chart" :id="sbtj"></div>
- <el-radio-group v-model="period" size="small">
- <el-radio border label="week">近7天</el-radio>
- <el-radio border label="month">近30天</el-radio>
- <el-radio border label="season">近90天</el-radio>
- <el-radio border label="year">近一年</el-radio>
+ <el-radio-group v-model="searchQuery.timeType" size="small">
+ <el-radio border :label="1">近7天</el-radio>
+ <el-radio border :label="2">近30天</el-radio>
+ <el-radio border :label="3">近90天</el-radio>
+ <el-radio border :label="4">近一年</el-radio>
</el-radio-group>
</div>
</div>
@@ -164,7 +163,7 @@
<div style="margin-bottom: 20px">
<div style="margin-bottom: 10px">处置前:</div>
<div v-if="beImgs && beImgs.length>0">
- <el-image v-for="(item,index) in beImgs" :key="index" style="width: 100px; height: 100px" :src="item" fit="fill" />
+ <el-image v-for="(item,index) in beImgs" :key="index" style="width: 200px; height: 200px;margin-right: 10px" :src="item" fit="fill" />
</div>
<div v-else>
无照片信息
@@ -173,7 +172,7 @@
<div>
<div style="margin-bottom: 10px">处置后</div>
<div v-if="afImgs && beImgs.length>0">
- <el-image v-for="(item,index) in afImgs" :key="index" style="width: 100px; height: 100px" :src="item" fit="fill" />
+ <el-image v-for="(item,index) in afImgs" :key="index" style="width: 200px; height: 200px;margin-right: 10px" :src="item" fit="fill" />
</div>
<div v-else>
无照片信息
@@ -211,6 +210,8 @@
import unusualList from './components/unusualList.vue';
import { departmentApi } from '/@/api/systemManage/department';
import screenfull from "screenfull";
+import { BorderBox10 as DvBorderBox10 } from '@kjgl77/datav-vue3'
+import {specialIndexApi} from "/@/api/specialWorkSystem/specialIndex";
// 定义接口来定义对象的类型
interface stateType {
tableData: Array<string>;
@@ -228,14 +229,17 @@
classGroupList: Array<classGroup>;
quotaList: [];
inspectPointAllList: [];
- chartStatus:boolean;
- period: string;
- isFull:boolean;
- themeColor:string;
+ searchQuery:{
+ regionType:number;
+ timeType: number;
+ }
dialogVisible:boolean;
workNum: string;
beImgs: [];
- afImgs: []
+ afImgs: [];
+ searchDepId: number|null
+ depList: Array<any>
+ casProps:object
}
interface type {
id: number;
@@ -253,20 +257,20 @@
const xjLine = ref("eChartXjLine" + Date.now() + Math.random())
const sbtj = ref("eChartSbtj" + Date.now() + Math.random())
const state = reactive<stateType>({
- isFull: false,
- themeColor: '#333',
workNum: '',
beImgs: [],
afImgs: [],
pageIndex: 1,
- pageSize: 5,
+ pageSize: 10,
totalSize: 0,
tableData: [],
unusualData: [],
unchecked: null,
unusual: null,
- chartStatus: true,
- period: 'month',
+ searchQuery:{
+ regionType: 2,
+ timeType: 2,
+ },
uncheckedList: [],
abnormalList: [],
workTypeList: [
@@ -281,6 +285,32 @@
{ id: 4, name: '月' },
{ id: 5, name: '年' }
],
+ searchDepId: null,
+ depList: [
+ {
+ name: '电石事业部',
+ depId: 49
+ },
+ {
+ name: '电力事业部',
+ id: 50
+ },
+ {
+ name: '有机化工事业部',
+ id: 48
+ },
+ {
+ name: '甲醇事业部',
+ id: 32
+ }
+ ],
+ casProps: {
+ expandTrigger: 'hover',
+ emitPath: false,
+ value: 'depId',
+ label: 'name',
+ checkStrictly: true
+ },
classGroupList: [],
quotaList: [],
inspectPointAllList: [],
@@ -298,29 +328,22 @@
// 页面载入时执行方法
onMounted(() => {
+ // getDepartmentData();
+ // getCountExcepOrder();
+ // getPieCountExcepOrder();
getInspectRecord();
getListExcepOrder();
getDayData();
- getDepartmentData();
initXjLine()
initSbtj()
});
const toFullscreen =()=>{
- // console.log(state.isFull,'quanp',state.themeColor)
- const element = document.getElementById('bigScreen')
- if (!screenfull.isEnabled) {
- ElMessage.warning('暂不不支持全屏');
- return false;
- }
- screenfull.toggle(element);
- state.isFull = !state.isFull
- if(state.isFull == true){
- state.themeColor = '#11FEEE'
- }else{
- state.themeColor = '#333'
- }
- initXjLine()
- initSbtj()
+ router.push({
+ path: 'inspectFullScreen',
+ query: {
+
+ }
+ })
}
const checkAllRecord =()=>{
inspectListRef.value.departmentList = state.departmentList
@@ -328,6 +351,28 @@
}
const checkAllList =()=>{
unusualListRef.value.showUnusualList()
+ }
+ const getCountExcepOrder = async ()=>{
+ let res = await inspectIndexApi().getCountExcepOrder({depId: state.searchDepId});
+ if (res.data.code === '200') {
+ console.log('折线图趋势数据>>>', res.data.data)
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+ const getPieCountExcepOrder = async ()=>{
+ let res = await inspectIndexApi().getPieCountExcepOrder(state.searchQuery);
+ if (res.data.code === '200') {
+ console.log('饼状图趋势数据>>>', res.data.data)
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
}
const acceptance =(row:object)=>{
ElMessageBox.confirm(
@@ -428,8 +473,7 @@
padding:[1,1,1,0],
textStyle: {
// 设置默认的文字颜色
- color: state.themeColor,
- fontSize: 12
+ color: '#333'
},
},
grid: {
@@ -449,11 +493,21 @@
boundaryGap: false,
data: ['四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', '一月', '二月', '三月'],
axisLabel: {
- color: state.themeColor
+ color: '#333'
}
},
yAxis: {
- type: 'value'
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: '#fafafa',
+ width: 1,
+ type: 'dashed'
+ }
+ },
+ axisLabel:{
+ color: '#ccc'
+ }
},
series: [
{
@@ -518,8 +572,8 @@
top: 'center',
textStyle: {
// 设置默认的文字颜色
- color: state.themeColor,
- fontSize: 12
+ color: '#333',
+ // fontSize: 12
},
itemStyle: {
borderWidth: 0 // 设置图例边框宽度为0
@@ -534,21 +588,29 @@
itemStyle: {
borderRadius: 1,
borderColor: '#fff',
- borderWidth: 2
+ borderWidth: 1
},
label: {
- show: false,
- position: 'center'
- },
- emphasis: {
- label: {
- show: true,
- fontSize: 40,
- fontWeight: 'bold'
- }
+ show: true,
+ position: 'outside',
+ overflow: 'truncate',
+ borderWidth: 0,
+ color: '#333'
},
labelLine: {
- show: true
+ show: true, // 显示指示线
+ lineStyle: {
+ color: '#ccc',
+ width: 1,
+ type: 'solid'
+ }
+ },
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ },
},
data: [
{ value: 1048, name: '区域1' },
@@ -582,7 +644,7 @@
};
// 分页获取
const getListExcepOrder = async () => {
- const data = { pageSize: 4, pageIndex: state.pageIndex };
+ const data = { pageSize: 10, pageIndex: state.pageIndex };
let res = await inspectIndexApi().getListExcepOrderByPage(data);
if (res.data.code === '200') {
state.unusualData = JSON.parse(JSON.stringify(res.data.data.records))
@@ -598,6 +660,14 @@
let res = await departmentApi().getDepartmentList();
if (res.data.code === '200') {
state.departmentList = res.data.data;
+ const newList = []
+ for(let i of state.departmentList[0].children){
+ if(i.depId == 32 || i.depId == 48 ||i.depId == 49 || i.depId == 50){
+ newList.push(i)
+ }
+ }
+ state.depList = newList
+ console.log(state.depList,'3434')
} else {
ElMessage({
type: 'warning',
@@ -679,7 +749,7 @@
...toRefs(state)
};
}
-};
+}
</script>
<style scoped lang="scss">
@@ -698,17 +768,18 @@
height: calc(100vh - 144px);
box-sizing: border-box;
overflow: hidden;
+ overflow-y: scroll;
.full{
position:fixed;
height: 34px;
line-height: 34px;
top: 80px;
right: 20px;
- z-index: 99999;
+ z-index: 9;
}
.topChart{
width: 100%;
- height: calc((100% - 40px) / 3);
+ height: 300px;
display: flex;
justify-content: space-between;
align-items: flex-start;
@@ -740,6 +811,21 @@
font-weight: bolder;
}
.filter-part{
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ :deep(.el-cascader){
+ width: 100% !important;
+ }
+ .el-switch{
+ width: 100% !important;
+ :deep(.el-switch__core){
+ width: 100% !important;
+ }
+ }
+
+ }
+ .filter-part2{
display: flex;
align-items: center;
justify-content: right;
@@ -780,7 +866,6 @@
}
}
.midChart{
- height: calc((100% - 40px) / 3);
width: 100%;
background: #fff;
display: flex;
@@ -803,10 +888,6 @@
.tit{
font-size: 20px;
font-weight: bolder;
- }
- :deep(.el-switch__core){
- width: 120px;
-
}
.top-info {
display: flex;
@@ -845,60 +926,10 @@
width: 100%;
height: 85%;
margin-top: 10px;
-
- .el-table{
- height: 100% !important;
- :deep(.el-table__inner-wrapper){
- height: 100% !important;
- .el-table__header-wrapper {
- height: 20% !important;
- .el-table__header{
- height: 100% !important;
- th{
- height: 100% !important;
- padding: 0 0 !important;
- .cell{
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
- }
- }
- .el-table__body-wrapper {
- height: 80% !important;
- .el-scrollbar__view{
- height: 100% !important;
- .el-table__body{
- height: 100% !important;
- tbody{
- height: 100% !important;
- .el-table__row{
- height: 25% !important;
- td{
- height: 25% !important;
- padding: 0 0 !important;
- .left-info{
- display: flex;
- align-items: center;
- }
- .cell{
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .el-button{
- padding: 0 !important;
- }
- }
- }
- }
- }
- }
- }
- }
+ .left-info{
+ display: flex;
+ align-items: center;
}
-
.pageBtn {
position: absolute;
bottom: 15px;
@@ -932,193 +963,7 @@
}
}
}
-.container{
- padding: 20px;
- background: url('../../../assets/spwbg.png') no-repeat center;
- .full{
- position:fixed;
- background: #fff;
- border-radius: 17px;
- box-shadow: 3px 3px 12px rgba(0,0,0,.2);
- height: 34px;
- line-height: 34px;
- top: 0;
- right: 20px;
- }
- .topChart{
- .chart-item{
- border-radius: 4px;
- background: rgba(8, 109, 209, 0.2);
- border: 1px solid rgba(54, 252, 252, .6);
- backdrop-filter: blur(5px);
- position: relative;
- z-index: 2;
- &:last-of-type{
- position: relative;
- z-index: 1;
- }
- .el-radio.is-bordered.is-checked{
- border-color: #11FEEE !important;
- :deep(.el-radio__inner){
- border-color: #11FEEE !important;
- background: #11FEEE !important;
- }
- :deep(.el-radio__label){
- color: #11FEEE !important
- }
- }
- .chart-tit{
- .tit{
- color: #11FEEE;
- }
- ::v-deep(.el-popper){
- background-color: rgba(10,31,92,1);
- border: 1px solid rgba(17,254,238,.4);
- color: #11FEEE;
- .el-cascader-node{
- .in-active-path{
- background: #0049af;
- }
- &:hover{
- background: #0049af;
- }
- }
- .el-cascader-node__label{
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- .el-select-dropdown__item{
- color: #11FEEE;
- }
- .el-select-dropdown__item.hover{
- background: #0049af;
- }
- }
- ::v-deep(.el-popper__arrow){
- &::before{
- background-color: rgba(10,31,92,.6) !important;
- border: 1px solid rgba(17,254,238,.4);
- }
- }
- ::v-deep(.el-input__wrapper){
- box-shadow: none;
- border: 1px solid rgba(17,254,238,.2);
- background: rgba(10,31,92,.6) !important;
- height: 1.5rem;
- color: #11FEEE;
-
- input{
- font-size: 0.8rem;
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- }
- }
- .chart{
- .el-table {
- color: #11FEEE !important;
- background-color: rgba(0,0,0,0) !important;
- :deep(thead){
- color: #11FEEE !important;
- }
- :deep(tr){
- background-color: rgba(0,0,0,0) !important;
- .el-table__cell{
- background-color: rgba(0,0,0,0) !important;
- }
- }
- }
- }
- }
- }
- .midChart{
- border-radius: 4px;
- background: rgba(8, 109, 209, 0.2);
- border: 1px solid rgba(54, 252, 252, .6);
- backdrop-filter: blur(5px);
- position: relative;
- z-index: 3;
- .tit{
- color: #11FEEE;
- }
- .checkAll{
- cursor: pointer;
- color: #11feee;
- &:hover{
- color: #409eff
- }
- }
- .el-table {
- color: #11FEEE !important;
- background-color: rgba(0,0,0,0) !important;
- :deep(thead){
- color: #11FEEE !important;
- background-color: #092846 !important
- }
- :deep(tr){
- background-color: rgba(0,0,0,0) !important;
- .el-table__cell{
- background-color: rgba(0,0,0,0) !important;
- }
- .el-table-fixed-column--right{
- background-color: #092846 !important
- }
- }
- }
-
- ::v-deep(.el-popper){
- background-color: rgba(10,31,92,1);
- border: 1px solid rgba(17,254,238,.4);
- color: #11FEEE;
- .el-cascader-node{
- .in-active-path{
- background: #0049af;
- }
- &:hover{
- background: #0049af;
- }
- }
- .el-cascader-node__label{
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- .el-select-dropdown__item{
- color: #11FEEE;
- }
- .el-select-dropdown__item.hover{
- background: #0049af;
- }
- }
- ::v-deep(.el-popper__arrow){
- &::before{
- background-color: rgba(10,31,92,.6) !important;
- border: 1px solid rgba(17,254,238,.4);
- }
- }
- ::v-deep(.el-input__wrapper){
- box-shadow: none;
- border: 1px solid rgba(17,254,238,.2);
- background: rgba(10,31,92,.6) !important;
- height: 1.5rem;
- color: #11FEEE;
-
- input{
- font-size: 0.8rem;
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- }
- }
-}
.el-input {
width: 100% !important;
}
--
Gitblit v1.9.2