index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <template>
  2. <div id="dialog_index">
  3. <div class="created_dialog">
  4. <div class="blurBox"></div>
  5. <div class="content">
  6. <div class="dialog_title">{{ props.title }}</div>
  7. <p class="dialog_desc">{{ props.desc }}</p>
  8. <div class="created_btn">
  9. <div class="end_cancel" @click="endLiveCancel">取消</div>
  10. <div class="end_confirm" @click="endLiveConfirm">确认</div>
  11. </div>
  12. </div>
  13. </div>
  14. </div>
  15. </template>
  16. <script setup>
  17. import browser from "@/utils/browser";
  18. import { onMounted, watch, defineProps, defineEmits, ref, nextTick } from "vue";
  19. const emit = defineEmits(["closeDialog","confirmDialog"]);
  20. const role = ref(browser.urlHashValue("role"));
  21. const props = defineProps({
  22. title: {
  23. type: String,
  24. default: "温馨提示",
  25. },
  26. desc: {
  27. type: String,
  28. default: "是否结束带看",
  29. },
  30. });
  31. const endLiveCancel = () => {
  32. emit("closeDialog");
  33. };
  34. const endLiveConfirm = () => {
  35. emit("confirmDialog");
  36. };
  37. </script>
  38. <style scoped lang="scss">
  39. #dialog_index {
  40. width: 100vw;
  41. height: 100%;
  42. // background: rgba(0, 0, 0, 0.5);
  43. position: fixed;
  44. left: 0;
  45. top: 0;
  46. z-index: 100000;
  47. pointer-events: none;
  48. .created_dialog {
  49. pointer-events: auto;
  50. width: 8.64rem;
  51. // min-height: 5rem;
  52. // background: #ffffff;
  53. border-radius: 8px;
  54. position: absolute;
  55. left: 50%;
  56. top: 50%;
  57. transform: translate(-50%, -50%);
  58. border: 1px solid rgba(255, 255, 255, 0.1);
  59. border-radius: 4px;
  60. .blurBox {
  61. position: absolute;
  62. z-index: 1;
  63. top: 0;
  64. left: 0;
  65. width: 100%;
  66. height: 100%;
  67. background: rgba(0, 0, 0, 0.7);
  68. filter: blur(1px);
  69. }
  70. .content {
  71. position: relative;
  72. z-index: 2;
  73. top: 0;
  74. left: 0;
  75. width: 100%;
  76. height: 100%;
  77. }
  78. .dialog_title {
  79. width: 100%;
  80. height: 1.39rem;
  81. padding: 0 0.56rem;
  82. box-sizing: border-box;
  83. font-size: 0.39rem;
  84. color: #fff;
  85. line-height: 1.39rem;
  86. overflow: hidden;
  87. text-overflow: ellipsis;
  88. white-space: nowrap;
  89. border-bottom-style: solid;
  90. border-bottom-width: 1px;
  91. border-bottom-color: rgba(255, 255, 255, 0.1);
  92. }
  93. .dialog_desc {
  94. font-size: 0.42rem;
  95. color: #fff;
  96. padding: 0.56rem 0;
  97. text-align: center;
  98. }
  99. .created_btn {
  100. width: 100%;
  101. height: 1.36rem;
  102. border-top-style: solid;
  103. border-top-width: 1px;
  104. border-top-color: rgba(255, 255, 255, 0.1);
  105. box-sizing: border-box;
  106. display: flex;
  107. align-items: center;
  108. justify-content: center;
  109. font-size: 0.39rem;
  110. > div {
  111. width: 50%;
  112. height: 1.36rem;
  113. text-align: center;
  114. line-height: 1.36rem;
  115. font-size: 0.39rem;
  116. box-sizing: border-box;
  117. &.end_cancel {
  118. color: #fff;
  119. border-right-style: solid;
  120. border-right-width: 1px;
  121. border-right-color: rgba(255, 255, 255, 0.1);
  122. }
  123. &.end_confirm {
  124. color: #ed5d18;
  125. }
  126. }
  127. }
  128. }
  129. }
  130. </style>