From b6cacf34f55a6d53e3019ff0c886ff3a2335c066 Mon Sep 17 00:00:00 2001 From: batman <978517621@qq.com> Date: 星期四, 16 三月 2023 10:30:55 +0800 Subject: [PATCH] 新修改添加页面 --- src/views/specialWorkSystem/specialIndex/index.vue | 204 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 139 insertions(+), 65 deletions(-) diff --git a/src/views/specialWorkSystem/specialIndex/index.vue b/src/views/specialWorkSystem/specialIndex/index.vue index fea8c63..6866f0e 100644 --- a/src/views/specialWorkSystem/specialIndex/index.vue +++ b/src/views/specialWorkSystem/specialIndex/index.vue @@ -16,6 +16,7 @@ </div> <div class="topChart"> <div class="chart-item"> + <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10> <div class="chart-tit"> <span class="tit">八大作业各分类分布图</span> <div class="filter-part filter-part2"> @@ -23,14 +24,15 @@ </div> </div> <div class="chart" :id="zyfb"></div> - <el-radio-group v-model="chartSearch1.period" size="small"> - <el-radio label="week" border>近7天</el-radio> - <el-radio label="month" border>近30天</el-radio> - <el-radio label="season" border>近90天</el-radio> - <el-radio label="year" border>近一年</el-radio> + <el-radio-group v-model="chartSearch1.days" size="small" @change="(value)=>changeTime1(value)"> + <el-radio :label='7' border>近7天</el-radio> + <el-radio :label='30' border>近30天</el-radio> + <el-radio :label='90' border>近90天</el-radio> + <el-radio :label='365' border>近一年</el-radio> </el-radio-group> </div> <div class="chart-item"> + <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10> <div class="chart-tit"> <span class="tit">各事业部关联作业分析</span> <div class="filter-part"> @@ -50,6 +52,7 @@ </div> <div class="topChart"> <div class="chart-item"> + <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10> <div class="chart-tit"> <span class="tit">关联作业趋势图</span> <div class="filter-part filter-part2"> @@ -59,6 +62,7 @@ <div class="chart" :id="zyqs"></div> </div> <div class="chart-item"> + <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10> <div class="chart-tit"> <span class="tit">异常警报关联人</span> <div class="filter-part"> @@ -104,6 +108,7 @@ </div> <div> <div class="homeCard"> + <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10> <el-row> <el-col :span="5" style="display:flex;align-items: center"> <span style="white-space: nowrap">作业类型:</span> @@ -277,6 +282,7 @@ import * as echarts from "echarts"; import screenfull from "screenfull"; import VideoDetail from "/@/views/specialWorkSystem/specialIndex/components/videoDetail.vue"; +import { BorderBox10 as DvBorderBox10 } from '@kjgl77/datav-vue3' // 定义接口来定义对象的类型 interface stateType { @@ -311,7 +317,8 @@ reviewRules: object; warningData: Array<any>; isFull:boolean; - themeColor:string + themeColor:string; + endTime:string } interface type { id: number; @@ -363,11 +370,11 @@ chosenIndex: null, searchWord: null, searchStatus: null, + endTime: '', chartSearch1: { searchDep: null, - startTime: '2023-03-08', - endTime: '2023-02-08', - period: 'month' + startTime: '', + days: 30 }, chartSearch2: { searchDep: null, @@ -377,7 +384,9 @@ searchDep: null }, chartSearch4: { - searchDep: null + searchDep: null, + startTime: '', + days: 30 }, searchDep2: null, searchDep: null, @@ -547,12 +556,35 @@ }); // 页面载入时执行方法 onMounted(() => { - getListByPage(); + // getListByPage(); getAllDepartment(); initZyfb() initSlfx() initZyqs() + state.endTime = formatDate(new Date()) + // state.chartSearch1.startTime = getPeriod(30) + console.log(state.chartSearch1.startTime,state.endTime,'默认时间段') }); + const getPeriod =(num)=> { + const currentDate = new Date(); + const startTime = new Date(); + startTime.setDate(currentDate.getDate() - num); + return formatDate(startTime) + } + const formatDate =(date)=> { + const year = date.getFullYear().toString().slice(-2); + const month = ('0' + (date.getMonth() + 1)).slice(-2); + const day = ('0' + date.getDate()).slice(-2); + return `${year}-${month}-${day} 00:00:00`; + } + const changeTime1=(value:number)=>{ + state.chartSearch1.startTime = getPeriod(value) + console.log(state.chartSearch1.startTime,state.endTime,'结束段') + } + const changeTime2=(value:number)=>{ + state.chartSearch4.startTime = getPeriod(value) + console.log(state.chartSearch4.startTime,state.endTime,'结束段') + } const toFullscreen =()=>{ const element = document.getElementById('bigScreen') if (!screenfull.isEnabled) { @@ -597,7 +629,7 @@ textStyle: { // 设置默认的文字颜色 color: state.themeColor, - fontSize: 12 + // fontSize: 12 }, itemStyle: { borderWidth: 0 // 设置图例边框宽度为0 @@ -612,21 +644,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: state.themeColor }, 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: '动火作业' }, @@ -709,7 +749,17 @@ } }, yAxis: { - type: 'value' + splitLine: { + show: true, + lineStyle: { + color: '#fafafa', + width: 1, + type: 'dashed' + } + }, + axisLabel:{ + color: '#ccc' + } }, grid: { top: '8%', @@ -718,7 +768,10 @@ series: [ { data: [150, 230, 224, 218, 135, 147, 230, 224, 218, 135, 147, 260], - type: 'line' + type: 'line', + label:{ + show: true + } } ] } @@ -730,7 +783,7 @@ } // 刷新 const reLoadData = async () => { - getListByPage(); + // getListByPage(); }; // 填写表单 @@ -755,29 +808,29 @@ }; // 分页获取列表 - const getListByPage = async () => { - const dateRange = JSON.parse(JSON.stringify(state.searchDate)) - if(dateRange[1]){dateRange[1] = dateRange[1].replace('00:00:00','23:59:59')} - const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord, applyDepId: state.searchDep,applyStartTime: dateRange[0],applyEndTime: dateRange[1]} }; - let res = await workApplyApi().getApplyList(data); - if (res.data.code === '200') { - state.workData = JSON.parse(JSON.stringify(res.data.data)); - state.workData = state.workData.map((item) => { - if (item.operators == null || item.operators == []) { - item.operators = []; - } else { - item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname); - } - return item; - }); - state.totalSize1 = res.data.total; - } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); - } - }; + // const getListByPage = async () => { + // const dateRange = JSON.parse(JSON.stringify(state.searchDate)) + // if(dateRange[1]){dateRange[1] = dateRange[1].replace('00:00:00','23:59:59')} + // const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord, applyDepId: state.searchDep,applyStartTime: dateRange[0],applyEndTime: dateRange[1]} }; + // let res = await workApplyApi().getApplyList(data); + // if (res.data.code === '200') { + // state.workData = JSON.parse(JSON.stringify(res.data.data)); + // state.workData = state.workData.map((item) => { + // if (item.operators == null || item.operators == []) { + // item.operators = []; + // } else { + // item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname); + // } + // return item; + // }); + // state.totalSize1 = res.data.total; + // } else { + // ElMessage({ + // type: 'warning', + // message: res.data.msg + // }); + // } + // }; // 表格数据格式化 const toNames = (row, column, cellValue, index) => { @@ -804,7 +857,7 @@ message: '请输入查询关键词' }); } else { - getListByPage(); + // getListByPage(); } }; // 重置搜索 @@ -812,16 +865,16 @@ state.searchWord = null; state.searchDep = null; state.searchDate = [] - getListByPage(); + // getListByPage(); }; const handleSizeChange1 = (val: number) => { state.pageSize1 = val; - getListByPage(); + // getListByPage(); }; const handleCurrentChange1 = (val: number) => { state.pageIndex1 = val; - getListByPage(); + // getListByPage(); }; // 查看记录 @@ -903,6 +956,8 @@ zyfb, slfx, zyqs, + changeTime1, + changeTime2, toFullscreen, handleReview, openVideo, @@ -913,7 +968,7 @@ searchRecord, clearSearch, viewRecord, - getListByPage, + // getListByPage, handleSizeChange1, handleCurrentChange1, ...toRefs(state) @@ -942,7 +997,7 @@ line-height: 34px; top: 80px; right: 20px; - z-index: 99999; + z-index: 9; } .demo-tabs { @@ -1389,26 +1444,38 @@ .full{ position:fixed; - background: #fff; - border-radius: 17px; + background: rgba(0,0,0,.2); + border: 1px solid rgba(54, 252, 252, .6); + border-radius: 17px 1px 1px 17px; box-shadow: 3px 3px 12px rgba(0,0,0,.2); - height: 34px; - line-height: 34px; - top: 0; - right: 20px; + height: 32px; + line-height: 30px; + top: 10px; + right: 2px; + display: flex; + justify-content: center; + backdrop-filter: blur(2px); z-index: 99999; } .topChart{ .chart-item{ border-radius: 4px; - background: rgba(8, 109, 209, 0.2); - border: 1px solid rgba(54, 252, 252, .6); + background: rgba(0, 61, 121, 0.2); backdrop-filter: blur(5px); position: relative; z-index: 2; &:last-of-type{ position: relative; z-index: 1; + } + + .item-bg{ + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; } .el-radio.is-bordered.is-checked{ border-color: #11FEEE !important; @@ -1494,11 +1561,18 @@ } .homeCard{ border-radius: 4px; - background: rgba(8, 109, 209, 0.2); - border: 1px solid rgba(54, 252, 252, .6); + background: rgba(0, 61, 121, 0.2); backdrop-filter: blur(5px); position: relative; z-index: 3; + .item-bg{ + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; + } .el-row{ &>div{ &>span{ -- Gitblit v1.9.2