questionlist.vue 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <template>
  2. <!-- pages/me.wxml -->
  3. <view class="container">
  4. <tabs :list="tabs" tab-class="tab-class" :showBadge="true" :swiper="true" activeColor="#07c160" normalColor="#000000" @change="tabChange">
  5. <tab-page :slot="item.name" v-for="(item, index) in tabs" :key="index">
  6. <view v-if="index == 0" class="container">
  7. <view class="rnwdList">
  8. <view class="list" @tap="goDetails(item1.id)" v-for="(item1, index1) in allQuestion" :key="index1">
  9. <span class="listTitle">{{ item1.title }}</span>
  10. <view class="onePic" v-if="item1.paths!=null&&item1.paths.length == 1">
  11. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  12. </view>
  13. <view class="twoPic" v-if="item1.paths!=null&&item1.paths.length == 2">
  14. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  15. </view>
  16. <view class="threePic" v-if="item1.paths!=null&&item1.paths.length == 3">
  17. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  18. </view>
  19. <view class="jlSj">
  20. <span class="jf">
  21. {{ item1.score }}
  22. <em class="iconfont icon-jifen"></em>
  23. </span>
  24. <view class="ck">
  25. <span>
  26. <em class="iconfont icon-pinglun"></em>
  27. {{ item1.comment }}
  28. </span>
  29. <span>
  30. <em class="iconfont icon-chakan"></em>
  31. {{ item1.browse }}
  32. </span>
  33. <span>
  34. <em class="iconfont icon-shoucang"></em>
  35. {{ item1.collect }}
  36. </span>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. <view v-if="index == 1" class="rnwdList">
  43. <view class="rnwdList">
  44. <view class="list" @tap="goDetails(item1.id)" v-for="(item1, index1) in excitingAnswersList" :key="index1">
  45. <span class="listTitle">{{ item1.title }}</span>
  46. <view class="onePic" v-if="item1.paths!=null&&item1.paths.length == 1">
  47. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  48. </view>
  49. <view class="twoPic" v-if="item1.paths!=null&&item1.paths.length == 2">
  50. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  51. </view>
  52. <view class="threePic" v-if="item1.paths!=null&&item1.paths.length == 3">
  53. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  54. </view>
  55. <view class="jlSj">
  56. <span class="jf">
  57. {{ item1.score }}
  58. <em class="iconfont icon-jifen"></em>
  59. </span>
  60. <view class="ck">
  61. <span>
  62. <em class="iconfont icon-pinglun"></em>
  63. {{ item1.comment }}
  64. </span>
  65. <span>
  66. <em class="iconfont icon-chakan"></em>
  67. {{ item1.browse }}
  68. </span>
  69. <span>
  70. <em class="iconfont icon-shoucang"></em>
  71. {{ item1.collect }}
  72. </span>
  73. </view>
  74. </view>
  75. </view>
  76. </view>
  77. </view>
  78. <view v-if="index == 2" class="rnwdList">
  79. <view class="rnwdList">
  80. <view class="list" @tap="goDetails(item1.id)" v-for="(item1, index1) in maxScoreList" :key="index1">
  81. <span class="listTitle">{{ item1.title }}</span>
  82. <view class="onePic" v-if="item1.paths!=null&&item1.paths.length == 1">
  83. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  84. </view>
  85. <view class="twoPic" v-if="item1.paths!=null&&item1.paths.length == 2">
  86. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  87. </view>
  88. <view class="threePic" v-if="item1.paths!=null&&item1.paths.length == 3">
  89. <image :src="loadImgSrcLocalhost(path)" v-for="(path, index2) in item1.paths" :key="index2"></image>
  90. </view>
  91. <view class="jlSj">
  92. <span class="jf">
  93. {{ item1.score }}
  94. <em class="iconfont icon-jifen"></em>
  95. </span>
  96. <view class="ck">
  97. <span>
  98. <em class="iconfont icon-pinglun"></em>
  99. {{ item1.comment }}
  100. </span>
  101. <span>
  102. <em class="iconfont icon-chakan"></em>
  103. {{ item1.browse }}
  104. </span>
  105. <span>
  106. <em class="iconfont icon-shoucang"></em>
  107. {{ item1.collect }}
  108. </span>
  109. </view>
  110. </view>
  111. </view>
  112. </view>
  113. </view>
  114. </tab-page>
  115. </tabs>
  116. </view>
  117. </template>
  118. <script>
  119. import tabs from '@/components/tabs/tabs.vue';
  120. import tabPage from '@/components/tab-page/tab-page.vue';
  121. import {getAllQuestionByType,getExcitingAnswersList,getMaxScoreList} from '@/api/asking/questionlist.js';
  122. // pages/me.js
  123. var localData = require('@/data/json');
  124. const app = getApp();
  125. export default {
  126. components: {
  127. tabs,
  128. tabPage
  129. },
  130. data() {
  131. return {
  132. form:{},
  133. allQuestion: [],
  134. excitingAnswersList: [],
  135. maxScoreList: [],
  136. currentIndex: 0,
  137. //默认是活动项
  138. tabs: [
  139. {
  140. name: '全部问答'
  141. },
  142. {
  143. name: '精彩问答'
  144. },
  145. {
  146. name: '最多悬赏'
  147. }
  148. ]
  149. };
  150. },
  151. /**
  152. * 生命周期函数--监听页面加载
  153. */
  154. onLoad(options) {
  155. this.getAllQuestionByType(uni.getStorageSync('id'))
  156. this.getExcitingAnswersList(uni.getStorageSync('id'))
  157. this.getMaxScoreList(uni.getStorageSync('id'))
  158. uni.setNavigationBarTitle({
  159. title: options.type
  160. });
  161. },
  162. methods: {
  163. tabChange: function (e) {
  164. },
  165. //按类型获取全部问题列表
  166. getAllQuestionByType(id){
  167. this.form.id = id
  168. getAllQuestionByType(this.form).then(res =>{
  169. this.allQuestion = res.rows
  170. })
  171. },
  172. //按类型获取精彩问题列表
  173. getExcitingAnswersList(id){
  174. this.form.id = id
  175. getExcitingAnswersList(this.form).then(res =>{
  176. this.excitingAnswersList = res.rows
  177. })
  178. },
  179. //按类型获取最多悬赏问题列表
  180. getMaxScoreList(id){
  181. this.form.id = id
  182. getMaxScoreList(this.form).then(res =>{
  183. this.maxScoreList = res.rows
  184. })
  185. },
  186. goDetails(id) {
  187. uni.navigateTo({
  188. url: '/pages/asking/questiondetails?id='+id
  189. });
  190. }
  191. }
  192. };
  193. </script>
  194. <style>
  195. @import '@/pages/asking/questionlist.css';
  196. </style>