加油站付款小程序,打印小票
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.

248 lines
4.4 KiB

11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
  1. <template>
  2. <view class="">
  3. <uni-nav-bar dark :fixed="true" background-color="#00aaff" :border="false" status-bar title="个人中心" />
  4. <view class="content">
  5. <view class="topBox">
  6. <view class="users">
  7. <view class="u-top" v-if="userInfo.appletOpenid">
  8. <image
  9. :src="userInfo.headImage"
  10. mode=""></image>
  11. <view class="tit"
  12. >
  13. {{ userInfo.nickName }}
  14. </view>
  15. </view>
  16. <view class="u-top" v-else>
  17. <image
  18. src="https://img2.baidu.com/it/u=2953585264,744730101&fm=253&fmt=auto&app=138&f=JPEG?w=360&h=360"
  19. mode=""></image>
  20. <view class="tit"
  21. >
  22. 登录 / 注册
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. <view class="listBox">
  28. <view class="lists">
  29. <uni-section title="我的订单" type="line" titleFontSize="34rpx" style="border-radius: 10rpx;"></uni-section>
  30. <view class="order-list">
  31. <view v-for="(item,index) in 10" :key="index" class="order-item">
  32. <view class="order-item-top">
  33. <view class="order-id">420000243620240</view>
  34. <view class="time">2024-12-12 12:12</view>
  35. </view>
  36. <div class="order-item-main">
  37. <div class="title">付款金额</div>
  38. <view class="money-detail">
  39. <view class="unie"></view>
  40. <view class="number">666</view>
  41. </view>
  42. </div>
  43. </view>
  44. </view>
  45. <view v-if="false" class="no-data">
  46. <image src="@/static/empty/noData.png" mode=""></image>
  47. </view>
  48. </view>
  49. </view>
  50. <showLogin ref="login"></showLogin>
  51. </view>
  52. </view>
  53. </template>
  54. <script>
  55. import showLogin from '../../components/showLogin/showLogin.vue'
  56. import { mapState } from 'vuex'
  57. export default {
  58. name : 'Center',
  59. components : { showLogin },
  60. computed : {
  61. ...mapState(['userInfo']),
  62. },
  63. data() {
  64. return {}
  65. },
  66. onShow(){
  67. if (!this.$refs.login.checkLogin()) {
  68. this.$store.commit('getUserInfo')
  69. }
  70. },
  71. methods: {
  72. }
  73. }
  74. </script>
  75. <style scoped>
  76. .content {
  77. background: #F1F5F8;
  78. min-height: 100vh;
  79. }
  80. /* 弧形背景 */
  81. .topBox {
  82. width: 100%;
  83. position: relative;
  84. z-index: 1;
  85. overflow: hidden;
  86. padding: 60rpx 20rpx 20rpx;
  87. box-sizing: border-box;
  88. }
  89. .topBox::after {
  90. content: "";
  91. width: 140%;
  92. height: 100px;
  93. position: absolute;
  94. left: -20%;
  95. top: 0;
  96. z-index: -1;
  97. border-radius: 0 0 30% 50%;
  98. background: #00aaff;
  99. }
  100. .txt {
  101. color: #fff;
  102. font-size: 30rpx;
  103. }
  104. .set-right .uni-icons {
  105. margin-right: 10rpx;
  106. }
  107. .users {
  108. display: flex;
  109. align-items: center;
  110. margin-top: 0rpx;
  111. padding: 0rpx 30rpx;
  112. box-sizing: border-box;
  113. height: 200rpx;
  114. background-color: #fff;
  115. box-shadow: 1px 10rpx 20rpx #ececec;
  116. border-radius: 12rpx;
  117. }
  118. .u-top {
  119. display: flex;
  120. justify-content: flex-start;
  121. align-items: center;
  122. }
  123. .users .u-top image {
  124. width: 130rpx;
  125. height: 130rpx;
  126. border-radius: 50%;
  127. margin-right: 20rpx;
  128. }
  129. .u-top .tit {
  130. font-size: 30rpx;
  131. font-weight: 700;
  132. color: #333;
  133. }
  134. .u-item {
  135. text-align: center;
  136. }
  137. .u-item .u-tit {
  138. color: #757575;
  139. font-size: 26rpx;
  140. margin-top: 10rpx;
  141. }
  142. .u-item .num {
  143. color: #000000;
  144. font-size: 33rpx;
  145. font-weight: 700;
  146. }
  147. .bottomBox {
  148. padding: 20rpx;
  149. box-sizing: border-box;
  150. }
  151. .order-list {
  152. padding-top: 20rpx;
  153. }
  154. .order-item {
  155. width: 100%;
  156. background: white;
  157. border-radius: 20rpx;
  158. margin-bottom: 20rpx;
  159. }
  160. .order-item .order-item-top {
  161. display: flex;
  162. align-items: center;
  163. justify-content: space-between;
  164. height: 80rpx;
  165. font-size: 24rpx;
  166. box-sizing: border-box;
  167. padding: 0rpx 20rpx;
  168. }
  169. .order-item .order-item-main {
  170. padding: 60rpx 0rpx;
  171. display: flex;
  172. flex-direction: column;
  173. align-items: center;
  174. }
  175. .order-item-main .title {
  176. color: #5a5a5a;
  177. }
  178. .order-item-main .money-detail {
  179. display: flex;
  180. align-items: center;
  181. margin-top: 20rpx;
  182. }
  183. .money-detail .unit {
  184. font-size: 34rpx;
  185. }
  186. .money-detail .number {
  187. font-size: 60rpx;
  188. }
  189. .no-data {
  190. padding: 30rpx;
  191. box-sizing: border-box;
  192. background-color: #fff;
  193. display: flex;
  194. justify-content: space-around;
  195. align-items: center;
  196. }
  197. .o-item {
  198. width: 25%;
  199. text-align: center;
  200. }
  201. .o-item image {
  202. width: 65rpx;
  203. height: 55rpx;
  204. }
  205. .o-item .tit {
  206. font-size: 28rpx;
  207. margin-top: 10rpx;
  208. }
  209. .listBox {
  210. margin: -10rpx auto 0;
  211. padding: 20rpx;
  212. box-sizing: border-box;
  213. border-radius: 12rpx;
  214. border-radius: 20rpx;
  215. }
  216. </style>