From d91fd1557ebed3e9bcb8c051c71b9d41c0e36eef Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Tue, 02 Apr 2024 16:50:07 +0800
Subject: [PATCH] Default Changelist
---
src/views/specialWorkSystem/specialIndex/index.vue | 259 +++++++++++++++++++++++++--------------------------
1 files changed, 128 insertions(+), 131 deletions(-)
diff --git a/src/views/specialWorkSystem/specialIndex/index.vue b/src/views/specialWorkSystem/specialIndex/index.vue
index 9e3b2f9..d754f58 100644
--- a/src/views/specialWorkSystem/specialIndex/index.vue
+++ b/src/views/specialWorkSystem/specialIndex/index.vue
@@ -66,20 +66,20 @@
<div class="chart-tit">
<span class="tit">作业警报记录</span>
<div class="filter-part">
- <el-switch
- v-model="chartSearch4.type"
- inline-prompt
- style="--el-switch-on-color: #13ce66; --el-switch-off-color: #13ce66"
- active-text="作业人"
- inactive-text="监护人"
- />
- <el-select :teleported="false" v-model="chartSearch4.period" size="small">
- <el-option label="近7天" value="week"/>
- <el-option label="近30天" value="month"/>
- <el-option label="近90天" value="season"/>
- <el-option label="近1年" value="year"/>
+<!-- <el-switch-->
+<!-- v-model="chartSearch4.type"-->
+<!-- inline-prompt-->
+<!-- style="--el-switch-on-color: #13ce66; --el-switch-off-color: #13ce66"-->
+<!-- active-text="作业人"-->
+<!-- inactive-text="监护人"-->
+<!-- />-->
+ <el-select :teleported="false" v-model="chartSearch4.days" size="small" @change="(value)=>changeTime4(value)">
+ <el-option label="近7天" :value="7"/>
+ <el-option label="近30天" :value="30"/>
+ <el-option label="近90天" :value="90"/>
+ <el-option label="近1年" :value="365"/>
</el-select>
- <el-select :teleported="false" v-model="chartSearch4.workType" size="small">
+ <el-select :teleported="false" v-model="chartSearch4.workType" size="small" @change="changeType4()">
<el-option
v-for="item in workType1"
:key="item.id"
@@ -91,17 +91,17 @@
</div>
<div class="chart">
<el-table ref="multipleTableRef" :data="warningData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">
- <el-table-column property="name" label="姓名" align="center"/>
- <el-table-column property="dep" label="所属部门" align="center"/>
- <el-table-column property="warning" label="异常报警次数" align="center"/>
- <el-table-column property="role" label="角色" align="center"/>
- <el-table-column property="isCard" label="是否持证" align="center">
- <template #default="scope">
- <span>{{scope.row.isCard == 1?'是':'否'}}</span>
- </template>
- </el-table-column>
+ <el-table-column property="operatorUname" label="姓名" align="center"/>
+ <el-table-column property="deptName" label="所属部门" align="center"/>
+ <el-table-column property="warningCount" label="异常报警次数" align="center"/>
+<!-- <el-table-column property="role" label="角色" align="center"/>-->
+<!-- <el-table-column property="isCard" label="是否持证" align="center">-->
+<!-- <template #default="scope">-->
+<!-- <span>{{scope.row.isCard == 1?'是':'否'}}</span>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
</el-table>
- <el-button type="text" size="small" style="margin-top: 10px">所有记录>></el-button>
+<!-- <el-button type="text" size="small" style="margin-top: 10px">所有记录>></el-button>-->
</div>
<!-- <div class="chart" :id="slfx"></div>-->
</div>
@@ -416,16 +416,16 @@
},
chartSearch2: {
depId: 1,
- startTime: '',
+ // startTime: '',
type: null
},
chartSearch3: {
depId: 1
},
chartSearch4: {
- searchDep: null,
startTime: '',
- days: 30
+ days: 30,
+ workType: 1
},
searchDep2: null,
searchDep: null,
@@ -485,29 +485,7 @@
],
pieData: [],
squareData: [],
- warningData: [
- {
- name: '黄公子',
- dep: '有机事业部',
- warning: 69,
- role: '作业人',
- isCard: 1
- },
- {
- name: '李飞飞',
- dep: '有机事业部',
- warning: 51,
- role: '监护人',
- isCard: 0
- },
- {
- name: '黄公子',
- dep: '有机事业部',
- warning: 69,
- role: '作业人',
- isCard: 1
- }
- ],
+ warningData: [],
reviewForm: {
advice: ''
},
@@ -523,31 +501,34 @@
getTypePie()
getWorkDep()
getDepMonth()
- initZyfb()
- initSlfx()
- initZyqs()
+ getWarningList()
});
const initTime =()=>{
state.chartSearch1.startTime = getPeriod(30)
state.chartSearch2.startTime = getPeriod(30)
+ state.chartSearch4.startTime = getPeriod(30)
state.endTime = formatDate(new Date())
}
const getPeriod =(num)=> {
const currentDate = new Date();
const startTime = new Date();
- startTime.setDate(currentDate.getDate() - num);
+ startTime.setDate(currentDate.getDate() - num - 1);
return formatDate(startTime)
}
const formatDate =(date)=> {
const year = date.getFullYear().toString();
const month = ('0' + (date.getMonth() + 1)).slice(-2);
const day = ('0' + date.getDate()).slice(-2);
- return `${year}-${month}-${day} 00:00:00`;
+ return `${year}-${month}-${day} 23:59:59`;
}
const changeTime1=(value:number)=>{
state.chartSearch1.startTime = getPeriod(value)
- console.log(state.chartSearch1.startTime,state.endTime,'结束段')
getTypePie()
+ }
+ const changeTime4=(value:number)=>{
+ state.chartSearch4.startTime = getPeriod(value)
+ console.log(state.chartSearch4.startTime,state.endTime,'结束段')
+ getWarningList()
}
const changeDep1=()=>{
getTypePie()
@@ -558,6 +539,9 @@
}
const changeType2=()=>{
getWorkDep()
+ }
+ const changeType4=()=>{
+ getWarningList()
}
const changeDep3=()=>{
getDepMonth()
@@ -575,10 +559,12 @@
}else{
state.themeColor = '#333'
}
- initZyfb()
- initSlfx()
- initZyqs()
+ initTime()
getMydepList()
+ getAllDepartment();
+ getTypePie()
+ getWorkDep()
+ getDepMonth()
}
const getTypePie = async ()=>{
const data = {
@@ -590,7 +576,7 @@
if (res.data.code === '200') {
// console.log('饼图数据>>>', res.data.data)
state.pieData = JSON.parse(JSON.stringify(res.data.data))
- // initZyfb()
+ initZyfb()
} else {
ElMessage({
type: 'warning',
@@ -600,16 +586,17 @@
}
const getWorkDep = async ()=>{
const data = {
- startTime: state.chartSearch2.startTime,
- endTime: state.endTime,
+ // startTime: state.chartSearch2.startTime,
+ // endTime: state.endTime,
depId:state.chartSearch2.depId,
type: state.chartSearch2.type
}
let res = await specialIndexApi().analyseAllWork(data);
if (res.data.code === '200') {
- // console.log('条形图数据>>>', res.data.data)
state.squareData = JSON.parse(JSON.stringify(res.data.data))
- // initSlfx()
+ let names = state.squareData.map(i=>i.name)
+ let vals = state.squareData.map(i=>i.value)
+ initSlfx(names,vals)
} else {
ElMessage({
type: 'warning',
@@ -620,9 +607,10 @@
const getDepMonth = async ()=>{
let res = await specialIndexApi().analyseDepMonth(state.chartSearch3.depId);
if (res.data.code === '200') {
- // console.log('折线图数据>>>', res.data.data)
state.squareData = JSON.parse(JSON.stringify(res.data.data))
- // initSlfx()
+ let names = state.squareData.map(i=>i.name)
+ let vals = state.squareData.map(i=>i.value)
+ initZyqs(names,vals)
} else {
ElMessage({
type: 'warning',
@@ -644,6 +632,22 @@
if (res.data.code === '200') {
state.workData = JSON.parse(JSON.stringify(res.data.data))
state.totalSize = res.data.total
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+ const getWarningList = async()=>{
+ const data = {
+ startTime: state.chartSearch4.startTime,
+ endTime: state.endTime,
+ workType:state.chartSearch4.workType
+ }
+ let res = await specialIndexApi().getWorkWarning(data)
+ if (res.data.code === '200') {
+ state.warningData = JSON.parse(JSON.stringify(res.data.data))
} else {
ElMessage({
type: 'warning',
@@ -706,16 +710,7 @@
shadowColor: 'rgba(0, 0, 0, 0.5)'
},
},
- data: [
- { value: 0, name: '动火作业' },
- { value: 0, name: '受限空间作业' },
- { value: 0, name: '吊装作业' },
- { value: 0, name: '动土作业' },
- { value: 0, name: '断路作业' },
- { value: 0, name: '高处作业' },
- { value: 0, name: '临时用电作业' },
- { value: 0, name: '盲板抽堵作业' }
- ]
+ data: state.pieData
}
]
}
@@ -725,7 +720,7 @@
myChart.resize();
});
}
- const initSlfx =()=>{
+ const initSlfx =(names:Array<string>,vals:Array<any>)=>{
let dom = document.getElementById(slfx.value);
let myChart = echarts.init(dom);
let option: EChartsOption;
@@ -745,7 +740,7 @@
xAxis: [
{
type: 'category',
- data: ['部门一','部门二','部门三'],
+ data: names,
axisTick: {
alignWithLabel: true
},
@@ -764,7 +759,7 @@
name: 'Direct',
type: 'bar',
barWidth: '60%',
- data: [0,0,0],
+ data: vals,
}
]
}
@@ -774,14 +769,14 @@
myChart.resize();
});
}
- const initZyqs =()=>{
+ const initZyqs =(names:Array<string>,vals:Array<any>)=>{
let dom = document.getElementById(zyqs.value);
let myChart = echarts.init(dom);
let option: EChartsOption;
option = {
xAxis: {
type: 'category',
- data: ['四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', '一月', '二月', '三月'],
+ data: names,
axisLabel: {
color: state.themeColor
}
@@ -805,7 +800,7 @@
},
series: [
{
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ data: vals,
type: 'line',
label:{
show: true
@@ -1041,9 +1036,11 @@
slfx,
zyqs,
changeTime1,
+ changeTime4,
changeDep1,
changeDep2,
changeType2,
+ changeType4,
changeDep3,
toFullscreen,
// handleReview,
@@ -1164,57 +1161,57 @@
.chart{
width: 100%;
height: 85%;
+ overflow-y: scroll;
.el-table{
- height: 90% !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;
- }
- }
- }
- }
- }
- }
- }
- }
+ //: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;
+ // }
+ // }
+ // }
+ // }
+ // }
+ // }
+ // }
+ //}
}
}
.el-radio-group{
--
Gitblit v1.9.2