提示框(配合弹框使用)

<template>
  <div class="tip">
    <div class="tip-title">
      <i :style="option.iconStyle || {}" class="el-icon-warning tip-title-icon" />
      {{ option.name }}
    </div>
    <div class="tip-form">
      <el-form>
        <el-form-item class="tip-button">
          <el-button :loading="loading" class="tip-form-btn tip-form-btn-cancel" @click="close">取消</el-button>
          <el-button :loading="loading" class="tip-form-btn tip-form-btn-primary" type="primary" @click="sure">确定</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>
<script>
import { changeData } from '@/api/common'
export default {
  name: 'CommonTip',
  props: {
    option: {
      type: Object,
      default: () => ({
        name: '确认标记这条数据吗?',
        url: '',
        iconStyle: {},
        data: {}
      })
    }
  },
  data() {
    return {
      loading: false
    }
  },
  methods: {
    close() {
      this.loading = false
      this.$emit('close')
    },
    async sure() {
      const { url, data, useInner } = this.option
      this.loading = true
      if (useInner) {
        changeData(url, data).then(() => {
          this.$modal.msgSuccess('操作成功')
          this.$emit('sure')
        }).catch(() => {
          this.loading = false
        })
      } else {
        this.$emit('sure')
      }
    }
  }
}
</script>
<style lang="scss" scoped>
@import '@/assets/styles/mixin.scss';

.tip {
  padding: 20px 10px 10px 10px;
  @include width-height();
  .tip-title {
    font-size: 16px;
    margin-top: 28px;
    @include flex(row nowrap, center, center);
    .tip-title-icon {
      font-size: 20px;
      margin-right: 16px;
      margin-top: 3px;
      color: #E1732C;
    }
  }
  .tip-form {
    margin-top: 58px;
  }
  .tip-form ::v-deep .el-form {
    .tip-button {
      .el-form-item__content {
        margin-left: 0 !important;
        @include flex(row nowrap, center, center);
      }
      .tip-form-btn {
        width: 120px;
        height: 40px;
        border-radius: 5px !important;
      }
    }
    .tip-form-btn-cancel {
      background: transparent !important;
      border: 1px solid #DCDFE6 !important;
      color: rgba($color: #fff, $alpha: 0.7);
    }
    .tip-form-btn-primary {
      margin-left: 14px;
    }
  }
}
</style>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值