From 5bd66255ccd4e995337b9039094964d2677db4cc Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 22 二月 2022 17:19:06 +0800
Subject: [PATCH] 完善日志监控模块, 需要配合valog-server使用
---
src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue | 1971 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 1,661 insertions(+), 310 deletions(-)
diff --git a/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue b/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue
index d412b00..9827cd7 100644
--- a/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue
+++ b/src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue
@@ -4,12 +4,12 @@
<el-tab-pane label="鏁版嵁缁熻鍒嗘瀽" name="dataStatistic"></el-tab-pane>
<el-tab-pane label="浠诲姟缁熻鍒嗘瀽" name="taskStatistic"></el-tab-pane>
</el-tabs>
- <div class="tab-content" v-show="actCardTab == 'dataStatistic'">
+ <div class="tab-content" v-if="actCardTab == 'dataStatistic'">
<div class="card-view">
<el-card>
<div class="left">
<div class="title">
- <span class="icon iconfont"></span>
+ <span class="icon iconfont"></span>
<span class="info">鏈懆闅愭偅鏁伴噺</span>
</div>
<div class="weekNum">2758</div>
@@ -21,13 +21,15 @@
</div>
<div class="right">
<div class="outCircle"></div>
- <div id="chart1"></div>
+ <div id="chart1">
+ <bar :options="option1"></bar>
+ </div>
</div>
</el-card>
<el-card>
<div class="left">
<div class="title">
- <span class="icon iconfont icon2"></span>
+ <span class="icon iconfont icon2"></span>
<span class="info">鏈懆鍒嗘瀽杞︽閲�</span>
</div>
<div class="weekNum">258</div>
@@ -38,13 +40,15 @@
<div class="dayNum">25</div>
</div>
<div class="right">
- <div id="chart2"></div>
+ <div id="chart2">
+ <bar :options="option2"></bar>
+ </div>
</div>
</el-card>
<el-card>
<div class="left">
<div class="title">
- <span class="icon iconfont icon3"></span>
+ <img src="/images/shuohuang/缁� 731.png/" alt="" class="icon3" />
<span class="info">杞偍鎬婚噺</span>
</div>
<div class="weekNum">2758</div>
@@ -55,13 +59,16 @@
<div class="dayNum">100%</div>
</div>
<div class="right">
- <div id="chart3"></div>
+ <div id="chart3">
+ <bar :options="option3"></bar>
+ </div>
</div>
</el-card>
<el-card>
<div class="left">
<div class="title">
- <span class="icon iconfont icon5"></span>
+ <img src="/images/shuohuang/缁� 727.png/" alt="" class="icon3" />
+
<span class="info">浠诲姟瀹屾垚姣斾緥</span>
</div>
<div class="weekNum">90%</div>
@@ -72,7 +79,9 @@
<div class="dayNum">10%</div>
</div>
<div class="right">
- <div id="chart4"></div>
+ <div id="chart4">
+ <bar :options="option4"></bar>
+ </div>
</div>
</el-card>
</div>
@@ -175,7 +184,7 @@
</el-card>
</div> -->
<div class="part">
- <div class="part-top">
+ <!-- <div class="part-top">
<div class="header-width-tab">
<el-tabs
class="tab-menu"
@@ -242,9 +251,9 @@
<div class="rt">
<div class="header">
<span class="title">閮ㄩ棬闅愭偅鏁伴噺鎺掑悕</span>
- <!-- <el-select v-if="actHiddanderTab=='hidDanderStatistic'" size="small">
- <el-option>涓搧涓�灞�</el-option>
- </el-select>-->
+ // <el-select v-if="actHiddanderTab=='hidDanderStatistic'" size="small">
+ // <el-option>涓搧涓�灞�</el-option>
+ // </el-select>
</div>
<div class="rank-list">
<div
@@ -267,10 +276,257 @@
</div>
</div>
</div>
+ </div> -->
+
+ <div class="part-head">
+ <div class="top">
+ <div class="title">闅愭偅浜嬩欢</div>
+ <div class="control">
+ <div class="icon iconfont" @click="click1"></div>
+ <el-date-picker
+ ref="timepick1"
+ v-model="value1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ <div
+ class="time"
+ :class="{ active: eventConrtol == 'day' }"
+ @click="eventConrtol = 'day'"
+ >
+ 浠婃棩
+ </div>
+ <div
+ class="time"
+ :class="{ active: eventConrtol == 'week' }"
+ @click="eventConrtol = 'week'"
+ >
+ 鏈懆
+ </div>
+ <div
+ class="time"
+ :class="{ active: eventConrtol == 'mouth' }"
+ @click="eventConrtol = 'mouth'"
+ >
+ 鏈湀
+ </div>
+ <div
+ class="time"
+ :class="{ active: eventConrtol == 'year' }"
+ @click="eventConrtol = 'year'"
+ >
+ 鍏ㄥ勾
+ </div>
+ </div>
+ </div>
+
+ <el-divider></el-divider>
+
+ <div class="bottom">
+ <div class="left box">
+ <div class="box-top">
+ <div class="title">闅愭偅浜嬩欢缁熻</div>
+ <div class="control">
+ <div
+ class="chart"
+ :class="{ active: dangerEvent == 'bar' }"
+ @click="dangerEvent = 'bar'"
+ >
+ 鏌辩姸鍥�
+ </div>
+ <div
+ class="chart"
+ :class="{ active: dangerEvent == 'pai' }"
+ @click="dangerEvent = 'pai'"
+ >
+ 楗肩姸鍥�
+ </div>
+ </div>
+ </div>
+ <div class="echart">
+ <bar :options="eventBarOptions" v-if="dangerEvent == 'bar'" />
+ <Pie
+ :options="optionsOfHidDangerPie"
+ :pieW="500"
+ :pieH="250"
+ v-else
+ ></Pie>
+ </div>
+ </div>
+
+ <div class="middle box">
+ <div class="box-top">
+ <div class="title">闅愭偅浜嬩欢瓒嬪娍</div>
+ <div class="control">
+ <div
+ class="chart"
+ :class="{ active: dangerTrend == 'bar' }"
+ @click="dangerTrend = 'bar'"
+ >
+ 鎶樼嚎鍥�
+ </div>
+ <div
+ class="chart"
+ :class="{ active: dangerTrend == 'pai' }"
+ @click="dangerTrend = 'pai'"
+ >
+ 楗肩姸鍥�
+ </div>
+ </div>
+ </div>
+ <div class="echart">
+ <bar :options="trendBarChart" v-if="dangerTrend == 'bar'" />
+ <Pie
+ :options="optionsOfHidDangerTrendPie"
+ :pieW="500"
+ :pieH="250"
+ v-else
+ ></Pie>
+ </div>
+ </div>
+
+ <div class="right">
+ <div class="header">
+ <span class="title">閮ㄩ棬闅愭偅鏁伴噺鎺掑悕</span>
+ <!-- //
+ <el-select
+ v-if="actHiddanderTab == 'hidDanderStatistic'"
+ size="small"
+ >
+ // <el-option>涓搧涓�灞�</el-option>
+ //
+ </el-select> -->
+ </div>
+ <div class="rank-list">
+ <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
+ class="icon iconfont up"
+ v-if="index == 0 || index == 3"
+ ></span
+ >
+ <span
+ class="icon iconfont down"
+ v-if="index == 1 || index == 4"
+ ></span
+ >
+ </span>
+
+ <span class="val"
+ >{{ rankItem.val }}
+ <span class="often" v-if="index == 1">甯�</span>
+ <span class="new" v-if="index == 2">鏂�</span>
+ </span>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
+
<div class="statics flex-box">
<div class="lt">
- <div class="statics-part">
+ <div class="lt-head">
+ <div class="title">涔樺姟鍛樿繚瑙勭粺璁�</div>
+ <div class="control">
+ <div class="icon iconfont" @click="click2"></div>
+ <el-date-picker
+ ref="timepick2"
+ v-model="value2"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ <div
+ class="time"
+ :class="{ active: personConrtol == 'day' }"
+ @click="personConrtol = 'day'"
+ >
+ 浠婃棩
+ </div>
+ <div
+ class="time"
+ :class="{ active: personConrtol == 'week' }"
+ @click="personConrtol = 'week'"
+ >
+ 鏈懆
+ </div>
+ <div
+ class="time"
+ :class="{ active: personConrtol == 'mouth' }"
+ @click="personConrtol = 'mouth'"
+ >
+ 鏈湀
+ </div>
+ <div
+ class="time"
+ :class="{ active: personConrtol == 'year' }"
+ @click="personConrtol = 'year'"
+ >
+ 鍏ㄥ勾
+ </div>
+ </div>
+ </div>
+ <el-divider></el-divider>
+
+ <div class="lt-bottom">
+ <div class="lt-bottom-left">
+ <div class="chart-theme">涔樺姟鍛樻�讳汉鏁�</div>
+ <div class="val">187</div>
+ <div class="ratio">17.1%</div>
+ <div class="chart-theme">浜哄潎杩濊娆℃暟</div>
+ <div class="val">1.31</div>
+ </div>
+ <div class="lt-bottom-mid">
+ <div class="lt-chart1">
+ <LineChart :options="lt_chart1" />
+ </div>
+ <div class="lt-chart2">
+ <LineChart :options="lt_chart2" />
+ </div>
+ </div>
+ <div class="lt-bottom-right">
+ <el-table :data="irregularTableData" style="width: 100%">
+ <el-table-column
+ label="鎺掑悕"
+ type="index"
+ width="90"
+ header-align="center"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ label="濮撳悕"
+ prop="name"
+ header-align="center"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ label="杩濊娆℃暟"
+ prop="wg"
+ header-align="center"
+ align="center"
+ ></el-table-column>
+ </el-table>
+ <el-pagination small layout="prev, pager, next" :total="6">
+ </el-pagination>
+ </div>
+ </div>
+
+ <!-- <div class="statics-part">
<div class="statics-header">
<span class="title">涔樺姟鍛樿繚瑙勭粺璁�</span>
<time-shortcut
@@ -309,17 +565,8 @@
></el-table-column>
<el-table-column label="濮撳悕" prop="name"></el-table-column>
<el-table-column label="杩濊娆℃暟" prop="wg"></el-table-column>
- <!-- <el-table-column label="鍛ㄦ定骞�" prop="ratio"></el-table-column> -->
+
</el-table>
- <!-- <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>-->
<el-pagination
@size-change="handleTableSizeChange"
@current-change="renderIrregularMenTable"
@@ -330,10 +577,68 @@
:total="irregularTableData.length"
></el-pagination>
</div>
- </div>
+ </div> -->
</div>
<div class="rt">
- <div class="statics-part">
+ <div class="rt-head">
+ <div class="title">閲嶇偣鍦版杩濊浜嬩欢缁熻</div>
+ <div class="control">
+ <div class="icon iconfont" @click="click3"></div>
+ <el-date-picker
+ ref="timepick3"
+ v-model="value3"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ <div
+ class="time"
+ :class="{ active: placeConrtol == 'day' }"
+ @click="placeConrtol = 'day'"
+ >
+ 浠婃棩
+ </div>
+ <div
+ class="time"
+ :class="{ active: placeConrtol == 'week' }"
+ @click="placeConrtol = 'week'"
+ >
+ 鏈懆
+ </div>
+ <div
+ class="time"
+ :class="{ active: placeConrtol == 'mouth' }"
+ @click="placeConrtol = 'mouth'"
+ >
+ 鏈湀
+ </div>
+ <div
+ class="time"
+ :class="{ active: placeConrtol == 'year' }"
+ @click="placeConrtol = 'year'"
+ >
+ 鍏ㄥ勾
+ </div>
+ </div>
+ </div>
+ <el-divider></el-divider>
+ <div class="rt-bottom">
+ <div class="left">
+ <div
+ class="left-item"
+ v-for="i in 6"
+ :key="i"
+ :class="{ active: place_active == i }"
+ @click="place_active = i"
+ >
+ 闃叉姢鍦版
+ </div>
+ </div>
+ <div class="right">
+ <Pie :options="rt_chart" :pieW="400" :pieH="300" />
+ </div>
+ </div>
+ <!-- <div class="statics-part">
<div class="statics-header">
<span class="title">閲嶇偣鍦版杩濊浜嬩欢缁熻</span>
<time-shortcut
@@ -358,10 +663,14 @@
style="padding-top: 20px"
></Pie>
</div>
- </div>
+ </div> -->
</div>
</div>
<div class="part-bottom">
+ <div class="bottom-head">
+ <div class="title">杩濊鎯呭喌缁熻</div>
+ </div>
+ <el-divider></el-divider>
<div class="tab-swiper">
<swipe-tabs @checkTab="checkTabInSwipe"></swipe-tabs>
</div>
@@ -371,133 +680,210 @@
</div>
</div>
</div>
- <div class="tab-content" v-show="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">742</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">735</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">245</div>
- </div>
- </div>
- </div>
- <div class="part">
- <div class="statics flex-box">
+ <div class="tab-content" v-if="actCardTab == 'taskStatistic'">
+ <div class="part2">
+ <div class="statics flex-box part2-top">
<div class="lt">
- <div class="statics-part">
- <div class="statics-header">
- <span class="title">浠诲姟鎸囨淳缁熻</span>
+ <div class="indicator">
+ <div class="icon">
+ <img src="/images/shuohuang/缁� 738.png" alt="" />
</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 class="content">
+ <div class="indicator-title">鏈懆浠诲姟鎸囨淳閲�</div>
+ <div class="indicator-val">742</div>
+ </div>
+ </div>
+ <div class="indicator">
+ <div class="icon">
+ <img src="/images/shuohuang/缁� 739.png" alt="" />
+ </div>
+ <div class="content">
+ <div class="indicator-title">鍒嗘瀽閲�</div>
+ <div class="indicator-val">735</div>
+ </div>
+ </div>
+ <div class="indicator lastOne">
+ <div class="icon">
+ <img src="/images/shuohuang/缁� 740.png" alt="" />
+ </div>
+ <div class="content">
+ <div class="indicator-title">杩濊閲�</div>
+ <div class="indicator-val">245</div>
</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="optionsOfTaskAssignPie"></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="pdwglv"
- label="鍒ゅ畾杩濊鐜�"
- ></el-table-column>
- <el-table-column prop="wcl" label="瀹屾垚鐜�"></el-table-column>
- </el-table>
- </div>
- <div class="flex-end">
- <!-- <el-pagination
+ <div class="mid">
+ <div class="mid-head">
+ <div class="title">浠诲姟鎸囨淳缁熻</div>
+ <div class="control">
+ <div class="icon iconfont" @click="click4"></div>
+ <el-date-picker
+ ref="timepick4"
+ v-model="value4"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ <div
+ class="time"
+ :class="{ active: taskConrtol == 'day' }"
+ @click="taskConrtol = 'day'"
+ >
+ 浠婃棩
+ </div>
+ <div
+ class="time"
+ :class="{ active: taskConrtol == 'week' }"
+ @click="taskConrtol = 'week'"
+ >
+ 鏈懆
+ </div>
+ <div
+ class="time"
+ :class="{ active: taskConrtol == 'mouth' }"
+ @click="taskConrtol = 'mouth'"
+ >
+ 鏈湀
+ </div>
+ <div
+ class="time"
+ :class="{ active: taskConrtol == 'year' }"
+ @click="taskConrtol = 'year'"
+ >
+ 鍏ㄥ勾
+ </div>
+ </div>
+ </div>
+ <el-divider></el-divider>
+ <Bar :options="part2_chart1"></Bar>
+ </div>
+
+ <div class="rt">
+ <div class="bottom-head">
+ <div class="title">閮ㄩ棬鎸囨淳浠诲姟鍗犳瘮</div>
+ </div>
+ <el-divider></el-divider>
+
+ <div class="rt-chart">
+ <Pie
+ :options="optionsOfTaskAssignPie"
+ :pieW="400"
+ :pieH="280"
+ ></Pie>
+ </div>
+ </div>
+ </div>
+ <div class="part2-mid">
+ <div class="mid-head">
+ <div class="title">浠诲姟鍒嗘瀽缁熻</div>
+ <div class="control">
+ <div class="icon iconfont" @click="click5"></div>
+ <el-date-picker
+ ref="timepick5"
+ v-model="value5"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ <div
+ class="time"
+ :class="{ active: analysisConrtol == 'day' }"
+ @click="analysisConrtol = 'day'"
+ >
+ 浠婃棩
+ </div>
+ <div
+ class="time"
+ :class="{ active: analysisConrtol == 'week' }"
+ @click="analysisConrtol = 'week'"
+ >
+ 鏈懆
+ </div>
+ <div
+ class="time"
+ :class="{ active: analysisConrtol == 'mouth' }"
+ @click="analysisConrtol = 'mouth'"
+ >
+ 鏈湀
+ </div>
+ <div
+ class="time"
+ :class="{ active: analysisConrtol == 'year' }"
+ @click="analysisConrtol = 'year'"
+ >
+ 鍏ㄥ勾
+ </div>
+ </div>
+ </div>
+ <el-divider></el-divider>
+ <div class="mid-bottom">
+ <Bar :options="optionsOfTaskAnalyzeBar"></Bar>
+ </div>
+ </div>
+ <div class="part2-table">
+ <div class="table-head">
+ <div class="title">浠诲姟鍒嗘瀽鎯呭喌</div>
+ <div class="control">
+ <div class="icon iconfont" @click="click6"></div>
+ <el-date-picker
+ ref="timepick6"
+ v-model="value6"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ <div
+ class="time"
+ :class="{ active: situationConrtol == 'day' }"
+ @click="situationConrtol = 'day'"
+ >
+ 浠婃棩
+ </div>
+ <div
+ class="time"
+ :class="{ active: situationConrtol == 'week' }"
+ @click="situationConrtol = 'week'"
+ >
+ 鏈懆
+ </div>
+ <div
+ class="time"
+ :class="{ active: situationConrtol == 'mouth' }"
+ @click="situationConrtol = 'mouth'"
+ >
+ 鏈湀
+ </div>
+ <div
+ class="time"
+ :class="{ active: situationConrtol == 'year' }"
+ @click="situationConrtol = 'year'"
+ >
+ 鍏ㄥ勾
+ </div>
+ </div>
+ </div>
+ <div class="table-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="pdwglv"
+ 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"
@@ -506,16 +892,15 @@
layout="total,sizes, prev, pager, next"
:total="tableTotal"
></el-pagination>-->
- <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="taskAnalyzeCaseTableData.length"
- ></el-pagination>
- </div>
+ <el-pagination
+ @size-change="handleTableSizeChange"
+ @current-change="renderIrregularMenTable"
+ :current-page.sync="PageIndex"
+ :page-size="PageSize"
+ :page-sizes="pageSizes"
+ layout=" prev, pager, next,sizes,total"
+ :total="taskAnalyzeCaseTableData.length"
+ ></el-pagination>
</div>
</div>
</div>
@@ -532,8 +917,21 @@
import SwipeTabs from "./swipeTabs";
import DatasetChart from "./charts/dataset";
import * as echarts from "echarts";
+import eventBarOptions from "./charts/eventBarOptions";
+import trendBarChart from "./charts/trendBarChart";
+import lt_chart1 from "./charts/lt_chart1";
+import lt_chart2 from "./charts/lt_chart2";
+import rt_chart from "./charts/rt_chart";
+import part2_chart1 from "./charts/part2_chart1";
export default {
- components: { timeShortcut, Bar, Pie, LineChart, SwipeTabs, DatasetChart },
+ components: {
+ //timeShortcut,
+ Bar,
+ Pie,
+ LineChart,
+ SwipeTabs,
+ DatasetChart,
+ },
mounted() {
let tempArr = [
{
@@ -563,10 +961,31 @@
});
this.jsTreeNodes = tempArr;
this.refreshShoubiNum();
- this.initChart();
},
data() {
return {
+ place_active: 1,
+ value1: "",
+ value2: "",
+ value3: "",
+ value4: "",
+ value5: "",
+ value6: "",
+ active: 1,
+ part2_chart1,
+ rt_chart,
+ lt_chart1,
+ lt_chart2,
+ eventBarOptions,
+ trendBarChart,
+ personConrtol: "day",
+ situationConrtol: "day",
+ analysisConrtol: "day",
+ placeConrtol: "day",
+ eventConrtol: "day",
+ taskConrtol: "day",
+ dangerEvent: "bar",
+ dangerTrend: "bar",
actCardTab: "dataStatistic",
//actHiddanderTab: 'hidDanderStatistic',
optionsOfWeekAnalyze: {
@@ -780,14 +1199,7 @@
orient: "vertical",
right: 10,
y: "center",
- data: [
- "鏈福绗�",
- "鏈墜姣�",
- "鏈懠鍞�",
- "杩愯涓潯瑙�",
- "鏈鏌�",
- "鏈簲绛�",
- ],
+ data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
},
series: [
{
@@ -800,9 +1212,10 @@
"#fad337",
"#f2637b",
"#975fe4",
+ "rgb(47, 108, 213)",
],
- radius: ["50%", "80%"],
- //center: ['40%','60%'],
+ radius: ["50%", "70%"],
+ center: ["40%", "40%"],
avoidLabelOverlap: false,
label: {
show: false,
@@ -820,12 +1233,13 @@
show: false,
},
data: [
- { value: 83, name: "鏈福绗�" },
- { value: 83, name: "鏈墜姣�" },
- { value: 85, name: "鏈懠鍞�" },
- { value: 80, name: "杩愯涓潯瑙�" },
- { value: 40, name: "鏈鏌�" },
- { value: 30, name: "鏈簲绛�" },
+ { value: 83, name: "Mon" },
+ { value: 83, name: "Tue" },
+ { value: 85, name: "Wed" },
+ { value: 80, name: "Thu" },
+ { value: 40, name: "Fri" },
+ { value: 30, name: "Sat" },
+ { value: 30, name: "Sun" },
],
},
],
@@ -860,13 +1274,14 @@
"#f2637b",
"#975fe4",
],
- radius: ["70%", "90%"],
- //center: ['40%','60%'],
+ radius: ["50%", "70%"],
+ center: ["40%", "40%"],
avoidLabelOverlap: false,
label: {
show: false,
position: "center",
formatter: "{b}\n{c} ",
+ padding: [10, 0, 0, 0],
},
emphasis: {
label: {
@@ -879,12 +1294,12 @@
show: false,
},
data: [
- { value: 21, name: "鏈福绗�" },
- { value: 102, name: "鏈墜姣�" },
- { value: 100, name: "鏈懠鍞�" },
- { value: 1, name: "杩愯涓潯瑙�" },
- { value: 7, name: "鏈鏌�" },
- { value: 14, name: "鏈簲绛�" },
+ { value: 22, name: "鏈福绗�" },
+ { value: 50, name: "鏈墜姣�" },
+ { value: 18, name: "鏈懠鍞�" },
+ { value: 18, name: "杩愯涓潯瑙�" },
+ { value: 32, name: "鏈鏌�" },
+ { value: 8, name: "鏈簲绛�" },
],
},
],
@@ -898,7 +1313,7 @@
orient: "vertical",
right: 10,
y: "center",
- data: ["寮犵", "鏉庡洓", "鐜嬩附", "椹畯瀹�", "鍒樹箖瓒�", "浣曞厜瀹�"],
+ data: ["寮犵", "鏉庡洓", "鐜嬫��", "娲涙", "鐜嬮攣蹇�", "鍒樺缓鍥�", "鐢版槦"],
},
series: [
{
@@ -912,14 +1327,32 @@
"#f2637b",
"#975fe4",
],
- radius: ["70%", "90%"],
- //center: ['40%','60%'],
+ radius: ["40%", "50%"],
+ center: ["40%", "50%"],
avoidLabelOverlap: false,
label: {
- show: false,
- position: "center",
- formatter: "{b}\n{c} ",
+ //灞曠ず鏂囨湰璁剧疆
+ normal: {
+ show: true, //灞曠ず
+ position: "outside", // outside琛ㄧず鏂囨湰鏄剧ず浣嶇疆涓哄閮�
+ },
+ emphasis: {
+ //鏂囨湰鏍峰紡
+ show: true, //灞曠ず
+ textStyle: {
+ //鏂囨湰鏍峰紡
+ fontSize: "14",
+ fontWeight: "600",
+ },
+ },
},
+ labelLine: {
+ //寮曞绾胯缃�
+ normal: {
+ show: true, //寮曞绾挎樉绀�
+ },
+ },
+
emphasis: {
label: {
show: true,
@@ -927,16 +1360,15 @@
fontWeight: "bold",
},
},
- labelLine: {
- show: false,
- },
+
data: [
- { value: 127, name: "寮犵" },
- { value: 130, name: "鏉庡洓" },
- { value: 128, name: "鐜嬩附" },
- { value: 129, name: "椹畯瀹�" },
- { value: 126, name: "鍒樹箖瓒�" },
- { value: 112, name: "浣曞厜瀹�" },
+ { value: 22, name: "寮犵" },
+ { value: 50, name: "鏉庡洓" },
+ { value: 18, name: "鐜嬫��" },
+ { value: 18, name: "娲涙" },
+ { value: 32, name: "鐜嬮攣蹇�" },
+ { value: 8, name: "鍒樺缓鍥�" },
+ { value: 22, name: "鐢版槦" },
],
},
],
@@ -1080,9 +1512,11 @@
],
},
irregularTableData: [
- { name: "鍚村浗姊�", wg: 2 },
- { name: "鐜嬩粊鍏�", wg: 1 },
- { name: "缃楀厓鍙�", wg: 1 },
+ { name: "鍚村浗姊�", wg: 8 },
+ { name: "鐜嬩粊鍏�", wg: 6 },
+ { name: "缃楀厓鍙�", wg: 5 },
+ { name: "寮犲織绾�", wg: 3 },
+ { name: "鍒樻江娴�", wg: 1 },
],
PageIndex: 1,
PageSize: 5,
@@ -1199,7 +1633,7 @@
},
searchTaskAnalyzeTime: [new Date(2021, 1, 22), new Date(2021, 2, 1)],
optionsOfTaskAnalyzeBar: {
- color: ["#fbd438", "#4fcb74"],
+ color: ["#DC6363", "#E0E4ED"],
dataset: {
source: [
["mon", 44, 83],
@@ -1212,7 +1646,7 @@
],
},
legend: {
- left: 0,
+ x: "right",
},
tooltip: {
trigger: "axis",
@@ -1221,9 +1655,10 @@
},
},
grid: {
+ top: "9%",
left: 10,
right: 10,
- bottom: "3%",
+ bottom: "7%",
containLabel: true,
},
xAxis: [
@@ -1231,7 +1666,16 @@
type: "category",
//data: ['鏈福绗�', '鏈墜姣�', '鏈懠鍞�', '杩愯涓潯瑙�', '鏈鏌�', '鏈簲绛�'],
axisTick: {
+ //y杞村埢搴︾嚎
alignWithLabel: true,
+
+ show: false,
+ },
+ axisLine: {
+ lineStyle: {
+ color: "rbg(241, 241, 240)",
+ width: 1, //杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑
+ },
},
// axisLine: {
// lineStyle: {
@@ -1249,6 +1693,18 @@
axisLine: {
show: false,
},
+ axisTick: {
+ //y杞村埢搴︾嚎
+ show: false,
+ },
+ splitLine: {
+ //缃戞牸绾�
+ lineStyle: {
+ color: "rgb(230, 230, 230)",
+ type: "dashed", //璁剧疆缃戞牸绾跨被鍨� dotted锛氳櫄绾� solid:瀹炵嚎
+ },
+ show: true, //闅愯棌鎴栨樉绀�
+ },
},
],
series: [
@@ -1256,14 +1712,20 @@
name: "鏈夊紓甯�",
type: "bar",
stack: "寮傚父",
- barWidth: 20,
+ barWidth: 16,
+
//data: [270, 500, 300, 430, 620, 540]
},
{
name: "鏃犲紓甯�",
type: "bar",
stack: "寮傚父",
- barWidth: 20,
+ barWidth: 16,
+ itemStyle: {
+ normal: {
+ barBorderRadius: [8, 8, 0, 0],
+ },
+ },
//data: [270, 500, 300, 430, 620, 540]
},
],
@@ -1319,36 +1781,7 @@
},
],
jsTreeNodes: [],
- };
- },
- methods: {
- refreshShoubiNum() {
- let n = sessionStorage.getItem("shoubiNum");
- this.optionsOfHidDangerBar.series[0].data[1].value = +n;
- },
- initTabContent(tab) {
- if (tab.name == "hidDanderStatistic") {
- this.actHidDanderStatiscChart = "bar";
- } else {
- this.actHidDanderTrendChart = "line";
- }
- },
- checkTabInSwipe(tab) {},
- checkIrregularEventType(type) {},
- taskAnalyzeCase(time) {},
- taskAnalyzeStatics(time) {},
- partAssignstatics(time) {},
- taskAssignStatics(time) {},
- renderIrregularMenTable() {},
- handleTableSizeChange() {},
- timeShortChange(time) {},
- irregularMenStatistic(time) {},
- irregularEventStatistic(time) {},
- initChart() {
- var chartDom1 = document.getElementById("chart1");
- var myChart1 = echarts.init(chartDom1);
-
- var option1 = {
+ option1: {
tooltip: {
show: false,
},
@@ -1382,14 +1815,8 @@
},
],
color: ["#f8af4d", "rgb(211, 220, 239)"],
- };
-
- option1 && myChart1.setOption(option1);
-
- var chartDom2 = document.getElementById("chart2");
- var myChart2 = echarts.init(chartDom2);
-
- let option2 = {
+ },
+ option2: {
top: 0,
left: 0,
grid: {
@@ -1410,7 +1837,7 @@
},
series: [
{
- data: [82, 332, 290, 934, 529, 1330, 132],
+ data: [0, 332, 290, 934, 529, 1330, 0],
type: "line",
smooth: true,
lineStyle: {
@@ -1422,14 +1849,8 @@
showSymbol: false,
},
],
- };
-
- option2 && myChart2.setOption(option2);
-
- var chartDom3 = document.getElementById("chart3");
- var myChart3 = echarts.init(chartDom3);
-
- let option3 = {
+ },
+ option3: {
top: 0,
left: 0,
grid: {
@@ -1465,6 +1886,8 @@
itemStyle: {
//閫氬父鎯呭喌涓嬶細
normal: {
+ barBorderRadius: [5, 5, 0, 0],
+
//姣忎釜鏌卞瓙鐨勯鑹插嵆涓篶olorList鏁扮粍閲岀殑姣忎竴椤癸紝濡傛灉鏌卞瓙鏁扮洰澶氫簬colorList鐨勯暱搴︼紝鍒欐煴瀛愰鑹插惊鐜娇鐢ㄨ鏁扮粍涓殑棰滆壊
color: function (params) {
var colorList = [
@@ -1489,14 +1912,8 @@
},
},
],
- };
-
- option3 && myChart3.setOption(option3);
-
- var chartDom4 = document.getElementById("chart4");
- var myChart4 = echarts.init(chartDom4);
-
- let option4 = {
+ },
+ option4: {
top: 0,
left: 0,
grid: {
@@ -1533,6 +1950,7 @@
itemStyle: {
//閫氬父鎯呭喌涓嬶細
normal: {
+ barBorderRadius: [5, 5, 0, 0],
//姣忎釜鏌卞瓙鐨勯鑹插嵆涓篶olorList鏁扮粍閲岀殑姣忎竴椤癸紝濡傛灉鏌卞瓙鏁扮洰澶氫簬colorList鐨勯暱搴︼紝鍒欐煴瀛愰鑹插惊鐜娇鐢ㄨ鏁扮粍涓殑棰滆壊
color: function (params) {
var colorList = [
@@ -1558,9 +1976,49 @@
},
},
],
- };
-
- option4 && myChart4.setOption(option4);
+ },
+ };
+ },
+ methods: {
+ refreshShoubiNum() {
+ let n = sessionStorage.getItem("shoubiNum");
+ this.optionsOfHidDangerBar.series[0].data[1].value = +n;
+ },
+ initTabContent(tab) {
+ if (tab.name == "hidDanderStatistic") {
+ this.actHidDanderStatiscChart = "bar";
+ } else {
+ this.actHidDanderTrendChart = "line";
+ }
+ },
+ checkTabInSwipe(tab) {},
+ checkIrregularEventType(type) {},
+ taskAnalyzeCase(time) {},
+ taskAnalyzeStatics(time) {},
+ partAssignstatics(time) {},
+ taskAssignStatics(time) {},
+ renderIrregularMenTable() {},
+ handleTableSizeChange() {},
+ timeShortChange(time) {},
+ irregularMenStatistic(time) {},
+ irregularEventStatistic(time) {},
+ click1() {
+ this.$refs["timepick1"].focus();
+ },
+ click2() {
+ this.$refs["timepick2"].focus();
+ },
+ click3() {
+ this.$refs["timepick3"].focus();
+ },
+ click4() {
+ this.$refs["timepick4"].focus();
+ },
+ click5() {
+ this.$refs["timepick5"].focus();
+ },
+ click6() {
+ this.$refs["timepick6"].focus();
},
},
watch: {
@@ -1684,7 +2142,6 @@
.card-view {
display: flex;
- margin-right: -20px;
// margin-left: -2px;
.el-card {
@@ -1693,6 +2150,10 @@
margin-right: 20px;
text-align: left;
border-radius: 10px;
+
+ &:last-child {
+ margin-right: 0;
+ }
.el-card__body {
display: flex;
@@ -1709,10 +2170,9 @@
color: #213eb4;
}
.icon3 {
- color: #26d4b4;
- }
- .icon5 {
- color: #ed663e;
+ margin-right: 15px;
+ width: 15px;
+ height: 15px;
}
.info {
font-size: 12px;
@@ -1856,9 +2316,28 @@
background-color: #fff;
}
.part-bottom {
+ padding: 0 0 35px 35px;
+ text-align: left;
background-color: #fff;
- // padding: 0 30px 30px 30px;
- padding: 0 0 25px 0;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+ height: 624px;
+ overflow: hidden;
+
+ .bottom-head {
+ height: 60px;
+ line-height: 60px;
+ text-align: left;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+ }
+
+ .tab-swiper {
+ margin-top: 20px;
+ }
.tab-detail {
margin: 0 25px;
@@ -1918,18 +2397,492 @@
}
}
.lt {
+ overflow: hidden;
+ padding: 0 35px 35px 35px;
text-align: left;
- flex: 1;
- padding: 3px 15px 15px 18px;
+ flex: 6;
+ height: 350px;
background-color: #fff;
margin-right: 18px;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+
+ .lt-head {
+ display: flex;
+ height: 60px;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+
+ .control {
+ display: flex;
+ .icon {
+ cursor: pointer;
+ }
+ .time {
+ text-align: center;
+ font-size: 12px;
+ margin-left: 20px;
+ width: 40px;
+ height: 18px;
+ border-radius: 4px;
+ cursor: pointer;
+ &.active {
+ background: #2d52d7;
+ color: #fff;
+ opacity: 0.63;
+ }
+ }
+ }
+
+ .bottom {
+ margin-top: 37px;
+ display: flex;
+
+ .box {
+ overflow: hidden;
+ height: 250px;
+ width: 600px;
+ padding-right: 33px;
+ border-right: 1px solid #c6d2e4;
+
+ .box-top {
+ display: flex;
+ justify-content: space-between;
+ .title {
+ color: #425277;
+ }
+ .control {
+ display: flex;
+ justify-content: center;
+ position: relative;
+
+ .chart {
+ width: 46px;
+ height: 20px;
+ cursor: pointer;
+
+ &:first-child {
+ border: 1px solid #6297f2;
+ background-color: #fff;
+ border-radius: 4px;
+ position: absolute;
+ top: 0;
+ left: -44px;
+ }
+
+ &:last-child {
+ border-top: 1px solid #6297f2;
+ border-right: 1px solid #6297f2;
+ border-bottom: 1px solid #6297f2;
+ border-radius: 0 4px 4px 0;
+ }
+
+ &.active {
+ background-color: #6297f2;
+ color: #fff;
+ }
+ }
+ }
+ }
+
+ .echart {
+ height: 250px;
+ }
+ }
+
+ .middle {
+ width: 670px;
+ padding-left: 33px;
+ }
+
+ .right {
+ width: 250px;
+ flex: 1;
+ text-align: left;
+ background-color: #fff;
+ padding: 0 15px 15px 35px;
+ .header {
+ display: flex;
+ margin-bottom: 10px;
+ .title {
+ font-size: 16px;
+ margin-right: 20px;
+ font-weight: bold;
+ }
+ }
+ .rank-list {
+ padding: 10px 0;
+ max-height: 230px;
+ overflow-y: hidden;
+ .rank-item {
+ height: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ color: #666;
+ .rank-index {
+ width: 32px;
+ height: 24px;
+ margin-right: 20px;
+ line-height: 24px;
+ border-radius: 50%;
+ text-align: center;
+ color: #cb2839;
+ font-size: 12px;
+ &.first {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ &.second {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ &.third {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ }
+ .name {
+ width: 200px;
+ .up {
+ font-size: 12px;
+ color: #cb2839;
+ }
+ .down {
+ font-size: 12px;
+ color: #2bb15c;
+ }
+ }
+ .val {
+ width: 100px;
+ .often {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ font-size: 12px;
+ background: #2d52d7;
+ color: #fff;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 2px;
+ }
+
+ .new {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ font-size: 12px;
+ background: #fe3c56;
+ color: #fff;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 2px;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .el-divider {
+ margin: 0;
+ }
+ }
+
+ .lt-bottom {
+ display: flex;
+ padding-top: 35px;
+
+ .lt-bottom-left {
+ width: 133px;
+ text-align: center;
+ .val {
+ font-size: 25px;
+ font-weight: bold;
+ margin-top: 20px;
+ }
+ .ratio {
+ margin: 0 auto;
+ margin-bottom: 54px;
+ width: 46px;
+ height: 22px;
+ background: #f4f6f9;
+ font-size: 15px;
+ text-align: center;
+ }
+ }
+
+ .lt-bottom-mid {
+ flex: 1;
+ .lt-chart1 {
+ height: 110px;
+ }
+ .lt-chart2 {
+ height: 110px;
+ }
+ }
+
+ .lt-bottom-right {
+ width: 340px;
+ .el-table__row {
+ td,
+ th {
+ padding: 2px;
+ }
+ }
+
+ .el-pagination {
+ display: flex;
+ justify-content: right;
+ margin-top: 11px;
+ }
+ }
+ }
}
.rt {
+ padding: 25px 40px 10px 30px;
+ overflow: hidden;
text-align: left;
+ flex: 4;
background-color: #fff;
- padding: 3px 15px 15px 18px;
- width: 400px;
- .header {
+ padding: 3px 30px 15px 30px;
+ height: 351px;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+
+ .rt-head {
+ display: flex;
+ height: 60px;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+
+ .control {
+ display: flex;
+ .icon {
+ cursor: pointer;
+ }
+ .time {
+ text-align: center;
+ font-size: 12px;
+ margin-left: 20px;
+ width: 40px;
+ height: 18px;
+ border-radius: 4px;
+ cursor: pointer;
+ &.active {
+ background: #2d52d7;
+ color: #fff;
+ opacity: 0.63;
+ }
+ }
+ }
+
+ .bottom {
+ margin-top: 37px;
+ display: flex;
+
+ .box {
+ overflow: hidden;
+ height: 250px;
+ width: 600px;
+ padding-right: 33px;
+ border-right: 1px solid #c6d2e4;
+
+ .box-top {
+ display: flex;
+ justify-content: space-between;
+ .title {
+ color: #425277;
+ }
+ .control {
+ display: flex;
+ justify-content: center;
+ position: relative;
+
+ .chart {
+ width: 46px;
+ height: 20px;
+ cursor: pointer;
+
+ &:first-child {
+ border: 1px solid #6297f2;
+ background-color: #fff;
+ border-radius: 4px;
+ position: absolute;
+ top: 0;
+ left: -44px;
+ }
+
+ &:last-child {
+ border-top: 1px solid #6297f2;
+ border-right: 1px solid #6297f2;
+ border-bottom: 1px solid #6297f2;
+ border-radius: 0 4px 4px 0;
+ }
+
+ &.active {
+ background-color: #6297f2;
+ color: #fff;
+ }
+ }
+ }
+ }
+
+ .echart {
+ height: 250px;
+ }
+ }
+
+ .middle {
+ width: 670px;
+ padding-left: 33px;
+ }
+
+ .right {
+ width: 250px;
+ flex: 1;
+ text-align: left;
+ background-color: #fff;
+ padding: 0 15px 15px 35px;
+ .header {
+ display: flex;
+ margin-bottom: 10px;
+ .title {
+ font-size: 16px;
+ margin-right: 20px;
+ font-weight: bold;
+ }
+ }
+ .rank-list {
+ padding: 10px 0;
+ max-height: 230px;
+ overflow-y: hidden;
+ .rank-item {
+ height: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ color: #666;
+ .rank-index {
+ width: 32px;
+ height: 24px;
+ margin-right: 20px;
+ line-height: 24px;
+ border-radius: 50%;
+ text-align: center;
+ color: #cb2839;
+ font-size: 12px;
+ &.first {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ &.second {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ &.third {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ }
+ .name {
+ width: 200px;
+ .up {
+ font-size: 12px;
+ color: #cb2839;
+ }
+ .down {
+ font-size: 12px;
+ color: #2bb15c;
+ }
+ }
+ .val {
+ width: 100px;
+ .often {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ font-size: 12px;
+ background: #2d52d7;
+ color: #fff;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 2px;
+ }
+
+ .new {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ font-size: 12px;
+ background: #fe3c56;
+ color: #fff;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 2px;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .el-divider {
+ margin: 0;
+ }
+ }
+
+ .rt-bottom {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .left {
+ overflow: hidden;
+ background: #f4f6f9;
+ box-shadow: 0px 3px 6px rgba(52, 109, 209, 0.66);
+ border-radius: 7px;
+ .left-item {
+ width: 91px;
+ height: 36px;
+ line-height: 36px;
+ border-left: 6px solid #f4f6f9;
+ padding-left: 7px;
+ cursor: pointer;
+
+ &.active {
+ border-color: #2d52d7;
+ background: rgb(178, 192, 238);
+ }
+ }
+ }
+ }
+
+ /* .header {
display: flex;
.title {
font-size: 16px;
@@ -1976,12 +2929,10 @@
width: 100px;
}
}
- }
+ } */
}
}
.flex-box {
- .lt,
- .rt,
.gt {
flex: 1;
width: auto;
@@ -1991,40 +2942,440 @@
width: calc(100vw - 367px);
margin: 0 0 20px 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%);
+
+ .part-head {
+ overflow: hidden;
+ padding: 0 35px 35px 35px;
+ margin-bottom: 22px;
+ height: 376px;
+ background: #ffffff;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+ .top {
+ display: flex;
+ height: 60px;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+
+ .control {
+ display: flex;
+ .icon {
+ cursor: pointer;
+ }
+ .time {
+ font-size: 12px;
+ margin-left: 20px;
+ width: 40px;
+ height: 18px;
+ border-radius: 4px;
+ cursor: pointer;
+ &.active {
+ background: #2d52d7;
+ color: #fff;
+ opacity: 0.63;
+ }
+ }
+ }
}
- .icon .iconfont {
- font-size: 40px;
- margin-right: 24px;
- }
- .indicator-title {
- font-size: 14px;
- color: #999;
- margin-bottom: 15px;
- }
- .indicator-val {
- font-size: 24px;
+
+ .bottom {
+ margin-top: 37px;
+ display: flex;
+
+ .box {
+ overflow: hidden;
+ height: 250px;
+ width: 600px;
+ padding-right: 33px;
+ border-right: 1px solid #c6d2e4;
+
+ .box-top {
+ display: flex;
+ justify-content: space-between;
+ .title {
+ color: #425277;
+ }
+ .control {
+ display: flex;
+ justify-content: center;
+ position: relative;
+
+ .chart {
+ width: 46px;
+ height: 20px;
+ cursor: pointer;
+
+ &:first-child {
+ border: 1px solid #6297f2;
+ background-color: #fff;
+ border-radius: 4px;
+ position: absolute;
+ top: 0;
+ left: -44px;
+ }
+
+ &:last-child {
+ border-top: 1px solid #6297f2;
+ border-right: 1px solid #6297f2;
+ border-bottom: 1px solid #6297f2;
+ border-radius: 0 4px 4px 0;
+ }
+
+ &.active {
+ background-color: #6297f2;
+ color: #fff;
+ }
+ }
+ }
+ }
+
+ .echart {
+ height: 250px;
+ }
+ }
+
+ .middle {
+ width: 670px;
+ padding-left: 33px;
+ }
+
+ .right {
+ width: 250px;
+ flex: 1;
+ text-align: left;
+ background-color: #fff;
+ padding: 0 15px 15px 35px;
+ .header {
+ display: flex;
+ margin-bottom: 10px;
+ .title {
+ font-size: 16px;
+ margin-right: 20px;
+ font-weight: bold;
+ }
+ }
+ .rank-list {
+ padding: 10px 0;
+ max-height: 230px;
+ overflow-y: hidden;
+ .rank-item {
+ height: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ color: #666;
+ .rank-index {
+ width: 32px;
+ height: 24px;
+ margin-right: 20px;
+ line-height: 24px;
+ border-radius: 50%;
+ text-align: center;
+ color: #cb2839;
+ font-size: 12px;
+ &.first {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ &.second {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ &.third {
+ background-image: url(/images/shuohuang/缁�.png);
+ font-size: 15px;
+ font-weight: 700;
+ color: #cb2839;
+ }
+ }
+ .name {
+ width: 200px;
+ .up {
+ font-size: 12px;
+ color: #cb2839;
+ }
+ .down {
+ font-size: 12px;
+ color: #2bb15c;
+ }
+ }
+ .val {
+ width: 100px;
+ .often {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ font-size: 12px;
+ background: #2d52d7;
+ color: #fff;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 2px;
+ }
+
+ .new {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ font-size: 12px;
+ background: #fe3c56;
+ color: #fff;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 2px;
+ }
+ }
+ }
+ }
+ }
}
}
}
+
+ .part2 {
+ .part2-top {
+ .lt {
+ display: flex;
+ flex-direction: column;
+ width: 252px;
+ height: 348px;
+ background: #ffffff;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+
+ .indicator {
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 38px;
+ img {
+ width: 50px;
+ height: 50px;
+ }
+ .content {
+ width: 100px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ .indicator-title {
+ font-size: 14px;
+ }
+ .indicator-val {
+ font-size: 36px;
+ font-weight: 800;
+ }
+ }
+ }
+ }
+
+ .mid {
+ margin: 0 15px 0 27px;
+ height: 348px;
+ background: #ffffff;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+ overflow: hidden;
+ padding: 0 35px 35px 35px;
+ margin-bottom: 22px;
+ flex: 1;
+ .mid-head {
+ display: flex;
+ height: 60px;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+
+ .control {
+ display: flex;
+ .icon {
+ cursor: pointer;
+ }
+ .time {
+ font-size: 12px;
+ margin-left: 20px;
+ width: 40px;
+ height: 18px;
+ border-radius: 4px;
+ cursor: pointer;
+ &.active {
+ background: #2d52d7;
+ color: #fff;
+ opacity: 0.63;
+ }
+ }
+ }
+ }
+
+ .mid-bottom {
+ margin-top: 10px;
+ height: 260px;
+ }
+ }
+
+ .rt {
+ width: 474px;
+ height: 348px;
+ padding: 0 0 35px 35px;
+ text-align: left;
+ background-color: #fff;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+ overflow: hidden;
+
+ .bottom-head {
+ height: 60px;
+ line-height: 60px;
+ text-align: left;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+ }
+
+ .rt-chart {
+ width: 200px;
+ height: 200px;
+ }
+ }
+ }
+
+ .part2-mid {
+ height: 351px;
+ background: #ffffff;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+ overflow: hidden;
+ padding: 0 35px 35px 35px;
+ margin-bottom: 22px;
+ flex: 1;
+ .mid-head {
+ display: flex;
+ height: 60px;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+
+ .control {
+ display: flex;
+ .icon {
+ cursor: pointer;
+ }
+ .time {
+ font-size: 12px;
+ margin-left: 20px;
+ width: 40px;
+ height: 18px;
+ border-radius: 4px;
+ cursor: pointer;
+ &.active {
+ background: #2d52d7;
+ color: #fff;
+ opacity: 0.63;
+ }
+ }
+ }
+ }
+ .mid-bottom {
+ margin-top: 10px;
+ height: 280px;
+ }
+ }
+
+ .part2-table {
+ background: #ffffff;
+ box-shadow: 0px 3px 6px rgba(160, 174, 230, 0.56);
+ border-radius: 10px;
+ overflow: hidden;
+ padding: 0 35px 35px 35px;
+ margin-bottom: 22px;
+ flex: 1;
+ .table-head {
+ display: flex;
+ height: 60px;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-weight: bold;
+ font-size: 15px;
+ color: #2c3e7a;
+ }
+
+ .control {
+ display: flex;
+ .icon {
+ cursor: pointer;
+ }
+ .time {
+ font-size: 12px;
+ margin-left: 20px;
+ width: 40px;
+ height: 18px;
+ border-radius: 4px;
+ cursor: pointer;
+ &.active {
+ background: #2d52d7;
+ color: #fff;
+ opacity: 0.63;
+ }
+ }
+ }
+ }
+
+ th {
+ background-color: #2d52d7;
+ div {
+ color: #fff;
+ }
+ }
+
+ tr:nth-child(even) {
+ background-color: #f4f6f9;
+
+ &:hover > td.el-table__cell:hover {
+ background-color: #f4f6f9;
+ }
+ }
+
+ tr:nth-child(odd) {
+ background-color: #fff;
+
+ &:hover > td.el-table__cell:hover {
+ background-color: #fff;
+ }
+ }
+ }
+ }
+ }
+ .el-divider {
+ margin: 0;
+ }
+ .el-date-editor {
+ position: relative;
+ left: -35px;
+ top: 20px;
+ width: 0 !important;
+ height: 1px !important;
+ opacity: 0 !important;
}
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0