ProgressDialog.vue 902 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <el-dialog
  3. class="progress-dialog"
  4. :visible.sync="modalIsShow"
  5. title="进度"
  6. top="10vh"
  7. width="300px"
  8. :close-on-click-modal="false"
  9. :close-on-press-escape="false"
  10. :show-close="false"
  11. append-to-body
  12. >
  13. <div class="progress-body">
  14. <div class="progree-desc">
  15. <slot></slot>
  16. </div>
  17. <el-progress
  18. v-if="modalIsShow"
  19. type="circle"
  20. :percentage="percentage"
  21. ></el-progress>
  22. </div>
  23. <div slot="title"></div>
  24. <div slot="footer"></div>
  25. </el-dialog>
  26. </template>
  27. <script>
  28. export default {
  29. name: "ProgressDialog",
  30. props: {
  31. percentage: {
  32. type: Number,
  33. default: 0,
  34. },
  35. },
  36. data() {
  37. return {
  38. modalIsShow: false,
  39. };
  40. },
  41. methods: {
  42. cancel() {
  43. this.modalIsShow = false;
  44. },
  45. open() {
  46. this.modalIsShow = true;
  47. },
  48. },
  49. };
  50. </script>