user.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <template>
  2. <view class="pageBg">
  3. <view class="page-header">
  4. <view class="contain">
  5. <view class="page-header-content">
  6. <view class="page-header-content-left">
  7. <view class="" @click="onInfo">
  8. <u-avatar :src="src" size="100"></u-avatar>
  9. <!-- :src="userdata ? userdata.avatarUrl : null" -->
  10. </view>
  11. </view>
  12. <view class="page-header-content-center">
  13. <view>
  14. <view class="fz16px mt5px">{{userdata && userdata.nickName ? userdata.nickName : '22222'}}
  15. </view>
  16. </view>
  17. </view>
  18. </view>
  19. </view>
  20. <!-- 订单 -->
  21. <view class="mt20px">
  22. <view class="contain">
  23. <view class="box">
  24. <u-row justify="center">
  25. <u-col span="8">
  26. <view class="">我的订单</view>
  27. </u-col>
  28. <u-col span="4">
  29. <view class="text-right" @click="openPage('/pages/order/myOrder/myOrder?type=0');">
  30. <text class="fz14px" style="color: #96989e;">全部订单</text>
  31. <view style="display: inline-block;">
  32. <u-icon name="arrow-right" color="#96989e" size="24"></u-icon>
  33. </view>
  34. </view>
  35. </u-col>
  36. </u-row>
  37. <view class="flex-box mt20px">
  38. <view class="flex-box-item" @click="openPage('/pages/order/myOrder/myOrder?type=1')">
  39. <uni-badge size="normal" :text="txts" absolute="rightTop">
  40. <u-icon name="rmb-circle" labelColor="#96989e" labelPos="bottom" labelSize="14px"
  41. label="待付款" size="40"></u-icon>
  42. </uni-badge>
  43. </view>
  44. <view class="flex-box-item" @click="openPage('/pages/order/myOrder/myOrder?type=2')">
  45. <u-icon name="clock" labelColor="#96989e" label="待核销" labelSize="14px" labelPos="bottom"
  46. size="40"></u-icon>
  47. </view>
  48. <view class="flex-box-item" @click="openPage('/pages/order/myOrder/myOrder?type=3')">
  49. <u-icon name="close-circle" label="已取消" labelColor="#96989e" labelSize="14px"
  50. labelPos="bottom" size="40"></u-icon>
  51. </view>
  52. <view class="flex-box-item" @click="openPage('/pages/order/myOrder/myOrder?type=4')">
  53. <u-icon name="bag" label="已完成" labelColor="#96989e" labelSize="14px" labelPos="bottom"
  54. size="40"></u-icon>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. </view>
  60. </view>
  61. <view class="mt20px">
  62. <view class="contain mt20px">
  63. <view class="box mt20px">
  64. <view class="mb10px">我的应用</view>
  65. <view class="flex-box mt20px">
  66. <view class="flex-box-item" @click="openPage('/pages/user/myInfo')">
  67. <u-icon name="account" labelColor="#96989e" labelPos="bottom" labelSize="14px" label="个人信息"
  68. size="40"></u-icon>
  69. </view>
  70. <view class="flex-box-item" @click="openPage(`/pages/diningCar/diningCar?id=${cList.id}`)">
  71. <u-icon name="car" labelColor="#96989e" label="餐车信息" labelSize="14px" labelPos="bottom"
  72. size="40"></u-icon>
  73. </view>
  74. <view class="flex-box-item" @click="call">
  75. <u-icon name="kefu-ermai" label="客服电话" labelColor="#96989e" labelSize="14px"
  76. labelPos="bottom" size="40"></u-icon>
  77. </view>
  78. </view>
  79. </view>
  80. <!-- <u-button type="error" @click="exitMP()">退出登录</u-button> -->
  81. </view>
  82. </view>
  83. </view>
  84. </template>
  85. <script>
  86. import iAvg from '../../static/avg.png'
  87. export default {
  88. data() {
  89. return {
  90. userdata: {
  91. avg: '../../static/avg.png',
  92. phone: '',
  93. nickName: ''
  94. },
  95. src: iAvg,
  96. cPhone: '',
  97. cList: {},
  98. txts: 0
  99. }
  100. },
  101. onLoad() {
  102. const e = uni.getStorageSync('info')
  103. this.cPhone = e
  104. this.fatchDate()
  105. this.tables()
  106. const q = uni.getStorageSync('carl')
  107. this.cList = q
  108. },
  109. methods: {
  110. openPage(path) {
  111. this.$u.route({
  112. url: path
  113. })
  114. },
  115. fatchDate() {
  116. wx.getUserInfo({
  117. success: (res) => {
  118. console.log(res)
  119. this.userdata = res.userInfo
  120. console.log(res.userInfo)
  121. }
  122. })
  123. },
  124. async tables() {
  125. const q = uni.getStorageSync('carl')
  126. const params = {
  127. storeId: q.id
  128. }
  129. const res = await this.$request('get', '/order/tradeOrder/queryTradeOrder', params)
  130. if (res) {
  131. console.log('result11111111111111111', res.rows)
  132. const l = res.rows.filter(item => item.orderState == '1')
  133. console.log('==========', l)
  134. this.txts = l.length
  135. // 目前仅弄了待付款的
  136. }
  137. },
  138. call() {
  139. console.log('eeeeeeeeeeeeeeee===============', this.cPhone)
  140. if (this.cPhone.customerPhone) {
  141. uni.makePhoneCall({
  142. phoneNumber: this.cPhone.customerPhone
  143. })
  144. } else {
  145. uni.showToast({
  146. icon: 'none',
  147. title: '暂无商家电话'
  148. })
  149. }
  150. },
  151. onInfo() {
  152. uni.navigateTo({
  153. url: `/pages/user/myInfo`
  154. });
  155. }
  156. }
  157. }
  158. </script>
  159. <style lang="scss">
  160. .page-header {
  161. width: 100%;
  162. display: inline-block;
  163. padding-top: 60rpx;
  164. background-size: cover;
  165. background-position: left;
  166. background-repeat: no-repeat;
  167. background-image: linear-gradient(to bottom, #FBBD69, #F97023);
  168. height: 35vh;
  169. &-content {
  170. display: flex;
  171. flex-direction: column; // 设置 Flex 方向为垂直
  172. align-items: center; // 水平居中子元素
  173. justify-content: center; // 垂直居中子元素
  174. &-left {
  175. margin-right: 20rpx;
  176. .avator {
  177. display: inline-block;
  178. border: 2px solid #fff;
  179. border-radius: 50%;
  180. }
  181. }
  182. &-center {
  183. flex: 1;
  184. color: #fff;
  185. }
  186. &-right {
  187. width: 60rpx;
  188. }
  189. }
  190. }
  191. .box {
  192. padding: 30rpx;
  193. border-radius: 20rpx;
  194. background-color: #fff;
  195. }
  196. .flex-box {
  197. display: flex;
  198. text-align: center;
  199. background-color: #F1F3F8;
  200. border-radius: 10rpx;
  201. &-item {
  202. flex: 1;
  203. margin: 10px;
  204. position: relative;
  205. .line {
  206. height: 70%;
  207. width: 1px;
  208. background-color: #ebebeb;
  209. position: absolute;
  210. right: 0;
  211. top: 50%;
  212. transform: translateY(-50%);
  213. }
  214. }
  215. }
  216. .pageBg {
  217. background-color: #EFF2F7
  218. }
  219. </style>