| | |
| | | <el-tab-pane label="数据统计分析" name="dataStatistic"></el-tab-pane> |
| | | <el-tab-pane label="任务统计分析" name="taskStatistic"></el-tab-pane> |
| | | </el-tabs> |
| | | <div class="tab-content"> |
| | | <div class="tab-content" v-if="actCardTab=='dataStatistic'"> |
| | | <div class="card-view"> |
| | | <el-card> |
| | | <div class="title"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="statics"> |
| | | <div class="statics flex-box"> |
| | | <div class="lt"> |
| | | <div class="statics-part"> |
| | | <div class="statics-header"> |
| | | <span class="title">乘务员违规统计</span> |
| | | <time-shortcut @actPickerChange="irregularStatistic"></time-shortcut> |
| | | <time-shortcut @actPickerChange="irregularMenStatistic"></time-shortcut> |
| | | </div> |
| | | <div class="chart-area flex-box"> |
| | | <div class="lt"> |
| | | <div class="chart-theme">乘务员总人数</div> |
| | | <div class="sum"> |
| | | <span class="val">8846</span> |
| | | <span class="ratio">17.1%</span> |
| | | <div class="statics-content"> |
| | | <div class="chart-area flex-box"> |
| | | <div class="lt"> |
| | | <div class="chart-theme">乘务员总人数</div> |
| | | <div class="sum"> |
| | | <span class="val">8846</span> |
| | | <span class="ratio">17.1%</span> |
| | | </div> |
| | | <line-chart :options="optionsOfIrregularSum" :defineW="300" :defineH="160"></line-chart> |
| | | </div> |
| | | <Line :options="optionsOfIrregularSum"></Line> |
| | | </div> |
| | | <div class="gt"> |
| | | <div class="chart-theme">人均违规次数</div> |
| | | <div class="sum"> |
| | | <span class="val">8846</span> |
| | | <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> |
| | | </div> |
| | | </div> |
| | | <el-table :data="irregularTableData"> |
| | | <el-table-column label="排名"></el-table-column> |
| | | <el-table-column label="姓名"></el-table-column> |
| | | <el-table-column label="违规次数"></el-table-column> |
| | | <el-table-column label="周涨幅"></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> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="rt"> |
| | | <div class="statics-part"> |
| | | <div class="statics-header"> |
| | | <span class="title">重点地段违规事件统计</span> |
| | | <time-shortcut @actPickerChange="irregularEventStatistic"></time-shortcut> |
| | | </div> |
| | | <div class="statics-content"> |
| | | <el-radio-group v-model="irregularEventType" 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> |
| | | <el-radio-button label="hc">会车</el-radio-button> |
| | | <el-radio-button label="lsmx">临时慢性</el-radio-button> |
| | | </el-radio-group> |
| | | <!-- <Pie :options="optionsOfIrregularEventPie"></Pie> --> |
| | | <Pie :options="optionsOfHidDangerPie"></Pie> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="part"> |
| | | <div class="tab-swiper"> |
| | | <swipe-tabs></swipe-tabs> |
| | | </div> |
| | | <div class="tab-detail"> |
| | | <dataset-chart style="width:100%"></dataset-chart> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="tab-content" v-if="actCardTab=='taskStatistic'"> |
| | | |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | import timeShortcut from './timeShortcut'; |
| | | import Bar from './charts/bar'; |
| | | import Pie from './charts/pie'; |
| | | import Line from './charts/line'; |
| | | import LineChart from './charts/line'; |
| | | import SwipeTabs from './swipeTabs'; |
| | | import DatasetChart from './charts/dataset'; |
| | | export default { |
| | | components: { timeShortcut, Bar, Pie, Line }, |
| | | components: { timeShortcut, Bar, Pie, LineChart, SwipeTabs, DatasetChart }, |
| | | data () { |
| | | return { |
| | | actCardTab: 'dataStatistic', |
| | |
| | | data: ['未鸣笛', '未手比', '未呼唤', '运行中睡觉', '未检查', '未应答'], |
| | | axisTick: { |
| | | alignWithLabel: true |
| | | } |
| | | }, |
| | | // axisLine: { |
| | | // lineStyle: { |
| | | // color: '#ccc' |
| | | // } |
| | | // }, |
| | | // nameTextStyle: { |
| | | // color: "#333" |
| | | // } |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { type: 'value' } |
| | | { |
| | | type: 'value', |
| | | axisLine: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | |
| | | }, |
| | | optionsOfIrregularSum: { |
| | | animation: false, |
| | | grid: { |
| | | top: 0, |
| | | left: 0 |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | |
| | | } |
| | | }, |
| | | xAxis: { |
| | | show: false, |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], |
| | |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | show: false, |
| | | boundaryGap: [0, '30%'], |
| | | label: { |
| | | show: false |
| | | } |
| | |
| | | { |
| | | data: [820, 932, 901, 934, 1290, 1330, 1320], |
| | | type: 'line', |
| | | |
| | | smooth: true, |
| | | areaStyle: { |
| | | opacity: 0.3 |
| | | }, |
| | | color: '#5dbafd' |
| | | } |
| | | ] |
| | | }, |
| | | optionsOfIrregularPer: { |
| | | animation: false, |
| | | grid: { |
| | | top: 0, |
| | | left: 0 |
| | | }, |
| | | 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.3 |
| | | }, |
| | | color: '#8adee6' |
| | | } |
| | | ] |
| | | }, |
| | | irregularTableData: [], |
| | | PageIndex: 1, |
| | | PageSize: 5, |
| | | pageSizes: [5, 10], |
| | | tableTotal: 0, |
| | | irregularEventType: 'fhdd', |
| | | optionsOfIrregularEventPie: { |
| | | |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | renderIrregularMenTable () { |
| | | |
| | | }, |
| | | handleTableSizeChange () { |
| | | |
| | | }, |
| | | timeShortChange (time) { |
| | | |
| | | }, |
| | | irregularStatistic (time) { |
| | | irregularMenStatistic (time) { |
| | | |
| | | }, |
| | | irregularEventStatistic (time) { |
| | | |
| | | } |
| | | } |
| | |
| | | .day-ratio { |
| | | display: flex; |
| | | align-items: center; |
| | | &>span{ |
| | | margin-right: 6px; |
| | | } |
| | | .triangle.green{ |
| | | margin-top: -6px; |
| | | } |
| | | .triangle.red{ |
| | | margin-top: 6px; |
| | | } |
| | | } |
| | | } |
| | | .devide { |
| | |
| | | } |
| | | .detail { |
| | | display: flex; |
| | | align-items: center; |
| | | color: #777; |
| | | .name{ |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .part { |
| | | padding: 10px 0; |
| | | padding: 20px 0; |
| | | margin-bottom: 20px; |
| | | .header-width-tab { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | display: flex; |
| | | padding: 0 10px; |
| | | min-height: 400px; |
| | | margin-bottom: 20px; |
| | | .statics-header { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1px solid #eee; |
| | | padding-bottom: 10px; |
| | | margin-bottom: 20px; |
| | | .title { |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | .statics-part { |
| | | .statics-content { |
| | | padding: 0 20px; |
| | | .chart-area { |
| | | .chart-theme { |
| | | font-size: 14px; |
| | | color: #999; |
| | | } |
| | | .sum { |
| | | padding: 14px 0 10px; |
| | | .val { |
| | | font-size: 24px; |
| | | padding-left: 10px; |
| | | margin-right: 20px; |
| | | } |
| | | .ratio { |
| | | font-size: 14px; |
| | | color: #999; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .lt { |
| | | text-align: left; |
| | | flex: 1; |
| | | padding-right: 20px; |
| | | padding-right: 40px; |
| | | } |
| | | .rt { |
| | | text-align: left; |
| | |
| | | } |
| | | } |
| | | } |
| | | .flex-box { |
| | | .lt, |
| | | .rt, |
| | | .gt { |
| | | flex: 1; |
| | | width: auto; |
| | | //padding: 0 20px; |
| | | } |
| | | } |
| | | .tab-swiper { |
| | | width: calc(100vw - 340px); |
| | | margin-bottom: 20px; |
| | | } |
| | | } |
| | | } |
| | | } |