.dataset-edit {
  height: 100%;
  display: flex;
  align-items: stretch;
  padding: 0 !important;
  .left-panel {
    position: relative;
    border-right: 1px solid #ccc;
    background-color: #fafafa;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    .datasource-info {
      padding: 20px;
      color: #777;
      font-size: 12px;
      line-height: 20px;
      .name {
        color: #333;
        font-size: 14px;
      }
    }
    .table-type-list {
      padding: 0 10px 10px;
      display: flex;
      .type {
        width: 60px;
        height: 22px;
        position: relative;
        font-size: 12px;
        color: #888888;
        cursor: pointer;
        text-align: center;
        &::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 10px;
          right: 10px;
          height: 2px;
          background-color: transparent;
        }
        &.active {
          color: #2153d4;
          &::after {
            background-color: #2153d4;
          }
        }
      }
      .el-icon-upload2,
      .el-icon-plus {
        color: #2153d4;
        margin-top: 3px;
        cursor: pointer;
      }
    }
    .table-search {
      margin: 0 10px 10px;
      width: 220px;
    }
    .table-list {
      flex: 1;
      overflow-y: auto;
      overflow-x: hidden;
      .item {
        font-size: 12px;
        padding: 5px;
        padding-left: 10px;
        display: flex;
        align-items: center;
        cursor: pointer;
        .icon-info {
          opacity: 0;
        }
        &:hover {
          background-color: #ededed;
          .icon-info {
            opacity: 1;
          }
        }
        .name {
          flex: 1;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
          margin: 0 3px;
        }
      }
    }
    .cube-form {
      background-color: #fff;
      padding: 20px 10px;
      border-top: 1px solid #ccc;
      .el-form-item {
        margin-bottom: 12px;
      }
      .el-form-item__label {
        font-size: 12px;
      }
      .btn {
        display: block;
        width: 120px;
        margin: 20px auto 0;
      }
    }
  }
  .right-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    .left-toggle {
      position: absolute;
      width: 8px;
      height: 80px;
      left: 0;
      top: 30px;
      border-radius: 0 8px 8px 0;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
      background-color: #fafafa;
      cursor: pointer;
      box-sizing: border-box;
      z-index: 1;
      .el-icon {
        font-size: 12px;
        color: #888888;
      }
    }
    .top-panel {
      background-color: rgb(240, 242, 245);
      overflow: auto;
      #panel {
        position: relative;
        background-color: #f2f2f2;
        overflow-x: auto;
        .empty {
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          right: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #999;
        }
        .node {
          width: 180px;
          height: 30px;
          position: absolute;
          border: 1px solid #fff;
          border-left: 2px solid #409eff;
          line-height: 30px;
          box-sizing: border-box;
          transition: opacity 0.2s;
          background-color: #fff;
          font-size: 12px;
          display: flex;
          align-items: center;
          cursor: pointer;
          .iconfont {
            margin: 0 3px;
          }
          .name {
            flex: 1;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            &.unuse {
              text-align: center;
            }
          }
          .line1 {
            position: absolute;
            width: 70px;
            height: 30px;
            left: -71px;
            top: -1px;
            display: flex;
            align-items: center;
            .left,
            .right {
              height: 1px;
              background-color: #409eff;
            }
            .left {
              width: 10px;
            }
            .right {
              width: 30px;
            }
            .icon {
              cursor: pointer;
              width: 30px;
              height: 16px;
              background-size: contain;
              background-position: center center;
              background-repeat: no-repeat;
              &.LEFT_JOIN {
                background-image: url('../../assets/images/leftJoin.png');
              }
              &.RIGHT_JOIN {
                background-image: url('../../assets/images/rightJoin.png');
              }
              &.INNER_JOIN {
                background-image: url('../../assets/images/innerJoin.png');
              }
            }
          }
          .line2 {
            position: absolute;
            background-color: #409eff;
            right: 248px;
            bottom: 13px;
          }
          &.unuse {
            color: #aaa;
            font-size: 14px;
            border: 1px dashed #aaa;
            background-color: #f2f2f2;
            .line1 .left,
            .line1 .right,
            .line2 {
              background-color: #aaa;
            }
            .line1 .text {
              width: 30px;
              height: 1px;
              background-color: #aaa;
            }
          }
        }
      }
    }
    .top-toggle {
      position: absolute;
      width: 80px;
      height: 8px;
      top: -9px;
      left: 50%;
      transform: translateX(-50%);
      border-radius: 8px 8px 0 0;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
      background-color: #fafafa;
      cursor: pointer;
      box-sizing: border-box;
      .el-icon {
        font-size: 12px;
        color: #888888;
      }
    }
    .drag-line {
      position: absolute;
      width: 100%;
      height: 4px;
      top: -2px;
      left: 0;
      cursor: ns-resize;
    }
  }
  .upload-drawer {
    .el-drawer__body {
      padding: 0 20px 20px;
      overflow-y: auto;
    }
    .tips {
      font-size: 12px;
      margin-bottom: 10px;
      color: #777;
    }
    .upload {
      display: flex;
      align-items: center;
      .el-upload-list {
        flex: 1;
        margin-left: 10px;
        li.el-upload-list__item {
          margin: 0;
        }
      }
    }
    .el-form-item__label {
      text-align: left;
    }
    .btns {
      padding: 30px 0;
      text-align: right;
      .el-button {
        margin-right: 30px;
        width: 100px;
      }
    }
  }
  .join-drawer {
    .el-drawer__header {
      padding: 10px 20px 0;
      margin-bottom: 10px;
      font-size: 16px;
      font-weight: 600;
      color: #333;
    }
    .el-drawer__body {
      padding: 0 10px 10px;
      overflow-y: auto;
      position: relative;
      background-color: #eee;
    }
    .field-panel {
      display: flex;
      margin: 10px 0;
      .panel {
        padding: 10px;
        background-color: #fff;
        flex: 1;
        max-height: 500px;
        overflow-y: auto;
        .field-title {
          margin-top: 10px;
          height: 28px;
          line-height: 28px;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-left: 12px;
          position: relative;
          &:before {
            content: '';
            position: absolute;
            left: 0;
            width: 5px;
            top: 6px;
            bottom: 6px;
            background-color: #409eff;
          }
        }
        .el-input--mini .el-input__inner {
          height: 24px;
          line-height: 24px;
        }
        &:first-child {
          margin-right: 10px;
        }
        .title {
          font-size: 14px;
          margin-bottom: 10px;
        }
      }
    }
    .join-wrapper {
      background-color: #fff;
      padding: 10px;
    }
    .join-title {
      display: flex;
      align-items: center;
      margin-bottom: 10px;
      .el-select {
        width: 100px;
        margin: 0 20px;
      }
    }
    .join-key {
      line-height: 30px;
      padding: 5px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      .key-item {
        display: flex;
        .el-checkbox__label {
          color: #828282;
          font-weight: 600;
          font-size: 12px;
        }
      }
      .el-icon-delete {
        cursor: pointer;
      }
    }
    .btns {
      padding: 30px 0;
      text-align: right;
      .el-button {
        margin-right: 30px;
        width: 100px;
      }
    }
  }
  .fields-drawer {
    .el-drawer__body {
      padding: 0 20px 20px;
      overflow-y: auto;
    }
    .title {
      font-size: 14px;
      padding-bottom: 20px;
    }
  }
}
.dataset-edit-table-fields {
  .el-dialog__body {
    padding-top: 0;
    .title {
      line-height: 30px;
      padding-bottom: 10px;
    }
  }
}
.dataset-edit-node-popover {
  padding: 5px 0;
  .btn {
    line-height: 30px;
    cursor: pointer;
    transition: all 0.2s;
    text-indent: 30px;
    font-size: 12px;
    &:hover {
      background-color: #f2f3f5;
    }
  }
}
.dataset-edit {
  .main-header {
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    padding-right: 10px;
    border-bottom: 1px solid #ccc;
    .tab {
      width: 90px;
      line-height: 40px;
      font-size: 14px;
      text-align: center;
      box-sizing: border-box;
      position: relative;
      color: #333;
      cursor: pointer;
      &::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 10px;
        right: 10px;
        height: 2px;
        background-color: #fff;
      }
      &.active {
        color: #2153d4;
        &::after {
          background-color: #2153d4;
        }
      }
    }
  }
  .main-wrapper {
    flex: 1;
    background-color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .data-wrapper,
  .field-wrapper {
    flex: 1;
    overflow: auto;
    .title {
      line-height: 40px;
      font-size: 14px;
      font-weight: 600;
      position: relative;
      margin-bottom: 0;
      padding-left: 30px;
      display: flex;
      align-items: center;
      .name {
        margin-right: 10px;
        width: 40px;
      }
      .el-input {
        width: 200px;
      }
      &::before {
        content: '';
        position: absolute;
        left: 10px;
        width: 2px;
        bottom: 10px;
        top: 10px;
      }
      &.WEIDU {
        color: #468cff;
        &::before {
          background-color: #468cff;
        }
      }
      &.ZHIBIAO {
        color: #00c13a;
        &::before {
          background-color: #00c13a;
        }
      }
    }
  }
  .data-wrapper {
    display: flex;
    .left-fields {
      flex: 0 0 260px;
      overflow-y: auto;
      .title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-right: 20px;
        cursor: pointer;
        .icon {
          color: #666;
          font-weight: 600;
        }
      }
      .item {
        margin: 3px 10px;
        padding: 0 10px;
        line-height: 24px;
        font-size: 12px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        .text {
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
        }
        .el-icon-close {
          margin-left: 10px;
          color: #f56c6c;
          font-size: 14px;
          opacity: 0;
        }
        &:hover {
          background-color: #f2f2f2;
          .el-icon-close {
            opacity: 1;
          }
        }
        &.weidu {
          color: #468cff;
        }
        &.zhibiao {
          color: #00c13a;
        }
        &.unuse {
          color: #999;
          text-decoration: line-through;
        }
      }
    }
    .el-table {
      flex: 1;
      height: 100%;
      display: flex;
      flex-direction: column;
      .el-table__body-wrapper {
        flex: 1;
      }
    }
  }
}
.dataset-edit-computed-fields {
  .el-dialog__header {
    background-color: #f8f8fa;
  }
  .el-dialog__body {
    padding: 16px 20px;
    background-color: #f8f8fa;
  }
  .name {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
  }
  .label {
    width: 120px;
    line-height: 32px;
    font-size: 12px;
    color: #666666;
    padding: 0 10px;
  }
  .panels {
    display: flex;
    .main {
      flex: 1;
      margin-right: 10px;
      .label-title {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
    }
    .panel {
      flex: 0 0 200px;
      width: 200px;
      font-size: 12px;
      .tab {
        line-height: 30px;
      }
      .functions,
      .fields {
        height: 430px;
        overflow-y: auto;
        padding: 0 10px 10px;
        background-color: #fff;
      }
      .search-box {
        height: 35px;
      }
      .weidu {
        line-height: 24px;
        box-sizing: border-box;
        border: 1px solid #1d54d5;
        background-color: #e4eafa;
        padding: 0 10px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin: 3px 0;
        cursor: pointer;
      }
      .zhibiao {
        line-height: 24px;
        box-sizing: border-box;
        border: 1px solid #00b375;
        background-color: #d4f2e8;
        padding: 0 10px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin: 3px 0;
        cursor: pointer;
      }
      .func {
        line-height: 24px;
        box-sizing: border-box;
        border: 1px solid #ccc;
        padding: 0 10px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin: 3px 0;
        cursor: pointer;
      }
    }
  }
  .btns {
    text-align: right;
    margin-top: 10px;
    .el-button {
      width: 100px;
    }
  }
  .form-item {
    display: flex;
    margin-top: 10px;
    align-items: center;
  }
}
.newbi-extra-dialog {
  width: 900px;
  .tips {
    display: flex;
    align-items: center;
    padding-bottom: 20px;
    .text {
      color: #999;
      font-size: 14px;
    }
    .span {
      font-weight: 600;
      font-size: 16px;
    }
  }
  .el-pagination {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
  }
  .btns {
    padding: 20px 20px 0;
    display: flex;
    justify-content: space-evenly;
    .el-button {
      width: 100px;
    }
  }
}
