index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <template>
  2. <view class="container">
  3. <!-- #ifdef H5 -->
  4. <view style="color: #fff;">
  5. <tn-nav-bar backgroundColor="#26B3A0" :bottomShadow="false">凭证信息
  6. <!-- <template slot="right">
  7. 课程购买记录
  8. </template> -->
  9. </tn-nav-bar>
  10. <view :style="{ height: tobheight + 'px' }"></view>
  11. </view>
  12. <!-- #endif -->
  13. <view class="detailBox">
  14. <view class="label1">
  15. 凭证文案
  16. </view>
  17. <view class="content">
  18. {{detail.perform}}
  19. </view>
  20. <view class="label1">
  21. 图片
  22. </view>
  23. <view class="chooscontainer">
  24. <view class="addpicall" v-for="(item,index) in detail.perform_image" :key="index">
  25. <image style="width: 184rpx;height:186rpx;border-radius: 20rpx;" @click="previewImg(item)"
  26. :src="item" mode="aspectFill"></image>
  27. </view>
  28. </view>
  29. <view class="label1">
  30. 视频
  31. </view>
  32. <view class="chooscontainer">
  33. <view class="addpicall" v-for="(item,index) in detail.perform_video" :key="index">
  34. <!-- <video :src="item"></video> -->
  35. <image class=".image" style="width: 184rpx;height:186rpx;border-radius: 20rpx;"
  36. @click="previewVideo(item)" :src="item+'?x-oss-process=video/snapshot,t_0,m_fast,f_jpg,ar_auto'"
  37. mode="aspectFill"></image>
  38. <image @click="previewVideo(item)" class="playBtn" src="/static/bofang.png" mode=""></image>
  39. </view>
  40. </view>
  41. <view class="label1" v-if="pdfFileName">
  42. PDF文件
  43. </view>
  44. <view @click="viewPdf(pdfFileName)" class="pdfName" style="padding-left: 30rpx;margin-top: 10rpx;"
  45. v-if="pdfFileName">
  46. {{pdfFileName}}
  47. </view>
  48. </view>
  49. <!-- 全屏预览视频 -->
  50. <view class="preview-full" v-if="previewVideoSrc!=''">
  51. <video :autoplay="true" :src="previewVideoSrc" :show-fullscreen-btn="false">
  52. <!-- 退出全屏预览按钮 -->
  53. <cover-view class="preview-full-close" @click="previewVideoClose"> ×
  54. </cover-view>
  55. </video>
  56. </view>
  57. </view>
  58. </template>
  59. <script>
  60. import {
  61. myTaskOrderDetail
  62. } from '@/api/my/index.js'
  63. export default {
  64. components: {},
  65. data() {
  66. return {
  67. previewVideoSrc: '',
  68. pic_url: [],
  69. tobheight: 45,
  70. detail: {},
  71. pdfFileName: ''
  72. };
  73. },
  74. computed: {
  75. },
  76. watch: {
  77. },
  78. async onLoad(o) {
  79. let res = await myTaskOrderDetail({
  80. task_order_id: o.id
  81. })
  82. if (res.code == 0) {
  83. this.detail = res.data
  84. this.pdfFileName = res.data.perform_file[0]
  85. }
  86. console.log('任务订单凭证详情', this.detail);
  87. },
  88. onReady() {
  89. },
  90. onShow() {
  91. },
  92. onUnload() {
  93. },
  94. methods: {
  95. viewPdf(pdfFileName) {
  96. window.open(pdfFileName)
  97. },
  98. previewVideo(src) {
  99. console.log('1111111111111111111111', src);
  100. // 预览视频
  101. this.previewVideoSrc = src;
  102. },
  103. previewVideoClose() {
  104. this.previewVideoSrc = ''
  105. },
  106. //点击预览图片
  107. previewImg(item) {
  108. uni.previewImage({
  109. current: item,
  110. urls: this.detail.perform_image, //存放图片的数组
  111. loop: true,
  112. indicator: 'default'
  113. })
  114. },
  115. }
  116. };
  117. </script>
  118. <style lang="scss" scoped>
  119. @import './index.scss';
  120. </style>