金诚优选前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

251 lines
11 KiB

  1. <template>
  2. <view class="picture-cube" :style="{marginBottom: meta.margin_bottom + 'px',background: meta.background_color}">
  3. <!--一图模式-->
  4. <view class="one-mode" v-if="showType == '1_1'">
  5. <view class="title" v-if="cubeTitle && show">
  6. <span>{{cubeTitle}}</span>
  7. </view>
  8. <view :style="' padding-left: ' + meta.padding_left + 'px; padding-right: ' + meta.padding_right + 'px; padding-bottom: ' + meta.padding_bottom + 'px; padding-top: ' + meta.padding_top + 'px;'">
  9. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  10. <image mode="widthFix" :src="cubeData[0].image"></image>
  11. </navigator>
  12. <image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  13. </view>
  14. </view>
  15. <!--二图模式-->
  16. <view class="two-mode" v-if="mode == 2">
  17. <view class="title" v-if="cubeTitle && show">
  18. <span>{{cubeTitle}}</span>
  19. </view>
  20. <!--第一种表现形式-->
  21. <view class="first-show" v-if="showType == '2_1'">
  22. <view class="item">
  23. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  24. <image mode="widthFix" :src="cubeData[0].image"></image>
  25. </navigator>
  26. <image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  27. </view>
  28. <view class="item">
  29. <navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  30. <image mode="widthFix" :src="cubeData[1].image"></image>
  31. </navigator>
  32. <image mode="widthFix" :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image>
  33. </view>
  34. </view>
  35. <!--第二种表现形式-->
  36. <view class="common-show" v-if="showType == '2_2'">
  37. <view class="item">
  38. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  39. <image mode="widthFix" :src="cubeData[0].image"></image>
  40. </navigator>
  41. <image :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  42. </view>
  43. <view class="two-item">
  44. <navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  45. <image mode="widthFix" :src="cubeData[1].image"></image>
  46. </navigator>
  47. <image mode="widthFix" :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image>
  48. </view>
  49. </view>
  50. <!--第三种表现形式-->
  51. <view class="common-show" v-if="showType == '2_3'">
  52. <view class="two-item">
  53. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  54. <image mode="widthFix" :src="cubeData[0].image"></image>
  55. </navigator>
  56. <image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  57. </view>
  58. <view class="item">
  59. <navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  60. <image mode="widthFix" :src="cubeData[1].image"></image>
  61. </navigator>
  62. <image :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image>
  63. </view>
  64. </view>
  65. </view>
  66. <!--三图模式-->
  67. <view class="three-mode" v-if="mode == 3">
  68. <view class="title" v-if="cubeTitle && show">
  69. <span>{{cubeTitle}}</span>
  70. </view>
  71. <!--第一种表现形式-->
  72. <view class="first-show" v-if="showType == '3_1'">
  73. <view class="item">
  74. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  75. <image mode="widthFix" :src="cubeData[0].image"></image>
  76. </navigator>
  77. <image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  78. </view>
  79. <view class="item">
  80. <navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  81. <image mode="widthFix" :src="cubeData[1].image"></image>
  82. </navigator>
  83. <image mode="widthFix" :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image>
  84. </view>
  85. <view class="item">
  86. <navigator target="miniProgram" hover-class="none" v-if="cubeData[2].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  87. <image mode="widthFix" :src="cubeData[2].image"></image>
  88. </navigator>
  89. <image mode="widthFix" :src="cubeData[2].image" v-else :data-src="cubeData[2].link" @tap="_jumpLink"></image>
  90. </view>
  91. </view>
  92. <!--第二种表现形式-->
  93. <view class="common-show" v-if="showType == '3_2'">
  94. <view class="item">
  95. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  96. <image mode="widthFix" :src="cubeData[0].image"></image>
  97. </navigator>
  98. <image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  99. </view>
  100. <view class="item">
  101. <view class="info">
  102. <navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  103. <image mode="widthFix" :src="cubeData[1].image"></image>
  104. </navigator>
  105. <image :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image>
  106. </view>
  107. <view class="info">
  108. <navigator target="miniProgram" hover-class="none" v-if="cubeData[2].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  109. <image mode="widthFix" :src="cubeData[2].image"></image>
  110. </navigator>
  111. <image :src="cubeData[2].image" v-else :data-src="cubeData[2].link" @tap="_jumpLink"></image>
  112. </view>
  113. </view>
  114. </view>
  115. <!--第三种表现形式-->
  116. <view class="common-show" v-if="showType == '3_3'">
  117. <view class="item">
  118. <view class="info">
  119. <navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  120. <image mode="widthFix" :src="cubeData[1].image"></image>
  121. </navigator>
  122. <image :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image>
  123. </view>
  124. <view class="info">
  125. <navigator target="miniProgram" hover-class="none" v-if="cubeData[2].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  126. <image mode="widthFix" :src="cubeData[2].image"></image>
  127. </navigator>
  128. <image :src="cubeData[2].image" v-else :data-src="cubeData[2].link" @tap="_jumpLink"></image>
  129. </view>
  130. </view>
  131. <view class="item">
  132. <navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  133. <image mode="widthFix" :src="cubeData[0].image"></image>
  134. </navigator>
  135. <image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image>
  136. </view>
  137. </view>
  138. </view>
  139. <!--四图模式-->
  140. <view class="four-mode" v-if="mode == 4">
  141. <view class="title" v-if="cubeTitle && show">
  142. <span>{{cubeTitle}}</span>
  143. </view>
  144. <!--第一种表现形式-->
  145. <view class="first-show" v-if="showType == '4_1'">
  146. <view class="item" v-for="(item, index) in cubeData" :key="index" >
  147. <navigator target="miniProgram" hover-class="none" v-if="item.link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  148. <image mode="widthFix" :src="item.image"></image>
  149. </navigator>
  150. <image mode="widthFix" :src="item.image" v-else :data-src="item.link" @tap="_jumpLink"></image>
  151. </view>
  152. </view>
  153. <!--第二种表现形式-->
  154. <view class="second-show" v-if="showType == '4_2'">
  155. <view class="item" v-for="(item, index) in cubeData" :key="index" >
  156. <navigator target="miniProgram" hover-class="none" v-if="item.link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator">
  157. <image mode="widthFix" :src="item.image"></image>
  158. </navigator>
  159. <image mode="widthFix" :src="item.image" v-else :data-src="item.link" @tap="_jumpLink"></image>
  160. </view>
  161. </view>
  162. </view>
  163. </view>
  164. </template>
  165. <script>
  166. export default {
  167. data() {
  168. return {
  169. mode: '',
  170. bottom: ''
  171. };
  172. },
  173. props: {
  174. showType: {
  175. type: String,
  176. value: ''
  177. },
  178. cubeData: {
  179. type: Array,
  180. value: ''
  181. },
  182. cubeTitle: {
  183. type: String,
  184. value: ''
  185. },
  186. show: {
  187. type: Number,
  188. value: ''
  189. },
  190. meta: {
  191. type: Object,
  192. value: ""
  193. } ,
  194. isAgent:{
  195. type:Number,
  196. value:''
  197. }
  198. },
  199. mounted() {
  200. var type = this.showType;
  201. var mode = '';
  202. mode = type.split('_')[0];
  203. this.mode=mode;
  204. },
  205. //组件的方法
  206. methods: {
  207. //图片跳链接
  208. _jumpLink(e) {
  209. var src = e.currentTarget.dataset.src;
  210. if (!src || src == 'uto_miniprogram') return;
  211. if(src == '/pages/distribution/distributionCenter/distributionCenter'){
  212. var token = this.$cookieStorage.get('user_token');
  213. if(token){
  214. var is_agent = this.isAgent;
  215. //如果不是分销员
  216. if(is_agent == 1){
  217. wx.navigateTo({
  218. url:'/pages/distribution/distributionCenter/distributionCenter'
  219. })
  220. } else{
  221. wx.navigateTo({
  222. url:'/pages/distribution/applyDistribution/applyDistribution'
  223. })
  224. }
  225. } else{
  226. var url = 'pages/index/index/index';
  227. wx.navigateTo({
  228. url: '/pages/user/register/register?url=' + url
  229. })
  230. }
  231. } else{
  232. wx.navigateTo({
  233. url: src
  234. });
  235. }
  236. }
  237. },
  238. };
  239. </script>
  240. <style rel="stylesheet/less" lang="less">
  241. @import "index-cube";
  242. </style>