myStore.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <template>
  2. <view>
  3. <!-- 搜索 -->
  4. <view>
  5. <view class="search-box ddflex">
  6. <image class="search-icon" src="../../static/images/ssico.png"></image>
  7. <input v-model="searchValue" confirm-type="search" @confirm="searchFn" class="fflex" placeholder="请输入商家名称或电话"/>
  8. <view class="search-btn" @click="searchFn">搜索</view>
  9. </view>
  10. </view>
  11. <!-- 图表统计 -->
  12. <view class="echart-box">
  13. <view class="sssb-box ddflex">
  14. <view class="sssb-item">
  15. <view class="sssb-label">商家总数</view>
  16. <view class="sssb-data sssb-color">{{statisticData.merchantCount?statisticData.merchantCount:0}}</view>
  17. </view>
  18. <view class="sssb-line"></view>
  19. <view class="sssb-item">
  20. <view class="sssb-label">门店总数</view>
  21. <view class="sssb-data sssb-color">{{statisticData.storeCount?statisticData.storeCount:0}}</view>
  22. </view>
  23. </view>
  24. </view>
  25. <view>
  26. <view class="sjyy-item" v-for="item,index in 10">
  27. <view class="ddflex">
  28. <view class="sjyy-header">
  29. <image src="../../static/pages/images/wdsj.png"></image>
  30. </view>
  31. <view class="fflex">
  32. <view class="sjyy-name ddflex">
  33. <view>宋秀兰</view>
  34. <view class="sjyy-name-label">我的商家</view>
  35. </view>
  36. <view class="sjyy-phone">13815141671</view>
  37. </view>
  38. <view>
  39. <image style="width: 48rpx;height: 48rpx;margin-left: 20rpx;" src="../../static/pages/images/call.png"></image>
  40. </view>
  41. </view>
  42. <view class="sjyy-data ddflex">
  43. <image style="width: 26rpx;height: 26rpx;margin-right: 10rpx;" src="../../static/pages/images/address-icon.png"></image>
  44. <view class="tover fflex" style="font-size: 24rpx;line-height: 36rpx;color: #A8A5A5;">朝阳区金台路道家园1号</view>
  45. </view>
  46. <!-- <view class="sjyy-data ddflex">
  47. <view class="sjyy-data-item fflex">
  48. <view class="sssb-data sssb-color">10242.00</view>
  49. <view class="sssb-label">累计收益</view>
  50. </view>
  51. <view class="sjyy-data-item fflex">
  52. <view class="sssb-data sssb-color">1915.00</view>
  53. <view class="sssb-label">今日收益</view>
  54. </view>
  55. <view class="sjyy-data-item fflex">
  56. <view class="sssb-data sssb-color">9154.00</view>
  57. <view class="sssb-label">本月收益</view>
  58. </view>
  59. </view> -->
  60. <view class="sjyy-data ddflex">
  61. <view class="sjyy-data-item fflex">
  62. <view class="sssb-data sssb-color">56</view>
  63. <view class="sssb-label">机柜数</view>
  64. </view>
  65. <view class="sjyy-data-item fflex">
  66. <view class="sssb-data sssb-color">50%</view>
  67. <view class="sssb-label">分润</view>
  68. </view>
  69. <view class="sjyy-data-item fflex">
  70. <view class="sssb-data sssb-color">5</view>
  71. <view class="sssb-label">门店数</view>
  72. </view>
  73. </view>
  74. <view class="ddflex" style="justify-content: space-between;margin-top: 30rpx;">
  75. <view class="sjyy-btn" style="border: 2rpx solid #EB5C20;color: #EB5C20;" @click="jumpUrl()">查看订单</view>
  76. <view class="sjyy-btn" @click="jumpUrl()">查看设备</view>
  77. <view class="sjyy-btn" @click="jumpUrl('/pages/operationDataPersonal/operationDataPersonal')">运营情况</view>
  78. </view>
  79. </view>
  80. </view>
  81. </view>
  82. </template>
  83. <script>
  84. const app = getApp();
  85. const req = require("../../utils/request.js");
  86. export default {
  87. components: {},
  88. props: {},
  89. data() {
  90. return {
  91. statisticData:{},
  92. groupList: [],
  93. page: 1,
  94. limit: 3,
  95. searchValue:'',
  96. isQuerying:false,//正在查询数据
  97. }
  98. },
  99. onLoad(options) {
  100. this.getDataList()
  101. },
  102. onShow() {
  103. this.getStatisticData()
  104. },
  105. onReachBottom() {
  106. this.getDataList(true)
  107. },
  108. methods: {
  109. getStatisticData() {
  110. return new Promise((r, j) => {
  111. req.getRequest('/admin/v2/statistic/top', {}, res => {
  112. console.log('statistic top', res)
  113. this.statisticData = res
  114. r(res)
  115. })
  116. })
  117. },
  118. getDataList(isPage) {
  119. if(this.isQuerying) return
  120. else this.isQuerying = true
  121. if (!isPage) {
  122. this.page = 1
  123. }
  124. let queryParams = {
  125. page: this.page,
  126. limit: this.limit,
  127. }
  128. if(this.searchValue){
  129. queryParams.name=this.searchValue
  130. }
  131. req.getRequest(
  132. '/admin/v2/merchant/page',
  133. queryParams,
  134. data => {
  135. if (data != null && data.list.length > 0) {
  136. if (!isPage) {
  137. this.groupList = data.list
  138. } else {
  139. this.groupList = this.groupList.concat(data.list)
  140. }
  141. this.page++
  142. } else {
  143. if (!isPage)
  144. this.groupList = data.list
  145. else {}
  146. }
  147. uni.hideLoading()
  148. this.isQuerying = false
  149. }
  150. )
  151. },
  152. searchFn(){
  153. this.getDataList()
  154. }
  155. },
  156. mounted() {
  157. },
  158. onPageScroll: function(e) {
  159. }
  160. }
  161. </script>
  162. <style>
  163. @import "./myStore.css";
  164. </style>