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

419 lines
8.6 KiB

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