金诚优选前端代码
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.

165 lines
4.2 KiB

  1. <template>
  2. <view id="self-shop">
  3. <!-- 搜索框-->
  4. <view class="search-box">
  5. <view class="item">
  6. <input type="text" @input="changeInput" placeholder="店铺名"></input>
  7. <view class="iconfont icon--sousuo" @tap="searchName"></view>
  8. </view>
  9. </view>
  10. <!-- 门店列表-->
  11. <view class="shop-list">
  12. <radio-group class="radio-group">
  13. <block v-for="(items, idx) in list" :key="idx" >
  14. <view class="item" v-for="(item, index) in items" :key="index" :data-id="item.id" :data-name="item.name" @tap="changeShop">
  15. <view class="left-box">
  16. <label class="radio">
  17. <radio :value="String(item.id)" color="#FF2741"></radio>
  18. </label>
  19. </view>
  20. <view class="right-box mx-1px-left">
  21. <view class="name">
  22. {{item.name}}
  23. </view>
  24. <view class="adress">
  25. 地址{{item.address}}
  26. </view>
  27. <!-- <view class="time adress">
  28. 营业时间周一到周日 10:00-22:00
  29. </view>-->
  30. <view class="mobile">
  31. 联系电话{{item.phone}}
  32. </view>
  33. </view>
  34. </view>
  35. </block>
  36. </radio-group>
  37. </view>
  38. </view>
  39. </template>
  40. <script>
  41. import {pageLogin, getUrl,config,is} from '@/common/js/utils.js';
  42. export default {
  43. data() {
  44. return {
  45. list: [],
  46. page: 1,
  47. more: true,
  48. init: false,
  49. seleckValue: '',
  50. name: ''
  51. };
  52. },
  53. onReachBottom() {
  54. if (this.more) {
  55. let page = this.page + 1;
  56. // this.queryShopList(page);
  57. } else {
  58. wx.showToast({
  59. image: '../../../static/error.png',
  60. title: '再拉也没有啦'
  61. });
  62. }
  63. },
  64. onShow() {
  65. /* this.queryShopList(1); */
  66. },
  67. methods: {
  68. //查询自提门店列表
  69. queryShopList(page, name) {
  70. this.$http.get({
  71. api: 'api/pick/self/store',
  72. data: {
  73. page: page,
  74. name: name || ''
  75. }
  76. }).then(res => {
  77. if (res.statusCode == 200) {
  78. res = res.data;
  79. if (res.status) {
  80. let pages = res.meta.pagination;
  81. let current_page = pages.current_page;
  82. let total_pages = pages.total_pages;
  83. this.setData({
  84. //[`list[${page - 1}]`]: res.data,
  85. page: current_page,
  86. more: current_page < total_pages,
  87. init: true
  88. });
  89. this.$set(this.list, page -1, res.data);
  90. } else {
  91. wx.showToast({
  92. title: res.message,
  93. image: '../../../static/error.png'
  94. });
  95. }
  96. } else {
  97. wx.showToast({
  98. title: '获取信息失败',
  99. image: '../../../static/error.png'
  100. });
  101. }
  102. });
  103. },
  104. changeShop(e) {
  105. let name = e.currentTarget.dataset.name;
  106. let id = e.currentTarget.dataset.id;
  107. let data = {
  108. name,
  109. id
  110. }
  111. this.$cookieStorage.set('selfShop', data);
  112. wx.navigateBack({
  113. delta: 1
  114. });
  115. },
  116. changeInput(e) {
  117. this.setData({
  118. name: e.detail.value
  119. });
  120. },
  121. searchName() {
  122. let name = this.name;
  123. /* this.queryShopList(1, name); */
  124. },
  125. setData: function (obj) {
  126. let that = this;
  127. let keys = [];
  128. let val, data;
  129. Object.keys(obj).forEach(function (key) {
  130. keys = key.split('.');
  131. val = obj[key];
  132. data = that.$data;
  133. keys.forEach(function (key2, index) {
  134. if (index + 1 == keys.length) {
  135. that.$set(data, key2, val);
  136. } else {
  137. if (!data[key2]) {
  138. that.$set(data, key2, {});
  139. }
  140. }
  141. data = data[key2];
  142. });
  143. });
  144. }
  145. },
  146. computed: {},
  147. watch: {}
  148. };
  149. </script>
  150. <style rel="stylesheet/less" lang="less">
  151. @import "selfShop";
  152. </style>