duo.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <view class="diy-duo-box">
  3. <view class="tui-block__box" :style="diyitem.base.bgstyle">
  4. <view v-if="diyitem.title.title.show" class="group-name-box">
  5. <view class="tui-group-name">
  6. <view>
  7. <text>{{ diyitem.title.title.txt }}</text>
  8. </view>
  9. <view v-if="diyitem.title.more.show" class="tui-more__box" @tap="navigateTo"
  10. :data-url="diyitem.title.link">
  11. <text>{{ diyitem.title.more.txt }}</text>
  12. <tui-icon name="arrowright" :size="36" unit="rpx" color="#999"></tui-icon>
  13. </view>
  14. </view>
  15. </view>
  16. <view v-if="diyitem.list.length > 0" class="diy-duo-list">
  17. <view class="diy-duo">
  18. <view
  19. :class="'duo-list display__' + diyitem.base.display + ' column__' + diyitem.base.column">
  20. <scroll-view :scroll-x="diyitem.base.display === 'slide' ? true : false">
  21. <block v-for="(dataItem, index) in diyitem.list" :key="index">
  22. <view class="duo-item" @tap="navigateTo" :data-url="dataItem.link">
  23. <view v-if="dataItem.img" class="duo-image">
  24. <image mode="widthFix"
  25. :style="'border-radius:' + diyitem.base.borderradius + '%'"
  26. :src="dataItem.img">
  27. </image>
  28. </view>
  29. <view v-if="dataItem.text.show" class="duo-name twolist-hidden f-28"
  30. :style="{ color: dataItem.text.color }">
  31. {{ dataItem.text.txt }}
  32. </view>
  33. </view>
  34. </block>
  35. </scroll-view>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </template>
  42. <script>
  43. export default {
  44. name: 'duo',
  45. props: {
  46. diyitem: {
  47. type: Object,
  48. default () {
  49. return {};
  50. }
  51. }
  52. },
  53. computed: {
  54. },
  55. data() {
  56. return {};
  57. },
  58. methods: {
  59. navigateTo: function(e) {
  60. this.sam.diynavigateTo(e)
  61. }
  62. }
  63. };
  64. </script>
  65. <style>
  66. @import './diyapge.css';
  67. </style>