CommentVideo.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. <template>
  2. <div class="video-page">
  3. <!--<div class="video-title">
  4. <h3 class="video-title-h3">12月03日直播</h3>
  5. </div>-->
  6. <div class="video-info">
  7. <div class="comment-video-src">
  8. <div>
  9. <p style=" font-size: 14px; margin-bottom: 20px;"><span class="title-header">标题 : <span class="title-content">创新实验室(学科教室)课例20190508直播</span></span> <span class="title-header">主讲人 : 林燕<span class="title-content"></span></span> <span class="liveStatus">播放成功</span></p>
  10. </div>
  11. <video controls="controls" width="780" style="display:block;"
  12. src="https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190516/acalssOne%E7%BD%91%E9%A1%B5%E7%99%BB%E5%BD%95%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95.mp4">
  13. 您的浏览器不支持 video 标签。
  14. </video>
  15. <p class="average-score">作品当前平均分 : <span>未评</span></p>
  16. </div>
  17. <div class="comment-video-detail-info">
  18. <Tabs value="name1">
  19. <TabPane label="观课评论" name="name1">
  20. <div class="review-pane">
  21. <div class="review-list" v-for="(item,index) in commmentList" :key="index">
  22. <span class="reviewlist-title">
  23. {{item.employeeName}} :&nbsp;
  24. </span> <span class="reviewlist-content"><span>{{item.content}}</span> <span class="reviewlist-time">({{item.createTimeTip}})</span> <!----></span>
  25. </div>
  26. </div>
  27. <div style="position: relative; padding-top: 20px;"><div class="lastest-comment" style="display: none;">查看最新评论</div> <textarea placeholder="发表您的评论" maxlength="250" class="publish-review"></textarea> <span class="submit-review">提交</span></div>
  28. </TabPane>
  29. <TabPane label="专家点评" name="name2">专家点评</TabPane>
  30. </Tabs>
  31. </div>
  32. </div>
  33. <div class="video-other" style="display:none;">
  34. <h3 class="video-title-h3">推荐作品</h3>
  35. </div>
  36. <div class="videos-wrap" style="display:none;">
  37. <div class="video-item" v-for="(item , index) in videos" @click="showVideo(index)">
  38. <img src="../../assets/image/default-act.png" width="95%" />
  39. <p>{{item.title}}</p>
  40. </div>
  41. </div>
  42. </div>
  43. </template>
  44. <script>
  45. import rewardList from '@/static/rewardList.json'
  46. import CList from '@/static/commentList.json'
  47. export default {
  48. data() {
  49. return {
  50. routerData: {},
  51. rewardDatas: [],
  52. commmentList:[],
  53. videos: [
  54. {
  55. title:'12月14日直播'
  56. },
  57. {
  58. title:'12月14日直播'
  59. },
  60. {
  61. title:'12月14日直播'
  62. },
  63. {
  64. title:'12月14日直播'
  65. },
  66. {
  67. title:'12月14日直播'
  68. },
  69. {
  70. title:'12月14日直播'
  71. },
  72. {
  73. title:'12月14日直播'
  74. },
  75. {
  76. title:'12月14日直播'
  77. }
  78. ]
  79. }
  80. },
  81. methods: {
  82. showVideo(index) {
  83. //alert(index);
  84. this.$router.push(
  85. {
  86. name: 'video',
  87. query: {
  88. rewardIndex: index
  89. }
  90. }
  91. );
  92. }
  93. },
  94. mounted() {
  95. let index = this.$route.query.rewardIndex;
  96. //alert(index);
  97. this.commmentList = CList.list;
  98. this.rewardDatas = rewardList.data.list;
  99. if (index == undefined) {
  100. this.routerData = this.rewardDatas[0];
  101. } else {
  102. this.routerData = this.rewardDatas[index];
  103. }
  104. },
  105. watch: {
  106. $route() {
  107. let index = this.$route.query.rewardIndex;
  108. //alert(index);
  109. if (index == undefined) {
  110. this.routerData = this.rewardDatas[0];
  111. } else {
  112. this.routerData = this.rewardDatas[index];
  113. }
  114. }
  115. }
  116. }
  117. </script>
  118. <style>
  119. .video-page {
  120. width: 1200px;
  121. margin: 100px auto;
  122. font-family:none;
  123. }
  124. .video-title {
  125. margin-bottom: 20px;
  126. height: 20px;
  127. }
  128. .video-title-h3 {
  129. height: 20px;
  130. font-size: 20px;
  131. line-height: 20px;
  132. border-left: 6px solid #37b1fa;
  133. padding-left: 12px;
  134. }
  135. .video-info {
  136. width: 100%;
  137. display: table;
  138. }
  139. .comment-video-detail-info {
  140. width:400px;
  141. background:#ffffff;
  142. display:table-cell;
  143. vertical-align:top;
  144. padding:20px 10px 20px 30px;
  145. position:relative;
  146. border-left: 15px solid rgb(252,252,252);
  147. }
  148. .comment-video-detail-info .ivu-form-item {
  149. margin-bottom:8px;
  150. }
  151. .comment-video-detail-info .ivu-form .ivu-form-item-label {
  152. font-size:14px;
  153. color:#999999;
  154. }
  155. .comment-video-detail-info .ivu-form-item-content {
  156. font-size: 14px;
  157. color: #ffffff;
  158. }
  159. .comment-video-src {
  160. display:table-cell;
  161. width:780px;
  162. box-sizing:border-box;
  163. padding:20px 20px;
  164. background:#FFFFFF;
  165. }
  166. .download-video {
  167. text-align:center;
  168. position:absolute;
  169. width:100%;
  170. bottom:20px;
  171. left:0;
  172. }
  173. .video-other {
  174. margin-top:20px;
  175. }
  176. .videos-wrap {
  177. margin:0px -10px 0px -10px;
  178. }
  179. .video-item {
  180. width: 25%;
  181. display: inline-block;
  182. padding: 0px 10px;
  183. margin-top:20px;
  184. cursor:pointer;
  185. }
  186. .video-item p {
  187. font-size: 16px;
  188. color: #000;
  189. margin-top: 10px;
  190. text-decoration: none;
  191. text-indent: 8px;
  192. }
  193. .title-header {
  194. color: #666;
  195. margin-right: 30px;
  196. display: inline-block;
  197. }
  198. .liveStatus {
  199. color: #33aafe;
  200. float: right;
  201. }
  202. .review-pane {
  203. height: 300px;
  204. background-color: #fff;
  205. overflow-y: auto;
  206. position: relative;
  207. }
  208. .review-list {
  209. overflow: hidden;
  210. font-size: 14px;
  211. margin: 8px 10px;
  212. padding-bottom: 8px;
  213. border-bottom: 1px solid #f6f6f6;
  214. }
  215. .reviewlist-title {
  216. float: left;
  217. width: 22%;
  218. color: #999;
  219. text-align: right;
  220. padding-right: 5px;
  221. }
  222. .reviewlist-content {
  223. float: left;
  224. color: #444;
  225. width: 76%;
  226. font-size: 14px;
  227. word-break: break-all;
  228. }
  229. .lastest-comment {
  230. position: absolute;
  231. top: -5px;
  232. right: 20px;
  233. padding: 5px;
  234. color: #666;
  235. z-index: 999;
  236. cursor: pointer;
  237. }
  238. .publish-review {
  239. padding: 10px;
  240. background-color: #f1f2f3;
  241. border: 1px solid #d7d8da;
  242. font-size: 14px;
  243. color: #333;
  244. width: 100%;
  245. height: 100px;
  246. resize: none;
  247. outline: none;
  248. box-sizing: border-box;
  249. }
  250. .submit-review {
  251. margin-top: 8px;
  252. color: #fff;
  253. background-color: #409eff;
  254. border-color: #409eff;
  255. margin-right: 10px;
  256. display: inline-block;
  257. float: right;
  258. cursor: pointer;
  259. width: 45px;
  260. text-align: center;
  261. height: 22px;
  262. line-height: 22px;
  263. border-radius: 2px;
  264. }
  265. .reviewlist-time {
  266. font-size: 12px;
  267. color: #ccc;
  268. }
  269. .average-score {
  270. margin-top: 20px;
  271. color: #666;
  272. font-size: 14px;
  273. }
  274. .average-score span {
  275. color: #fd8f45;
  276. }
  277. </style>