From e32af94f41a414960454d3bf39c1e27674fbede5 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期四, 21 一月 2021 19:55:36 +0800 Subject: [PATCH] shuohuang首页tab2静态页完善,页面优化 --- src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue | 436 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 407 insertions(+), 29 deletions(-) diff --git a/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue b/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue index 8092860..e39e5bd 100644 --- a/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue +++ b/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue @@ -39,8 +39,10 @@ <i class="el-icon-warning-outline"></i> </span> </div> - <div class="val">8846</div> - <div class="trend"></div> + <div class="val">{{$numberFormat(8846)}}</div> + <div class="trend"> + <line-chart :options="optionsOfWeekAnalyze" style="height:40px"></line-chart> + </div> <div class="devide"></div> <div class="detail"> <div class="name">鏃ュ潎鍒嗘瀽閲�</div> @@ -95,7 +97,7 @@ <div class="rt"> <time-shortcut @actPickerChange="timeShortChange"></time-shortcut> <el-date-picker - v-model="searchTime" + v-model="searchHidDanderTime" type="datetimerange" size="small" range-separator="鑷�" @@ -122,10 +124,10 @@ </el-select> </div> <div class="rank-list"> - <div class="rank-item"> - <span class="rank-index">1</span> - <span class="name">鏈鸿締鍒嗗叕鍙�</span> - <span class="val">323,234</span> + <div class="rank-item" v-for="(rankItem,index) in rankList" :key="rankItem.id" > + <span class="rank-index" :class="{'first':index==0,'second':index==1,'third':index==2}">{{index+1}}</span> + <span class="name">{{rankItem.name}}</span> + <span class="val">{{rankItem.val}}</span> </div> </div> </div> @@ -145,18 +147,17 @@ <span class="val">8846</span> <span class="ratio">17.1%</span> </div> - <line-chart :options="optionsOfIrregularSum" :defineW="300" :defineH="160"></line-chart> + <line-chart :options="optionsOfIrregularSum" style="height:70px"></line-chart> </div> <div class="gt"> <div class="chart-theme">浜哄潎杩濊娆℃暟</div> <div class="sum"> <span class="val">8846</span> </div> - <!-- <line-chart :options="optionsOfIrregularPer"></line-chart> --> - <line-chart :options="optionsOfIrregularPer" :defineW="300" :defineH="160"></line-chart> + <line-chart :options="optionsOfIrregularPer" style="height:70px"></line-chart> </div> </div> - <el-table :data="irregularTableData"> + <el-table class="thbg" :data="irregularTableData"> <el-table-column label="鎺掑悕"></el-table-column> <el-table-column label="濮撳悕"></el-table-column> <el-table-column label="杩濊娆℃暟"></el-table-column> @@ -181,7 +182,7 @@ <time-shortcut @actPickerChange="irregularEventStatistic"></time-shortcut> </div> <div class="statics-content"> - <el-radio-group v-model="irregularEventType" size="small"> + <el-radio-group v-model="irregularEventType" @change="checkIrregularEventType" size="small"> <el-radio-button label="fhdd">闃叉姢鍦版</el-radio-button> <el-radio-button label="jcz">杩涘嚭绔�</el-radio-button> <el-radio-button label="gfx">杩囧垎鐩�</el-radio-button> @@ -189,14 +190,14 @@ <el-radio-button label="lsmx">涓存椂鎱㈡��</el-radio-button> </el-radio-group> <!-- <Pie :options="optionsOfIrregularEventPie"></Pie> --> - <Pie :options="optionsOfHidDangerPie"></Pie> + <Pie :options="optionsOfHidDangerPie" style="padding-top:20px;"></Pie> </div> </div> </div> </div> <div class="part"> <div class="tab-swiper"> - <swipe-tabs></swipe-tabs> + <swipe-tabs @checkTab="checkTabInSwipe"></swipe-tabs> </div> <div class="tab-detail"> <dataset-chart style="width:100%"></dataset-chart> @@ -205,7 +206,127 @@ </div> </div> <div class="tab-content" v-if="actCardTab=='taskStatistic'"> - + <div class="general-view"> + <div class="indicator"> + <div class="icon"> + <i class="iconfont iconrenwuzhipai" style="color:#3399ff"></i> + </div> + <div class="content"> + <div class="indicator-title">鏈懆浠诲姟鎸囨淳閲�</div> + <div class="indicator-val">8000</div> + </div> + </div> + <div class="indicator"> + <div class="icon"> + <i class="iconfont iconfenxi" style="color:#4c76ff"></i> + </div> + <div class="content"> + <div class="indicator-title">鍒嗘瀽閲�</div> + <div class="indicator-val">8000</div> + </div> + </div> + <div class="indicator lastOne"> + <div class="icon"> + <i class="iconfont iconweigui" style="color:#fdd476"></i> + </div> + <div class="content"> + <div class="indicator-title">杩濊閲�</div> + <div class="indicator-val">8000</div> + </div> + </div> + </div> + <div class="part"> + <div class="statics flex-box"> + <div class="lt"> + <div class="statics-part"> + <div class="statics-header"> + <span class="title">浠诲姟鎸囨淳缁熻</span> + </div> + <div class="statics-content"> + <div class="flex-end"> + <time-shortcut @actPickerChange="taskAssignStatics"></time-shortcut> + <el-date-picker + v-model="searchTaskAssignTime" + type="datetimerange" + size="small" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + align="right" + ></el-date-picker> + </div> + <line-chart :options="optionsOfTaskAssign" style="height: 300px;"></line-chart> + </div> + </div> + </div> + <div class="rt"> + <div class="statics-part"> + <div class="statics-header"> + <span class="title">閮ㄩ棬鎸囨淳浠诲姟鍗犳瘮</span> + <time-shortcut @actPickerChange="partAssignstatics"></time-shortcut> + </div> + <div class="statics-content"> + <Pie :options="optionsOfHidDangerPie"></Pie> + </div> + </div> + </div> + </div> + <div class="statics"> + <div class="statics-part"> + <div class="statics-header"> + <span class="title">浠诲姟鍒嗘瀽缁熻</span> + </div> + <div class="statics-content"> + <div class="flex-end"> + <time-shortcut @actPickerChange="taskAnalyzeStatics"></time-shortcut> + <el-date-picker + v-model="searchTaskAnalyzeTime" + type="datetimerange" + size="small" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + align="right" + ></el-date-picker> + </div> + <Bar :options="optionsOfTaskAnalyzeBar" style="height: 300px;"></Bar> + </div> + </div> + </div> + <div class="statics"> + <div class="statics-part"> + <div class="statics-header"> + <span class="title">浠诲姟鍒嗘瀽鎯呭喌</span> + <time-shortcut @actPickerChange="taskAnalyzeCase"></time-shortcut> + </div> + <div class="statics-content"> + <div class="table-area"> + <el-table class="thbg" :data="taskAnalyzeCaseTableData"> + <el-table-column type="index" label="搴忓彿"></el-table-column> + <el-table-column prop="name" label="濮撳悕"></el-table-column> + <el-table-column prop="rwl" label="浠诲姟閲�"></el-table-column> + <el-table-column prop="fxl" label="鍒嗘瀽閲�"></el-table-column> + <el-table-column prop="pdwgl" label="鍒ゅ畾杩濊閲�"></el-table-column> + <el-table-column prop="wgl" label="鍒ゅ畾杩濊鐜�"></el-table-column> + <el-table-column prop="wcl" label="瀹屾垚鐜�"></el-table-column> + </el-table> + </div> + + <div class="flex-end"> + <el-pagination + @size-change="handleTableSizeChange" + @current-change="renderIrregularMenTable" + :current-page.sync="PageIndex" + :page-size="PageSize" + :page-sizes="pageSizes" + layout="total,sizes, prev, pager, next" + :total="tableTotal" + ></el-pagination> + </div> + </div> + </div> + </div> + </div> </div> </div> </template> @@ -221,9 +342,55 @@ components: { timeShortcut, Bar, Pie, LineChart, SwipeTabs, DatasetChart }, data () { return { - actCardTab: 'dataStatistic', + //actCardTab: 'dataStatistic', + actCardTab: 'taskStatistic', hidDangerTab: 'hidDanderStatistic', - searchTime: [], + optionsOfWeekAnalyze:{ + animation: false, + grid: { + top: 0, + left: 0, + right: 0, + bottom: 10, + }, + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'cross', + label: { + backgroundColor: '#6a7985' + } + } + }, + xAxis: { + show: false, + type: 'category', + boundaryGap: false, + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + label: { + show: false + } + }, + yAxis: { + type: 'value', + show: false, + label: { + show: false + } + }, + series: [ + { + data: [820, 932, 901, 934, 1290, 1330, 1320], + type: 'line', + smooth: true, + areaStyle: { + opacity: 0.7 + }, + color: '#975fe3' + } + ] + }, + searchHidDanderTime: [], actHidDanderChart: 'bar', optionsOfHidDangerBar: { color: ['#9ed2f5'], @@ -257,7 +424,7 @@ } ], yAxis: [ - { + { type: 'value', axisLine: { show: false @@ -276,7 +443,7 @@ optionsOfHidDangerPie: { tooltip: { trigger: 'item', - formatter: '{a}<br/>{b}:{c} ({d}%)' + formatter: '{a}<br>{b}:{c} ({d}%)' }, legend: { orient: 'vertical', @@ -294,7 +461,8 @@ avoidLabelOverlap: false, label: { show: false, - position: 'center' + position: 'center', + formatter: '{b}\n{c} ' }, emphasis: { label: { @@ -317,11 +485,29 @@ } ] }, + rankList: [{ + id: 'jl', + name: '鏈鸿締鍒嗗叕鍙�', + val: 324456 + }, { + id: 'jg', + name: '浜珮閾佽矾', + val: 328356 + }, { + id: 'ztyj', + name: '涓搧涓�灞�', + val: 4563356 + }, { + id: 'ztsj', + name: '涓搧涓夊眬', + val: 4563856 + }], optionsOfIrregularSum: { animation: false, grid: { top: 0, - left: 0 + left: 0, + bottom: 10, }, tooltip: { trigger: 'axis', @@ -365,7 +551,8 @@ animation: false, grid: { top: 0, - left: 0 + left: 0, + bottom: 10, }, tooltip: { trigger: 'axis', @@ -412,10 +599,146 @@ irregularEventType: 'fhdd', optionsOfIrregularEventPie: { - } + }, + searchTaskAssignTime: [], + optionsOfTaskAssign: { + grid: { + top: 40, + left: 10, + right: 10, + containLabel: true, + }, + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'cross', + label: { + backgroundColor: '#6a7985' + } + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + label: { + show: false + } + }, + yAxis: { + type: 'value', + axisLine: { + show: false + }, + label: { + show: false + } + }, + series: [ + { + data: [820, 932, 901, 934, 1290, 1330, 1320], + type: 'line', + smooth: true, + areaStyle: { + opacity: 0.3 + }, + color: '#5dbafd' + } + ] + }, + searchTaskAnalyzeTime: [], + optionsOfTaskAnalyzeBar: { + color: ['#fbd438', '#4fcb74'], + dataset: { + source: [ + ['mon', 70, 30], + ['tue', 30, 50], + ['wed', 30, 60], + ['thu', 40, 50], + ['fri', 20, 30], + ['sat', 30, 20], + ['sun', 20, 40], + ] + }, + legend: { + left: 0 + }, + tooltip: { + trigger: 'axis', + axisPointer: { + //type: 'shadow' + }, + }, + grid: { + left: 10, + right: 10, + bottom: '3%', + containLabel: true + }, + xAxis: [ + { + type: 'category', + //data: ['鏈福绗�', '鏈墜姣�', '鏈懠鍞�', '杩愯涓潯瑙�', '鏈鏌�', '鏈簲绛�'], + axisTick: { + alignWithLabel: true + }, + // axisLine: { + // lineStyle: { + // color: '#ccc' + // } + // }, + // nameTextStyle: { + // color: "#333" + // } + } + ], + yAxis: [ + { + type: 'value', + axisLine: { + show: false + } + } + ], + series: [ + { + name: '鏈夊紓甯�', + type: 'bar', + stack: '寮傚父', + barWidth: 20, + //data: [270, 500, 300, 430, 620, 540] + }, + { + name: '鏃犲紓甯�', + type: 'bar', + stack: '寮傚父', + barWidth: 20, + //data: [270, 500, 300, 430, 620, 540] + } + ] + }, + taskAnalyzeCaseTableData: [] } }, methods: { + checkTabInSwipe(tab){ + debugger + }, + checkIrregularEventType(type){ + debugger + }, + taskAnalyzeCase (time) { + + }, + taskAnalyzeStatics (time) { + + }, + partAssignstatics (time) { + + }, + taskAssignStatics (time) { + + }, renderIrregularMenTable () { }, @@ -431,6 +754,9 @@ irregularEventStatistic (time) { } + }, + mounted(){ + debugger } } </script> @@ -495,13 +821,13 @@ .day-ratio { display: flex; align-items: center; - &>span{ + & > span { margin-right: 6px; } - .triangle.green{ + .triangle.green { margin-top: -6px; } - .triangle.red{ + .triangle.red { margin-top: 6px; } } @@ -515,7 +841,7 @@ display: flex; align-items: center; color: #777; - .name{ + .name { margin-right: 20px; } } @@ -536,13 +862,14 @@ display: flex; padding: 0 10px; min-height: 400px; - margin-bottom: 20px; + margin-bottom: 30px; .statics-header { + height: 50px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #eee; - padding-bottom: 10px; + // padding-bottom: 10px; margin-bottom: 20px; .title { font-size: 16px; @@ -550,6 +877,7 @@ } } .statics-part { + flex: 1; .statics-content { padding: 0 20px; .chart-area { @@ -590,6 +918,8 @@ } .rank-list { padding: 10px 0; + max-height: 380px; + overflow-y: auto; .rank-item { height: 36px; display: flex; @@ -605,9 +935,24 @@ color: #666; border-radius: 50%; text-align: center; + &.first { + background-color: red; + color: #fff; + } + &.second { + background-color: rgb(248, 126, 45); + color: #fff; + } + &.third { + background-color: #0b3c29; + color: #fff; + } } .name { width: 200px; + } + .val { + width: 100px; } } } @@ -627,6 +972,39 @@ margin-bottom: 20px; } } + .general-view { + display: flex; + padding: 20px 50px; + .indicator { + flex: 1; + display: flex; + justify-content: center; + align-items: center; + position: relative; + &:not(.lastOne):after { + content: ''; + width: 1px; + height: 57px; + background: #e9e9e9; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + } + .icon .iconfont { + font-size: 40px; + margin-right: 24px; + } + .indicator-title { + font-size: 14px; + color: #999; + margin-bottom: 15px; + } + .indicator-val { + font-size: 24px; + } + } + } } } </style> \ No newline at end of file -- Gitblit v1.8.0