index.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <view>
  3. <model1 :shareNumber='shareNumber' @openImage='openImage' :isDefault='isDefault' v-if="modelId==3||modelId==1"
  4. :templateDetail='templateData' :isShare='isShare' :isLook='isLook'></model1>
  5. <model2 :shareNumber='shareNumber' @openImage='openImage' :isDefault='isDefault' v-if="modelId==4" :templateDetail='templateData'
  6. :isShare='isShare' :isLook='isLook'></model2>
  7. <model3 :shareNumber='shareNumber' @openImage='openImage' :isDefault='isDefault' v-if="modelId==5" :templateDetail='templateData'
  8. :isShare='isShare' :isLook='isLook'></model3>
  9. <template v-if="templateData.service_imgs && templateData.service_imgs.length > 0">
  10. <q-previewImage ref="previewImage" :urls="imageList" @open="open"
  11. @close="close"></q-previewImage>
  12. </template>
  13. </view>
  14. </template>
  15. <script>
  16. import model1 from './modeltemplate/model_1.vue';
  17. import model2 from './modeltemplate/model_2.vue'
  18. import model3 from './modeltemplate/model_3.vue'
  19. export default {
  20. props: {
  21. // 浏览数量
  22. shareNumber: {
  23. type: Number,
  24. default: 0
  25. },
  26. // 是否显示默认数据
  27. isDefault: {
  28. type: Boolean,
  29. default: true
  30. },
  31. templateData: {
  32. type: Object,
  33. default: () => {
  34. return {}
  35. }
  36. },
  37. isShare: {
  38. type: Boolean,
  39. default: false
  40. },
  41. //1为模板2为用户
  42. isLook: {
  43. type: Number,
  44. default: 0
  45. },
  46. modelId: {
  47. type: Number,
  48. default: 0
  49. },
  50. },
  51. components: {
  52. model1,
  53. model2,
  54. model3
  55. },
  56. computed: {
  57. imageList() {
  58. try{
  59. let templateData = this.templateData;
  60. let arr = [];
  61. if(templateData.service_intro_imgs && templateData.service_intro_imgs.length > 0){
  62. arr = [...templateData.service_intro_imgs]
  63. }
  64. if (templateData.service_audit_imgs && templateData.service_audit_imgs.length > 0) {
  65. arr = arr.concat(templateData.service_audit_imgs)
  66. }
  67. if (templateData.service_imgs && templateData.service_imgs.length > 0) {
  68. arr = arr.concat(templateData.service_imgs)
  69. }
  70. return arr
  71. }catch(e){
  72. console.log(e,'eeee')
  73. return []
  74. //TODO handle the exception
  75. }
  76. }
  77. },
  78. methods: {
  79. openImage(item) {
  80. this.$nextTick(() => {
  81. this.$refs.previewImage.open(item);
  82. })
  83. },
  84. open() { //监听组件显示 (隐藏TabBar和NavigationBar,隐藏video原生组件)
  85. // uni.hideTabBar()
  86. // uni.setNavigationBarColor({
  87. // frontColor: '#000000', // 设置前景色为黑色
  88. // backgroundColor: '#000000', // 设置背景色为黑色
  89. // })
  90. // this.videoShow = false
  91. },
  92. close() { //监听组件隐藏 (显示TabBar和NavigationBar,显示video原生组件)
  93. // uni.showTabBar()
  94. // uni.setNavigationBarColor({
  95. // frontColor: '#ffffff', // 设置前景色为白色
  96. // backgroundColor: '#000000', // 设置背景色为黑色
  97. // })
  98. // this.videoShow = true
  99. }
  100. },
  101. data() {
  102. return {
  103. model: 0
  104. }
  105. },
  106. onLoad() {
  107. uni.postMessage('打开页面')
  108. },
  109. onUnload() {
  110. uni.postMessage('关闭页面')
  111. }
  112. }
  113. </script>