修改ElTable组件的样式(element-plus)

效果展示

javascript 复制代码
 <div class="table_main">
        <ElTable
          :data="tableList"
          :header-cell-style="{
            color: '#ffffff',
            background: '#6f7f93',
          }"
          class="table_border"
          :highlight-current-row="false"
        >
          <ElTableColumn type="index" width="50" />
          <ElTableColumn prop="depict" label="事件描述" align="center" show-overflow-tooltip>
            <template #default="scope">
              <span class="content_style" :title="scope.row.depict">{{ `${scope.row.depict ?? '--'}` }}</span>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="lon" label="经度" align="center" show-overflow-tooltip>
            <template #default="scope">
              <span class="content_style" :title="scope.row.lon">{{ scope.row.lon }}</span>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="lat" label="纬度" align="center" show-overflow-tooltip>
            <template #default="scope">
              <span class="content_style" :title="scope.row.lat">{{ scope.row.lat }}</span>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="address" label="位置描述" align="center" show-overflow-tooltip>
            <template #default="scope">
              <span class="content_style" :title="scope.row.address">{{ `${scope.row.address ?? '--'}` }}</span>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="reportName" label="上报人名称" align="center" show-overflow-tooltip width="120">
            <template #default="scope">
              <span>{{ scope.row.reportName ?? '--' }}</span>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="shotPerson" label="联系方式" align="center" show-overflow-tooltip>
            <template #default="scope">
              <p>{{ `${scope.row.shotPerson ?? '--'}` }}</p>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="createTime" label="上报时间" align="center" show-overflow-tooltip>
            <template #default="scope">
              <span class="content_style" :title="scope.row.createTime">{{ `${scope.row.createTime ?? '--'}` }}</span>
            </template>
          </ElTableColumn>
          <ElTableColumn prop="status" label="处理状态" align="center" show-overflow-tooltip>
            <template #default="scope">
              <div class="cell">
                <span
                  :class="[
                    'dot',
                    scope.row.status == '1' ? 'orange-dot' : scope.row.status == '2' ? 'green-dot' : 'red-dot',
                  ]"
                />
                <span
                  :style="{
                    color: scope.row.status == '1' ? '#ff9f2d' : scope.row.status == '2' ? '#01ba62' : '#ba0101',
                  }"
                  >{{ scope.row.status == '1' ? '未处理' : scope.row.status == '2' ? '已处理' : '不予处理' }}</span
                >
              </div>
            </template>
          </ElTableColumn>

          <ElTableColumn label="操作" align="center" width="250">
            <template #default="scope">
              <div class="btn_box">
                <div class="edit_btn" @click="handleOpenModule('DETAIL', scope.row)">详情</div>
                <div
                  class="edit_btn"
                  :style="{
                    cursor: scope.row.status == '1' ? 'pointer' : 'not-allowed',
                    color: scope.row.status == '1' ? '#2871ff' : '#c0c4cc',
                  }"
                  @click="handleOpenModule('DISPOSE', scope.row)"
                >
                  处置
                </div>
                <div class="edit_btn" @click="handleOpenModule('DELETE', scope.row)">删除</div>
              </div>
            </template>
          </ElTableColumn>
        </ElTable>
      </div>
      <div class="pagination">
        <ElPagination
          v-model:currentPage="selectParams.current"
          v-model:page-size="selectParams.size"
          layout="total, prev, pager, next, jumper"
          :total="total"
          @current-change="handleCurrentChange"
        />
      </div>

修改样式

javascript 复制代码
 .table_main {
    margin-top: 40px;
    :deep(.el-table tr) {
      font-size: 16px;
    }

    .cell {
      padding-right: 10px;
      padding-left: 10px;
      overflow: hidden;
      line-height: 23px;
      white-space: normal;
      text-overflow: ellipsis;
      word-break: break-all;

      .dot {
        display: inline-block;
        width: 6px;
        height: 6px;
        margin-right: 5px;
        border-radius: 50%;
      }

      .orange-dot {
        background: #ff8a00;
      }

      .green-dot {
        background: #01ba62;
      }

      .red-dot {
        background: #ba0101;
      }
    }

    .btn_box {
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: Source Han Sans CN;
      .edit_btn {
        margin-right: 8px;
        color: #2871ff;
        cursor: pointer;
      }
    }

    :deep(.el-table thead) {
      color: #909399;
      font-weight: 500;
    }
    :deep(.el-table__body-wrapper) {
      background-color: #f6f9fc;
    }
    :deep(.el-table tr) {
      color: #333333;
    }
    :deep(.el-table th.el-table__cell.is-leaf) {
      border-bottom: 10px solid #f6f9fc;
    }
    :deep(.el-table th.el-table__cell) {
      color: #fff;
      background-color: #6f7f93;
    }
    :deep(.el-table .el-table__cell) {
      padding: 12px 0;
      // background-color: #fff !important;
      border-bottom: 10px solid #f6f9fc;
    }
  }

  .pagination {
    position: absolute;
    right: 30px;
    bottom: 0;
    margin-bottom: 19px;
    :deep(.el-icon) {
      font-size: 19px !important;
    }
    :deep(.el-input__inner) {
      color: #4a4a4a;
    }

    :deep(.el-pagination .el-pager li) {
      color: #4a4a4a;
      font-size: 16px;
      background: none;
    }

    :deep(.el-pagination button) {
      background: none;
    }

    :deep(.el-input__wrapper) {
      background: none;
      border: 1px solid #4a4a4a;
      box-shadow: none;
    }
    :deep(.el-pagination__total) {
      color: #2871ff;
    }
    :deep(.el-pagination__jump) {
      color: #4a4a4a;
    }
  }
相关推荐
Mr_Xuhhh2 分钟前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
永乐春秋1 小时前
WEB攻防-通用漏洞&文件上传&js验证&mime&user.ini&语言特性
前端
鸽鸽程序猿1 小时前
【前端】CSS
前端·css
ggdpzhk1 小时前
VUE:基于MVVN的前端js框架
前端·javascript·vue.js
学不会•3 小时前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
活宝小娜5 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点6 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow6 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o6 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic6 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端