shangjia.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <template>
  2. <view class="contentV">
  3. <customNav :shownav="true" :title="$t('index.mendianliebiao')" titledetl=""></customNav>
  4. <view class="contentColumnC" style="margin-top: 16rpx;">
  5. <view class="item_content" v-for="(item,index) in mendianList" @click="gotoDetail(item.id)">
  6. <view class="contentInRowS">
  7. <netImage width="130" height="130" :mysrc="item.logo" mymode="scaleToFill"></netImage>
  8. <view class="contentColumn" style="width:520rpx ;">
  9. <text class="text2row" style="font-size: 30rpx;">{{item.posName}}</text>
  10. <view class="contentInRowS">
  11. <text style="font-size: 26rpx;color: brown;">{{item.pingf}}分</text>
  12. <text style="font-size: 26rpx;color: green;">月售{{item.ddsl}}+</text>
  13. </view>
  14. <view class="contentInRowS">
  15. <text style="font-size: 26rpx;color:dimgrey;">{{item.posPrice}}起送</text>
  16. <text style="font-size: 26rpx;">距离{{item.juli}}Km</text>
  17. </view>
  18. <view class="contentInRowL">
  19. <text class="notTextA" style="font-size: 28rpx;">新客优惠</text>
  20. <text class="notTextA" style="font-size: 28rpx;">超好吃</text>
  21. </view>
  22. </view>
  23. </view>
  24. <view class="">
  25. <scroll-view scroll-view scroll-x="true" >
  26. <view class="item_list">
  27. <view v-for="(item1, index) in item.foodList">
  28. <view class="itemA_content">
  29. <netImage width="130" height="130" :mysrc="item1.image" mymode="scaleToFill"></netImage>
  30. <view class="contentColumnC title">
  31. <text class="text2row" >{{item1.name}}</text>
  32. <text>{{item1.price}}</text>
  33. </view>
  34. </view>
  35. </view>
  36. </view>
  37. </scroll-view>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. </template>
  43. <script>
  44. import api from "@/pages/api/api.js";
  45. export default {
  46. components: {},
  47. data() {
  48. return {
  49. // 数据表名
  50. //collection: 'opendb-mall-goods',
  51. // 查询字段,多个字段用 , 分割
  52. //field: 'goods_thumb,name,goods_tip,tag,goods_price,comment_count,month_sell_count,shop_name',
  53. formData: {
  54. status: 'loading', // 加载状态
  55. },
  56. tipShow: false ,// 是否显示顶部提示框
  57. data:'',
  58. mendianList:[],
  59. status:'more',
  60. loading:true,
  61. latitude:0,
  62. longitude:0,
  63. typeID:'',
  64. serverType:'',
  65. clickable:true,
  66. page:1,
  67. juli:0
  68. };
  69. },
  70. onLoad(option) {
  71. console.log('option',option);
  72. var tempjuli=uni.getStorageSync('FuWujuli');
  73. if(''==tempjuli||null==tempjuli||undefined==tempjuli){
  74. this.juli=10;
  75. }
  76. else{
  77. this.juli=tempjuli;
  78. }
  79. this.typeID=option.id;
  80. this.serverType=option.serverType;
  81. this.latitude = option.latitude;
  82. this.longitude = option.longitude;
  83. if(null==this.serverType||undefined==this.serverType||''==this.serverType){
  84. this.getmendianlist(1);
  85. this.status = 'more';
  86. }
  87. else{
  88. this.getserverlist(1);
  89. this.status = 'more';
  90. }
  91. this.formData.status = 'loading'
  92. },
  93. methods: {
  94. /*
  95. load(data, ended) {
  96. if (ended) {
  97. this.formData.status = 'noMore'
  98. }
  99. },
  100. */
  101. gotoDetail(e){
  102. console.log(e);
  103. uni.navigateTo({
  104. url:'/pages/shanpinxungou/shangjia/merchantdetail?id='+e
  105. })
  106. },
  107. getmendianlist(page){
  108. this.tipShow = true;
  109. var data;
  110. var language='zh-TW';
  111. if(null==this.typeID||undefined==this.typeID||''==this.typeID){
  112. data= {
  113. longitude:this.longitude,
  114. latitude:this.latitude,
  115. page:page,
  116. flId:0,
  117. language:language
  118. }
  119. }
  120. else{
  121. data= {
  122. longitude:this.longitude,
  123. latitude:this.latitude,
  124. page:page,
  125. flId:this.typeID,
  126. language:language
  127. }
  128. }
  129. //console.log(data)
  130. api('getStoreList',data,
  131. r=>{
  132. console.log(r.data.data);
  133. if(this.page==1){
  134. this.mendianList=r.data.data.records;
  135. }
  136. else{
  137. if(r.data.data&&r.data.data.records.length>0){
  138. this.mendianList=this.mendianList.concat(r.data.data.records)
  139. }
  140. else{
  141. this.status = 'noMore';
  142. }
  143. }
  144. //console.log(this.mendianList)
  145. uni.stopPullDownRefresh()
  146. this.tipShow = false
  147. },failc=>{
  148. console.log(failc)
  149. uni.stopPullDownRefresh()
  150. this.tipShow = false
  151. })
  152. },
  153. getserverlist(page){
  154. this.formData.status = 'more';
  155. this.tipShow = true;
  156. var data= {
  157. longitude:this.longitude,
  158. latitude:this.latitude,
  159. page:page,
  160. area:'',
  161. serverType:this.serverType,
  162. juli:this.juli
  163. };
  164. console.log('getserverlist',data);
  165. api('getaddressList',data,
  166. r=>{
  167. console.log(r.data.data);
  168. if(this.page==1){
  169. this.mendianList=r.data.data;
  170. }
  171. else{
  172. if(r.data.data.length>0){
  173. var temp = this.mendianList;
  174. for(var i=0;i<r.data.data.length;i++){
  175. temp.push(r.data.data[i]);
  176. }
  177. this.mendianList=temp;
  178. }
  179. else{
  180. this.status = 'noMore';
  181. }
  182. }
  183. uni.stopPullDownRefresh()
  184. this.tipShow = false
  185. },failc=>{
  186. uni.stopPullDownRefresh()
  187. this.tipShow = false
  188. })
  189. },
  190. },
  191. /**
  192. * 下拉刷新回调函数
  193. */
  194. onPullDownRefresh() {
  195. this.getmendianlist(1);
  196. this.status = 'more';
  197. },
  198. /**
  199. * 上拉加载回调函数
  200. */
  201. onReachBottom() {
  202. this.page = this.page+1;
  203. this.getmendianlist(this.page);
  204. },
  205. };
  206. </script>
  207. <style lang="scss">
  208. page {
  209. display: flex;
  210. flex-direction: column;
  211. box-sizing: border-box;
  212. background-color: #efeff4;
  213. min-height: 100%;
  214. height: auto;
  215. }
  216. .item_content{
  217. background: white;
  218. width: 660rpx;
  219. margin-bottom: 30rpx;
  220. padding: 16rpx;
  221. border-radius: 16rpx;
  222. }
  223. .item_list{
  224. padding-left: 40rpx;
  225. display: flex;
  226. flex-direction: row;
  227. justify-content: flex-start;
  228. }
  229. .itemA_content{
  230. width: 150rpx;
  231. height: 220rpx;
  232. margin: 16rpx 0;
  233. padding: 14rpx;
  234. box-sizing: border-box;
  235. image{
  236. width: 130rpx;
  237. height:130rpx;
  238. background-color:whitesmoke;
  239. display: block;
  240. }
  241. .title{
  242. width: 100%;
  243. text-align: center;
  244. font-size: 24rpx;
  245. line-height: 30rpx;
  246. padding-top: 4rpx;
  247. }
  248. }
  249. </style>