hanbaoshan
2021-01-21 3fe6be8e6eeae41fcfabc5876cac2fddd1c860f0
src/pages/shuohuangMonitorAnalyze/components/guideIndex.vue
@@ -4,7 +4,7 @@
      <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">
@@ -130,13 +130,14 @@
            </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="statics-content">
              <div class="chart-area flex-box">
                <div class="lt">
                  <div class="chart-theme">乘务员总人数</div>
@@ -144,19 +145,67 @@
                    <span class="val">8846</span>
                    <span class="ratio">17.1%</span>
                  </div>
                  <Line :options="optionsOfIrregularSum"></Line>
                    <line-chart :options="optionsOfIrregularSum" :defineW="300" :defineH="160"></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>
                  </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>
@@ -165,9 +214,11 @@
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',
@@ -194,11 +245,24 @@
            data: ['未鸣笛', '未手比', '未呼唤', '运行中睡觉', '未检查', '未应答'],
            axisTick: {
              alignWithLabel: true
            }
            },
            // axisLine: {
            //   lineStyle: {
            //     color: '#ccc'
            //   }
            // },
            // nameTextStyle: {
            //   color: "#333"
            // }
          }
        ],
        yAxis: [
          { type: 'value' }
          {
            type: 'value',
            axisLine: {
              show: false
            }
          }
        ],
        series: [
          {
@@ -255,6 +319,10 @@
      },
      optionsOfIrregularSum: {
        animation: false,
        grid: {
          top: 0,
          left: 0
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: {
@@ -265,6 +333,7 @@
          }
        },
        xAxis: {
          show: false,
          type: 'category',
          boundaryGap: false,
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
@@ -274,6 +343,8 @@
        },
        yAxis: {
          type: 'value',
          show: false,
          boundaryGap: [0, '30%'],
          label: {
            show: false
          }
@@ -282,17 +353,82 @@
          {
            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) {
    }
  }
@@ -359,6 +495,15 @@
          .day-ratio {
            display: flex;
            align-items: center;
            &>span{
              margin-right: 6px;
            }
            .triangle.green{
              margin-top: -6px;
            }
            .triangle.red{
              margin-top: 6px;
            }
          }
        }
        .devide {
@@ -368,11 +513,17 @@
        }
        .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;
@@ -385,10 +536,46 @@
        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;
@@ -426,6 +613,19 @@
          }
        }
      }
      .flex-box {
        .lt,
        .rt,
        .gt {
          flex: 1;
          width: auto;
          //padding: 0 20px;
        }
      }
      .tab-swiper {
        width: calc(100vw - 340px);
        margin-bottom: 20px;
      }
    }
  }
}