青蛙卖大米小程序2024-11-24
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.

397 lines
7.8 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. <template>
  2. <view class="page">
  3. <navbar title="个人中心" />
  4. <view class="head">
  5. <view class="headImage">
  6. <image :src="userInfo.headImage" mode=""></image>
  7. </view>
  8. <view class="info">
  9. <view class="name">
  10. <view class="one">{{ userInfo.nickName }}</view>
  11. <view class="two">黄金会员</view>
  12. </view>
  13. <view class="vip">
  14. ID{{ userInfo.id }}
  15. </view>
  16. <view class="tips">
  17. 注册时间{{ userInfo.createTime }}
  18. </view>
  19. </view>
  20. <!-- <view class="setting">
  21. <uv-icon name="setting" size="40rpx"></uv-icon>
  22. </view> -->
  23. </view>
  24. <view class="earnings">
  25. <view class="member">
  26. <view>会员等级黄金会员</view>
  27. <view>查看权益></view>
  28. </view>
  29. <view class="deposit">
  30. <view class="box"
  31. @click="$utils.navigateTo('/pages_order/mine/balance')">
  32. <view>
  33. <view class="num">1.00</view>
  34. <view class="text">收益明细()</view>
  35. </view>
  36. <view class="boxs">收益明细</view>
  37. </view>
  38. <view class="box">
  39. <view
  40. @click="$utils.navigateTo('/pages_order/mine/balance')">
  41. <view class="num">1.00</view>
  42. <view class="text">余额()</view>
  43. </view>
  44. <view class="boxs"
  45. @click="$utils.navigateTo('/pages_order/mine/recharge')">去充值</view>
  46. </view>
  47. <view class="box">
  48. <view
  49. @click="$utils.navigateTo('/pages_order/mine/commission')">
  50. <view class="num" style="border: none;">1.00</view>
  51. <view class="text">可提现()</view>
  52. </view>
  53. <view class="boxs"
  54. @click="$utils.navigateTo('/pages_order/mine/withdraw')">去提现</view>
  55. </view>
  56. </view>
  57. </view>
  58. <view class="myOrder">
  59. <view>我的订单</view>
  60. <view
  61. @click="$utils.navigateTo('/pages/index/order')">
  62. 查看全部>
  63. </view>
  64. </view>
  65. <view class="order">
  66. <view class="box">
  67. <view class="boxs"
  68. @click="$utils.navigateTo('/pages/index/order?type=1')">
  69. <image src="../../static/image/center/13.png" mode="aspectFill" />
  70. <view>待付款</view>
  71. </view>
  72. <view class="boxs"
  73. @click="$utils.navigateTo('/pages/index/order?type=2')">
  74. <image src="../../static/image/center/14.png" mode="aspectFill" />
  75. <view>已付款</view>
  76. </view>
  77. <view class="boxs"
  78. @click="$utils.navigateTo('/pages/index/order?type=3')">
  79. <image src="../../static/image/center/15.png" mode="aspectFill" />
  80. <view>待发货</view>
  81. </view>
  82. <view class="boxs"
  83. @click="$utils.navigateTo('/pages/index/order?type=4')">
  84. <image src="../../static/image/center/16.png" mode="aspectFill" />
  85. <view>待收货</view>
  86. </view>
  87. <view class="boxs"
  88. @click="$utils.navigateTo('/pages/index/order?type=5')">
  89. <image src="../../static/image/center/17.png" mode="aspectFill" />
  90. <view>已完成</view>
  91. </view>
  92. </view>
  93. </view>
  94. <!-- 酒店 -->
  95. <view class="user">
  96. <view class="line grid">
  97. <view class="title">
  98. 常用功能
  99. </view>
  100. </view>
  101. <view class="cell-bottom">
  102. <uv-cell-group>
  103. <uv-cell icon="share" title="我的邀请码" :isLink="true" arrow-direction="right" />
  104. <uv-cell icon="share" title="我的推荐" :isLink="true" arrow-direction="right"
  105. @click="$utils.navigateTo('/pages_order/mine/recommend')" />
  106. <uv-cell icon="share" title="联系客服"
  107. @click="$refs.customerServicePopup.open()"
  108. :isLink="true" arrow-direction="right" />
  109. <uv-cell icon="share" title="我的地址" :isLink="true" arrow-direction="right"
  110. @click="$utils.navigateTo('/pages_order/mine/address')"/>
  111. <uv-cell icon="share" title="退出登录" :isLink="true" arrow-direction="right"
  112. @click="$store.commit('logout')"/>
  113. </uv-cell-group>
  114. </view>
  115. </view>
  116. <customerServicePopup ref="customerServicePopup"/>
  117. <tabber select="center" />
  118. </view>
  119. </template>
  120. <script>
  121. import tabber from '@/components/base/tabbar.vue'
  122. import { mapState } from 'vuex'
  123. import customerServicePopup from '@/components/config/customerServicePopup.vue'
  124. export default {
  125. components: {
  126. tabber,
  127. customerServicePopup,
  128. },
  129. computed: {
  130. ...mapState(['userInfo']),
  131. },
  132. data() {
  133. return {}
  134. },
  135. onShow() {
  136. this.$store.commit('getUserInfo')
  137. },
  138. methods: {}
  139. }
  140. </script>
  141. <style scoped lang="scss">
  142. .page {
  143. .warp {
  144. display: flex;
  145. align-items: center;
  146. justify-content: center;
  147. height: 100%;
  148. }
  149. .rect {
  150. width: 600rpx;
  151. height: 300rpx;
  152. background-color: #fff;
  153. border-radius: 20rpx;
  154. overflow: hidden;
  155. .title {
  156. padding: 10rpx 0 0 15rpx;
  157. background-color: #fd5100;
  158. color: #FFF;
  159. text-align: left;
  160. width: 100%;
  161. height: 18%;
  162. font-size: 36rpx;
  163. }
  164. .center {
  165. height: 40%;
  166. display: flex;
  167. justify-content: center;
  168. align-items: center;
  169. font-size: 36rpx;
  170. }
  171. .bottom {
  172. display: flex;
  173. justify-content: center;
  174. gap: 50rpx;
  175. }
  176. }
  177. }
  178. image {
  179. width: 100%;
  180. height: 100%;
  181. }
  182. .head {
  183. display: flex;
  184. background-color: #fff;
  185. padding: 40rpx 20rpx;
  186. align-items: center;
  187. position: relative;
  188. .headImage {
  189. width: 130rpx;
  190. height: 130rpx;
  191. background-image: url(/static/image/center/3.png);
  192. background-size: 100% 100%;
  193. overflow: hidden;
  194. border-radius: 50%;
  195. margin-right: 40rpx;
  196. }
  197. .info {
  198. font-size: 28rpx;
  199. display: flex;
  200. flex-direction: column;
  201. gap: 10rpx;
  202. .vip {
  203. color: #909294;
  204. font-size: 24rpx;
  205. }
  206. .name {
  207. display: flex;
  208. align-items: center;
  209. .one {
  210. color: #343140;
  211. font-size: 32rpx;
  212. font-weight: 600;
  213. }
  214. .two {
  215. font-size: 24rpx;
  216. margin-left: 10rpx;
  217. padding: 3rpx 16rpx;
  218. border-radius: 18rpx;
  219. background-color: rgb(252, 213, 157);
  220. }
  221. }
  222. .tips {
  223. font-size: 26rpx;
  224. color: #ABABAB;
  225. }
  226. }
  227. }
  228. .setting {
  229. position: absolute;
  230. right: 50rpx;
  231. top: 50rpx;
  232. }
  233. .earnings {
  234. width: 94%;
  235. margin-left: 3%;
  236. .member {
  237. display: flex;
  238. align-items: center;
  239. justify-content: space-between;
  240. width: 90%;
  241. margin-left: 5%;
  242. height: 80rpx;
  243. font-size: 28rpx;
  244. background-color: #000;
  245. color: #F9CF93;
  246. border-top-left-radius: 30rpx;
  247. border-top-right-radius: 30rpx;
  248. view {
  249. margin: 0 20rpx;
  250. }
  251. }
  252. .deposit {
  253. display: flex;
  254. justify-content: space-around;
  255. align-items: center;
  256. height: 300rpx;
  257. // margin-top: -20rpx;
  258. background-color: rgb(163, 201, 80);
  259. border-radius: 40rpx;
  260. .box {
  261. display: flex;
  262. height: 80%;
  263. padding: 0rpx 30rpx;
  264. text-align: center;
  265. flex-direction: column;
  266. justify-content: space-around;
  267. color: #fff;
  268. .num {
  269. font-size: 48rpx;
  270. border-right: 2rpx dashed;
  271. width: 100%;
  272. padding: 0 30rpx 0 0;
  273. }
  274. .text {
  275. font-size: 20rpx;
  276. }
  277. .boxs {
  278. font-size: 32rpx;
  279. background-color: rgb(252, 213, 157);
  280. padding: 14rpx 20rpx;
  281. border-radius: 30rpx;
  282. color: #aa5500;
  283. font-weight: 600;
  284. }
  285. }
  286. }
  287. }
  288. .myOrder {
  289. display: flex;
  290. width: 94%;
  291. margin-left: 3%;
  292. align-items: center;
  293. justify-content: space-between;
  294. padding: 20rpx 0;
  295. view:nth-child(1) {
  296. font-weight: 600;
  297. font-size: 32rpx;
  298. border-left: 7rpx solid #A3D250;
  299. }
  300. view:nth-child(2) {
  301. font-size: 28rpx;
  302. color: #A3D250;
  303. }
  304. view {
  305. padding: 0 20rpx;
  306. }
  307. }
  308. .order {
  309. display: flex;
  310. align-items: center;
  311. justify-content: center;
  312. width: 94%;
  313. margin-left: 3%;
  314. background-color: #fff;
  315. border-radius: 16rpx;
  316. .box {
  317. display: flex;
  318. width: 100%;
  319. justify-content: space-around;
  320. padding: 70rpx 0 90rpx;
  321. }
  322. }
  323. .user {
  324. .grid {
  325. flex-direction: column;
  326. font-size: 26rpx;
  327. padding: 20rpx;
  328. .title {
  329. font-weight: 600;
  330. padding: 10rpx;
  331. border-left: 6rpx solid #A3D250;
  332. }
  333. }
  334. .cell-bottom {
  335. width: 96%;
  336. margin-top: 20rpx;
  337. margin-left: 2%;
  338. background-color: #fff;
  339. border-radius: 20rpx;
  340. }
  341. }
  342. </style>