0275e7fa485290b5e795585663e1b115334cee9a.svn-base 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <template>
  2. <div id="dxstianbaoId">
  3. <el-container>
  4. <div class="minHeight" style="display: flex;justify-content: center;margin-top: 20px;">
  5. <div>
  6. <p style="font-size:25px;padding-bottom:10px;color: #409EFF;">督查填报指导视频</p>
  7. <div style="margin-bottom:20px;width:1025px">
  8. <video-player class="video-player vjs-custom-skin"
  9. ref="videoPlayer"
  10. :playsinline="true"
  11. :options="playerOptions"
  12. ></video-player>
  13. </div>
  14. <el-steps direction="vertical" :active="1">
  15. <el-step title="方法/步骤 1" description="第一步:打开督查填报页面。鼠标移动至督查填报,点击需要进行填报的督查类型,比如:水库督查填报 1">
  16. </el-step>
  17. <div style="margin-bottom:20px">
  18. <img :src="dctb_img0_src" style="width:1025px">
  19. </div>
  20. <el-step :active="2" title="方法/步骤 2" description="第二步:督查填报。
  21. 首先点击选择督查计划;
  22. 二是设置筛选条件并点击查询;
  23. 三是点击【编辑】">
  24. </el-step>
  25. <div style="margin-bottom:20px">
  26. <img :src="dctb_img1_src" style="width:1025px">
  27. </div>
  28. <el-step title="方法/步骤 3" description=" 四是填报,可以切换填报内容、添加问题、查看问题清单等. ">
  29. </el-step>
  30. <div style="margin-bottom:20px">
  31. <img :src="dctb_img2_src" style="width:1025px">
  32. </div>
  33. <el-step title="方法/步骤 4" description="第三步:批量填报。点击【下载模板】——系统外编辑——点击【批量填报】——点击上传。">
  34. </el-step>
  35. <div style="margin-bottom:20px">
  36. <img :src="dctb_img3_src" style="width:1025px">
  37. </div>
  38. <p style="font-size:25px;margin-top:10px;color:red">注意:第二步和第三步只是督查填报的两种方式,没有先后之分。</p>
  39. </el-steps>
  40. </div>
  41. </div>
  42. </el-container>
  43. </div>
  44. </template>
  45. <script>
  46. import request from "../../utils/gw_ajax_request.js";
  47. import 'video.js/dist/video-js.css';
  48. import {videoPlayer} from 'vue-video-player';
  49. import {hostUrl} from '@util/global_variable_help.js'
  50. // Similarly, you can also introduce the plugin resource pack you want to use within the component
  51. // import 'some-videojs-plugin'
  52. export default {
  53. components: {},
  54. data() {
  55. return {
  56. playerOptions: {
  57. playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
  58. autoplay: false, //如果true,浏览器准备好时开始回放。
  59. muted: false, // 默认情况下将会消除任何音频。
  60. loop: false, // 导致视频一结束就重新开始。
  61. preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
  62. language: 'zh-CN',
  63. aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
  64. fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
  65. sources: [{
  66. type: 'video/mp4', // 类型
  67. src: `${hostUrl}/video/duchatianbao.mp4` // 路径
  68. }],
  69. // poster: "/static/images/author.jpg",
  70. poster: "../../static/images/test.jpg", //你的封面地址
  71. // width: document.documentElement.clientWidth,
  72. notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。
  73. controlBar: {
  74. timeDivider: true,
  75. durationDisplay: true,
  76. remainingTimeDisplay: false,
  77. fullscreenToggle: true //全屏按钮
  78. }
  79. },
  80. dctb_img0_src: require('../../assets/images_helpLink/duchatianbao/dctb_img0.png'),
  81. dctb_img1_src: require('../../assets/images_helpLink/duchatianbao/dctb_img1.png'),
  82. dctb_img2_src: require('../../assets/images_helpLink/duchatianbao/dctb_img2.png'),
  83. dctb_img3_src: require('../../assets/images_helpLink/duchatianbao/dctb_img3.png'),
  84. }
  85. },
  86. mounted() {
  87. console.log('this is current player instance object', this.player)
  88. },
  89. computed: {
  90. player() {
  91. return this.$refs.videoPlayer.player
  92. },
  93. persId() {
  94. return localStorage.getItem("userid")
  95. ? localStorage.getItem("userid")
  96. : "1098101939614724096";
  97. },
  98. recPersName() {
  99. return localStorage.getItem("account") ? localStorage.getItem("account") : ''
  100. }
  101. },
  102. methods: {
  103. // listen event
  104. onPlayerPlay(player) {
  105. // console.log('player play!', player)
  106. },
  107. onPlayerPause(player) {
  108. // console.log('player pause!', player)
  109. },
  110. // ...player event
  111. // or listen state event
  112. playerStateChanged(playerCurrentState) {
  113. // console.log('player current update state', playerCurrentState)
  114. },
  115. onPlayerEnded(playerCurrentState) {
  116. console.log('player current update state', playerCurrentState)
  117. },
  118. // player is ready
  119. playerReadied(player) {
  120. console.log('the player is readied', player)
  121. // you can use it to do something...
  122. // player.[methods]
  123. }
  124. }
  125. }
  126. </script>
  127. <style lang="scss" scoped>
  128. #dxstianbaoId {
  129. background-color: #E4FDFF;
  130. overflow: auto;
  131. height: 100%;
  132. padding: 0 20px;
  133. .minHeight {
  134. width: 100%;
  135. }
  136. }
  137. </style>
  138. <style lang="scss">
  139. .minHeight .el-step.is-vertical .el-step__title,
  140. .el-step__title.is-process,
  141. .el-step__title.is-wait {
  142. font-size: 25px;
  143. padding-bottom: 10px;
  144. padding-top: 10px;
  145. color: #409EFF;
  146. font-weight: 700;
  147. }
  148. .minHeight .el-step__icon.is-text {
  149. border-color: #409EFF;
  150. }
  151. .minHeight .el-step__icon-inner {
  152. color: #409EFF;
  153. }
  154. .minHeight .el-step__description.is-finish,
  155. .el-step__description.is-process,
  156. .el-step__description.is-wait {
  157. font-size: 20px;
  158. padding: 10px 0px;
  159. color: #409EFF;
  160. }
  161. .video-js .vjs-big-play-button {
  162. top: 265px;
  163. left: 468px;
  164. }
  165. </style>