e-file.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <template>
  2. <view>
  3. <view class="fileList">
  4. <view class="title" v-if="fileList[0].title">{{fileList[0].title}}</view>
  5. <view class="list">
  6. <view class="item" v-for="item in fileList" :key="item.id" @click="detail(item.filePath,item.fileName)">
  7. <view class="icon">
  8. <uni-icons type="paperplane" size="30" color="#009FE8"></uni-icons>
  9. </view>
  10. <view>
  11. <view class="name">{{item.fileName}}</view>
  12. <view class="size">{{item.fileSize}}</view>
  13. </view>
  14. </view>
  15. </view>
  16. </view>
  17. </view>
  18. </template>
  19. <script>
  20. export default {
  21. props: [
  22. "fileList"
  23. ],
  24. data() {
  25. return {
  26. };
  27. },
  28. methods: {
  29. detail(filePath,name) {
  30. uni.downloadFile({
  31. url: filePath,
  32. success: function(res) {
  33. var filePath = res.tempFilePath;
  34. uni.openDocument({
  35. filePath: filePath,
  36. success: function(res) {
  37. console.log('打开文档成功');
  38. }
  39. });
  40. }
  41. });
  42. // #ifndef APP-PLUS
  43. uni.navigateTo({
  44. // url:"../../pages/file/file?path=" + filePath + "&name=" + name,
  45. url:"../../pages/record/record_link/record_link?name=" + name + "&url=" + filePath
  46. })
  47. // #endif
  48. }
  49. }
  50. }
  51. </script>
  52. <style lang="scss">
  53. .fileList {
  54. .title {
  55. line-height: 30px;
  56. border-left: 4px solid #009FE8;
  57. border-radius: 4px;
  58. padding-left: 10px;
  59. margin-bottom: 10px;
  60. }
  61. .list {
  62. .item {
  63. padding: 20rpx 25rpx;
  64. border-bottom: 1px solid #f4f4f4;
  65. display: flex;
  66. align-items: center;
  67. .icon {
  68. padding-right: 20px;
  69. }
  70. .name {
  71. width: 540rpx;
  72. white-space: nowrap;
  73. overflow: hidden;
  74. text-overflow: ellipsis;
  75. }
  76. .size {
  77. font-size: 14px;
  78. color: #999;
  79. }
  80. }
  81. }
  82. }
  83. </style>