董国庆
6 天以前 3f0d4c3df5d21e48da5d4ec658d9bcf54ec10319
修改首页
3个文件已修改
6个文件已添加
228 ■■■■■ 已修改文件
src/assets/1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/3.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/5.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/6.png 补丁 | 查看 | 原始文档 | blame | 历史
src/layouts/index.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/home/index.vue 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/login/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/1.png
src/assets/2.png
src/assets/3.png
src/assets/4.png
src/assets/5.png
src/assets/6.png
src/layouts/index.vue
@@ -3,42 +3,15 @@
    <div class="header relative" style="align-items: flex-end">
      <div @click="$router.push('/home')" class="title">
        <img src="@/assets/logo.png" alt="" />
        <span> 射洪两客一危监管平台 </span>
        <span> 射洪市 两客一危 监管平台 </span>
      </div>
      <div></div>
      <div class="flex a-center pr--40">
        <div class="flex a-center mr--72">
          <img
            src="@/assets/header/photo.png"
            class="w--32 h--32 shrink0 mr--10"
            style="border-radius: 50%"
          />
          <div class="fs-- 18 lh--25 color2">
            {{ $store.state.userInfo.nickName }}
          </div>
        </div>
        <div
          class="dropdown"
          @mouseenter="toggleDropdown(true)"
          @mouseleave="toggleDropdown(false)"
        >
          <img src="@/assets/header/more.png" class="w--16 h--16" />
          <div v-if="isOpen" class="dropdown-menu">
            <div
              @click="clickItem(item)"
              class="dropdown-item"
              v-for="item in menuItems"
              :key="item.text"
            >
              <i :class="item.icon"></i> {{ item.text }}
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="menu w100 bgColor1">
      <template v-for="(item, index) in routesList">
        <template v-if="!item.meta || !item.meta.title">
    <div style="display: flex;justify-content: space-between;">
      <div class="menu w100 bgColor1">
        <template v-for="(item, index) in routesList">
          <template v-if="!item.meta || !item.meta.title">
          <template v-for="(item2, index2) in item.children">
            <div
              v-if="!item2.meta.hide"
@@ -89,6 +62,42 @@
          </div>
        </div>
      </template>
      </div>
      <div class="flex a-center"
      style="background: #3367ce;justify-content: space-between;padding:0 60px 0 30px;">
        <div class="flex a-center" style="padding-right: 20px;">
          <el-tooltip
            :content="$store.state.userInfo.nickName"
            placement="bottom"
            effect="light"
            :show-after="0"
            :hide-after="2000"
          >
            <img
              src="@/assets/header/photo.png"
              class="w--32 h--32 shrink0 mr--10"
              style="border-radius: 50%"
            />
          </el-tooltip>
        </div>
        <div
          class="dropdown"
          @mouseenter="toggleDropdown(true)"
          @mouseleave="toggleDropdown(false)"
        >
          <img src="@/assets/header/more.png" class="w--16 h--16" />
          <div v-if="isOpen" class="dropdown-menu">
            <div
              @click="clickItem(item)"
              class="dropdown-item"
              v-for="item in menuItems"
              :key="item.text"
            >
              <i :class="item.icon"></i> {{ item.text }}
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="main">
      <router-view></router-view>
@@ -121,6 +130,7 @@
      menuItems: [{ text: "密码设置" }, { text: "退出登录" }],
      passwordVisible: false,
      row: {},
      showNickname: false,
    };
  },
  created() {
@@ -247,7 +257,7 @@
    font-size: 30px;
    align-items: center;
    position: absolute;
    top: 38%;
    top: 48%;
    left: 48.5%;
    transform: translate(-50%, -50%);
    // color: rgba(0, 0, 0, .8);
src/view/home/index.vue
@@ -66,44 +66,44 @@
        </div>
      </div> -->
      <div class="firCard">
            <div class="companyCard">
              <div class="lineCard"></div>
              <div class="name">运营公司(家)</div>
              <div class="value">{{ carStatusData.enterprise || 0 }}</div>
        <div class="firCard">
          <div class="companyCard">
            <div class="lineCard"></div>
            <div class="name">运营公司(家)</div>
            <div class="value">{{ carStatusData.enterprise || 0 }}</div>
          </div>
          <div class="companyCard">
            <div class="statusLeft">
              <div class="name">运营车辆(辆)</div>
              <div class="value">{{ carStatusData.car || 0 }}</div>
            </div>
            <div class="companyCard">
              <div class="statusLeft">
                <div class="name">运营车辆(辆)</div>
                <div class="value">{{ carStatusData.car || 0 }}</div>
              </div>
              <div class="statusLeft">
                <div class="name">在线</div>
                <div class="num">{{ carStatusData.online || 0 }}</div>
              </div>
              <div class="statusLeft">
                <div class="name">离线</div>
                <div class="num">{{ carStatusData.offline || 0 }}</div>
              </div>
              <div class="statusLeft">
                <div class="name">故障</div>
                <div class="num">{{ carStatusData.breakdown || 0 }}</div>
              </div>
              <div class="statusLeft">
                <div class="name">异常</div>
                <div class="num">{{ carStatusData.abnormal || 0 }}</div>
              </div>
            <div class="statusLeft">
              <div class="name">在线</div>
              <div class="value">{{ carStatusData.online || 0 }}</div>
            </div>
            <!-- <div class="companyCard">
            <div class="statusLeft">
              <div class="name">离线</div>
              <div class="value onLine">{{ carStatusData.offline || 0 }}</div>
            </div>
            <div class="statusLeft">
              <div class="name">故障</div>
              <div class="value breakdown">{{ carStatusData.breakdown || 0 }}</div>
            </div>
            <div class="statusLeft">
              <div class="name">异常</div>
              <div class="value abnormal">{{ carStatusData.abnormal || 0 }}</div>
            </div>
          </div>
          <!-- <div class="companyCard">
          <div class="lineCard"></div>
          <div class="name">驾驶员(人)</div>
          <div class="value">{{ carStatusData.driver || 0 }}</div>
        </div> -->
          </div>
        </div>
      </div>
@@ -111,12 +111,12 @@
        <!-- 左边统计 -->
        <div class="leftData">
          <div class="warnCount">
            <div class="title ">预警类型排行榜</div>
            <div class="title ">预警类型排行</div>
            <div class="countChart" id="countChart"></div>
          </div>
          <!-- 预警排行榜(前10) -->
          <div class="warnRank">
            <div class="title mt-0">公司预警排行榜</div>
            <div class="title mt-0">公司预警排行</div>
            <div class="rankChart" id="rankChart">
              <div class="rankItem" v-for="(item, index) in rankList" :key="index">
                <div class="left">{{ item.name }}</div>
@@ -136,7 +136,7 @@
        </div>
        <!-- 右边 内容 -->
        <div class="right">
          <!-- 今日预警 -->
          <div class="todayWarn">
            <div class="title">今日预警</div>
@@ -167,7 +167,7 @@
          <!-- 预警情况统计 -->
          <div class="warnCount">
            <div class="title ">预警情况统计</div>
            <el-table v-if="tableData.length" :data="tableData" border stripe style="width: 100%" :height="300">
            <el-table v-if="tableData.length" :data="tableData" border stripe style="width: 100%" :height="321">
              <el-table-column prop="operate_type" label="车辆类型">
                <template #default="{ row }">
                  <span class="operate_type" @click="toWarningList(row.operate_type)">{{ row.operate_type }}</span>
@@ -979,21 +979,30 @@
      display: flex;
      height: calc(100% - 138px);
      padding-top: 20px;
      .title {
      margin-top: 10px;
      font-weight: 600;
      font-size: 18px;
      color: rgba(0, 0, 0, 0.88);
      line-height: 25px;
      text-transform: none;
      margin-bottom: 10px;
    }
        font-weight: 600;
        font-size: 18px;
        color: #fff;
        line-height: 25px;
        text-transform: none;
      padding: 5px 0;
      }
      .title:nth-child(1) {
        background: url("../../assets/6.png") no-repeat center center;
        background-size: 100% 100%;
        padding-left: 30px;
      }
      .leftData {
        display: flex;
        flex-direction: column;
        width: 493px;
        width: 443px;
        height: 100%;
        padding-right: 20px;
@@ -1012,6 +1021,14 @@
          width: 100%;
          height: 88%;
        }
        .title {
          background: url("../../assets/3.png") no-repeat center center;
          background-size: 100% 100%;
          padding-left: 14px;
        }
        .noData {
          display: flex;
@@ -1034,6 +1051,11 @@
        background: #f4f4ff;
        padding: 10px;
        margin-top: 10px;
        .title {
        background: url("../../assets/1.png") no-repeat center center;
        background-size: 100% 100%;
        padding-left: 14px;
      }
        .rankChart {
          padding: 5px;
@@ -1142,14 +1164,12 @@
      background: #f4f4ff;
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
      border-radius: 10px;
      padding: 14px 20px 20px 20px;
      padding: 14px 20px 14px 20px;
      margin-right: 20px;
      .fir {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
        margin-top: 11px;
        .countCard {
          background: #ffffff;
@@ -1315,7 +1335,7 @@
      background: #f4f4ff;
      // margin-bottom: 10px;
      padding: 10px;
      width: 473px;
      width: 423px;
      padding-left: 20px;
      .companyCard {
@@ -1346,13 +1366,23 @@
        .value {
          padding-left: 10px;
          margin-bottom: 22px;
          margin-bottom: 12px;
          text-align: left;
          font-weight: 900;
          font-size: 18px;
          color: #0e6efd;
          line-height: 21px;
        }
        .onLine{
          color: #000000;
        }
        .breakdown{
          color:   #ffa500;
        }
        .abnormal{
          color: #ff0000;
        }
      }
      .companyCard:nth-child(2) {
@@ -1379,7 +1409,7 @@
    // position: absolute;
    // right: 0;
    // top: 0;
    width: 493px;
    width: 443px;
    // flex: 1;
    display: flex;
    flex-direction: column;
@@ -1393,13 +1423,12 @@
    // overflow-y: auto;
    .title {
      margin-top: 10px;
      padding: 5px 0;
      font-weight: 600;
      font-size: 18px;
      color: rgba(0, 0, 0, 0.88);
      color: #fff;
      line-height: 25px;
      text-transform: none;
      margin-bottom: 10px;
    }
    .mt-0 {
@@ -1480,9 +1509,10 @@
      flex: 1;
      .warnList {
        height: 100%;
        margin-top: 5px;
        height: calc(100% - 45px);
        overflow-y: auto;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
        // box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
        border-radius: 10px 10px 0px 0px;
        background-color: #fff;
@@ -1599,6 +1629,13 @@
      background: #f4f4ff;
      margin-bottom: 0px !important;
      flex: 1;
      .title {
        background: url("../../assets/5.png") no-repeat center center !important;
        background-size: 100% 100% !important;
        padding-left: 14px;
      }
      #countChart {
        width: 100%;
@@ -1690,6 +1727,9 @@
      }
    }
  }
  ::v-deep .el-table .el-table__cell{
    padding:8px 0px !important;
  }
}
.operate_type {
src/view/login/index.vue
@@ -4,7 +4,7 @@
      <div class="logo">
        <img src="@/assets/logo.png" alt="" />
        <div class="fs--25 fw-bold" style="letter-spacing: 4px">
          射洪两客一危监管平台
          射洪市 两客一危 监管平台
        </div>
      </div>
      <div class="txt-center pb--20 px--20">