From d91fd1557ebed3e9bcb8c051c71b9d41c0e36eef Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 02 四月 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