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

410 lines
8.3 KiB

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