detailInfo.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <div id="detailInfo">
  3. <el-row>
  4. <el-col :span="24" class="info">
  5. <el-col :span="14" class="left">
  6. <el-col :span="24" class="top">
  7. <el-col :span="4" class="image">
  8. <el-image :src="roomInfo.filedir"></el-image>
  9. </el-col>
  10. <el-col :span="20" class="title">
  11. <p class="one">
  12. <span>{{ roomInfo.title }}</span>
  13. <span>房间号:{{ roomInfo.name }}</span>
  14. </p>
  15. <div class="two">
  16. <el-col :span="16" class="select">
  17. <el-select v-model="value" filterable placeholder="请选择摄像头">
  18. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
  19. </el-select>
  20. <el-select v-model="value" filterable placeholder="请选择麦克风">
  21. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
  22. </el-select>
  23. </el-col>
  24. <el-col :span="8" class="btn">
  25. <span><i class="iconfont iconfenxiang"></i>分享</span>
  26. <span><i class="iconfont iconshexiangtou"></i>摄像头</span>
  27. <span><i class="iconfont iconmaikefeng"></i>麦克风</span>
  28. </el-col>
  29. </div>
  30. </el-col>
  31. </el-col>
  32. <el-col :span="24" class="video">
  33. 直播画面
  34. </el-col>
  35. </el-col>
  36. <el-col :span="10" class="right">
  37. <el-col :span="24" class="chat">
  38. 聊天页面
  39. </el-col>
  40. </el-col>
  41. </el-col>
  42. </el-row>
  43. </div>
  44. </template>
  45. <script>
  46. import { mapState, createNamespacedHelpers } from 'vuex';
  47. export default {
  48. name: 'detailInfo',
  49. props: {
  50. roomInfo: null,
  51. },
  52. components: {},
  53. data: function() {
  54. return {
  55. options: [],
  56. value: '',
  57. };
  58. },
  59. created() {},
  60. methods: {},
  61. computed: {
  62. ...mapState(['user']),
  63. pageTitle() {
  64. return `${this.$route.meta.title}`;
  65. },
  66. },
  67. metaInfo() {
  68. return { title: this.$route.meta.title };
  69. },
  70. };
  71. </script>
  72. <style lang="less" scoped>
  73. .info {
  74. border-style: double;
  75. border-color: #ff0000 #00ff00 #0000ff rgb(250, 0, 255);
  76. padding: 20px;
  77. .left {
  78. background-color: #f5f5f5;
  79. min-height: 800px;
  80. border: 1px solid blueviolet;
  81. .top {
  82. position: relative;
  83. border: 1px solid red;
  84. padding: 10px;
  85. .image {
  86. text-align: center;
  87. .el-image {
  88. width: 80px;
  89. height: 80px;
  90. border-radius: 90px;
  91. }
  92. }
  93. .title {
  94. .one {
  95. padding: 0 0 10px 0;
  96. span {
  97. display: inline-block;
  98. width: 50%;
  99. }
  100. span:last-child {
  101. text-align: right;
  102. }
  103. }
  104. .two {
  105. position: absolute;
  106. right: 10px;
  107. bottom: 10px;
  108. .select {
  109. .el-select {
  110. float: left;
  111. width: 47%;
  112. margin: 0 10px 0 0;
  113. }
  114. }
  115. .btn {
  116. height: 40px;
  117. line-height: 40px;
  118. text-align: right;
  119. span {
  120. margin: 0 10px 0 0;
  121. }
  122. span:last-child {
  123. margin: 0;
  124. }
  125. span:hover {
  126. cursor: pointer;
  127. }
  128. }
  129. }
  130. }
  131. }
  132. }
  133. .right {
  134. width: 40%;
  135. min-height: 800px;
  136. border: 1px solid cyan;
  137. margin: 0 0 0 20px;
  138. }
  139. }
  140. </style>