巴青农资商城

mine.scss 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. @import '@/styles/morandi.scss';
  2. .mine-page {
  3. display: flex;
  4. flex-direction: column;
  5. height: calc(100vh - 188rpx);
  6. overflow: hidden;
  7. background: $morandi-bg-page;
  8. box-sizing: border-box;
  9. }
  10. .mine-header {
  11. flex-shrink: 0;
  12. padding: 48rpx 32rpx 64rpx;
  13. background: linear-gradient(145deg, #3d9b6e 0%, #22c55e 55%, #86efac 100%);
  14. }
  15. .mine-header__row {
  16. display: flex;
  17. align-items: center;
  18. }
  19. .mine-header__avatar {
  20. width: 120rpx;
  21. height: 120rpx;
  22. border-radius: 60rpx;
  23. background: rgba(255, 255, 255, 0.35);
  24. border: 4rpx solid rgba(255, 255, 255, 0.6);
  25. flex-shrink: 0;
  26. }
  27. .mine-header__info {
  28. flex: 1;
  29. margin-left: 24rpx;
  30. }
  31. .mine-header__name {
  32. display: block;
  33. font-size: 36rpx;
  34. font-weight: 600;
  35. color: #fff;
  36. }
  37. .mine-header__sub {
  38. display: block;
  39. margin-top: 8rpx;
  40. font-size: 24rpx;
  41. color: rgba(255, 255, 255, 0.88);
  42. }
  43. .mine-header__arrow {
  44. margin-left: 8rpx;
  45. }
  46. .mine-scroll {
  47. flex: 1;
  48. width: 100%;
  49. /* 订单卡片上浮叠在绿色头部下沿,负边距写在 scroll-view 上避免内容被裁切 */
  50. margin-top: -40rpx;
  51. position: relative;
  52. z-index: 2;
  53. }
  54. .mine-body {
  55. padding: 0 24rpx 48rpx;
  56. }
  57. .mine-order-card {
  58. margin-bottom: 24rpx;
  59. padding: 24rpx 28rpx 20rpx;
  60. background: #fff;
  61. border-radius: 20rpx;
  62. box-shadow: 0 4rpx 20rpx rgba(74, 69, 66, 0.06);
  63. }
  64. .mine-order-head {
  65. display: flex;
  66. align-items: center;
  67. justify-content: space-between;
  68. margin-bottom: 24rpx;
  69. }
  70. .mine-order-head__title {
  71. font-size: 30rpx;
  72. font-weight: 600;
  73. color: $morandi-text;
  74. }
  75. .mine-order-head__all {
  76. display: flex;
  77. align-items: center;
  78. gap: 4rpx;
  79. font-size: 24rpx;
  80. color: $morandi-text-muted;
  81. }
  82. .mine-order-shortcuts {
  83. display: flex;
  84. justify-content: space-around;
  85. }
  86. .mine-order-shortcut {
  87. display: flex;
  88. flex-direction: column;
  89. align-items: center;
  90. min-width: 120rpx;
  91. }
  92. .mine-order-shortcut__icon-wrap {
  93. position: relative;
  94. width: 56rpx;
  95. height: 56rpx;
  96. display: flex;
  97. align-items: center;
  98. justify-content: center;
  99. }
  100. .mine-order-shortcut__badge {
  101. position: absolute;
  102. top: -8rpx;
  103. right: -16rpx;
  104. min-width: 32rpx;
  105. height: 32rpx;
  106. line-height: 32rpx;
  107. padding: 0 8rpx;
  108. font-size: 20rpx;
  109. color: #fff;
  110. text-align: center;
  111. background: #e53935;
  112. border-radius: 16rpx;
  113. }
  114. .mine-order-shortcut__label {
  115. margin-top: 12rpx;
  116. font-size: 24rpx;
  117. color: $morandi-text-secondary;
  118. }
  119. .mine-card {
  120. margin-bottom: 24rpx;
  121. padding: 8rpx 0;
  122. background: #fff;
  123. border-radius: 20rpx;
  124. box-shadow: 0 4rpx 20rpx rgba(74, 69, 66, 0.06);
  125. }
  126. .mine-card__title {
  127. padding: 20rpx 28rpx 8rpx;
  128. font-size: 24rpx;
  129. color: $morandi-text-muted;
  130. }
  131. .mine-menu-item {
  132. display: flex;
  133. align-items: center;
  134. padding: 28rpx;
  135. border-bottom: 1rpx solid #f0f0f0;
  136. }
  137. .mine-menu-item:last-child {
  138. border-bottom: none;
  139. }
  140. .mine-menu-item__label {
  141. flex: 1;
  142. font-size: 30rpx;
  143. color: $morandi-text;
  144. }
  145. .mine-menu-badge {
  146. min-width: 32rpx;
  147. height: 32rpx;
  148. line-height: 32rpx;
  149. padding: 0 10rpx;
  150. margin-right: 8rpx;
  151. font-size: 20rpx;
  152. color: #fff;
  153. text-align: center;
  154. background: #e53935;
  155. border-radius: 16rpx;
  156. }
  157. .mine-guest {
  158. margin-bottom: 24rpx;
  159. overflow: hidden;
  160. background: #fff;
  161. border-radius: 20rpx;
  162. box-shadow: 0 4rpx 20rpx rgba(74, 69, 66, 0.06);
  163. }
  164. .mine-guest__hero {
  165. padding: 40rpx 32rpx 8rpx;
  166. text-align: center;
  167. background: linear-gradient(180deg, #ecfdf3 0%, #fff 100%);
  168. }
  169. .mine-guest__icon-ring {
  170. width: 120rpx;
  171. height: 120rpx;
  172. margin: 0 auto;
  173. display: flex;
  174. align-items: center;
  175. justify-content: center;
  176. border-radius: 50%;
  177. background: linear-gradient(145deg, #dcfce7 0%, #bbf7d0 100%);
  178. box-shadow: 0 8rpx 24rpx rgba(46, 125, 50, 0.15);
  179. }
  180. .mine-guest__title {
  181. display: block;
  182. margin-top: 28rpx;
  183. font-size: 34rpx;
  184. font-weight: 600;
  185. color: $morandi-text;
  186. }
  187. .mine-guest__tip {
  188. display: block;
  189. margin-top: 12rpx;
  190. font-size: 26rpx;
  191. color: $morandi-text-muted;
  192. line-height: 1.5;
  193. }
  194. .mine-guest__btns {
  195. padding: 32rpx 32rpx 40rpx;
  196. }
  197. .mine-guest__btn-login {
  198. width: 100%;
  199. background: linear-gradient(135deg, #43a047 0%, #2e7d32 100%);
  200. box-shadow: 0 8rpx 20rpx rgba(46, 125, 50, 0.25);
  201. }
  202. .mine-guest__btn-login::after {
  203. border: none;
  204. }
  205. .mine-guest__register {
  206. margin-top: 24rpx;
  207. display: flex;
  208. align-items: center;
  209. justify-content: center;
  210. gap: 8rpx;
  211. }
  212. .mine-guest__register-text {
  213. font-size: 26rpx;
  214. color: $morandi-text-muted;
  215. }
  216. .mine-guest__register-link {
  217. font-size: 26rpx;
  218. color: #2e7d32;
  219. font-weight: 600;
  220. }
  221. .mine-btn-primary {
  222. height: 88rpx;
  223. line-height: 88rpx;
  224. background: #2e7d32;
  225. color: #fff;
  226. font-size: 30rpx;
  227. border-radius: 44rpx;
  228. border: none;
  229. }
  230. .mine-btn-primary::after {
  231. border: none;
  232. }
  233. .mine-btn-outline {
  234. height: 80rpx;
  235. line-height: 80rpx;
  236. background: #fff;
  237. color: #2e7d32;
  238. font-size: 28rpx;
  239. border-radius: 40rpx;
  240. border: 1rpx solid #2e7d32;
  241. }
  242. .mine-logout {
  243. margin: 16rpx 24rpx 0;
  244. }
  245. /* 表单页通用 */
  246. .form-page {
  247. height: calc(100vh - 100rpx);
  248. padding: 24rpx;
  249. padding-bottom: 160rpx;
  250. background: $morandi-bg-page;
  251. box-sizing: border-box;
  252. }
  253. .form-card {
  254. padding: 8rpx 24rpx;
  255. background: #fff;
  256. border-radius: 16rpx;
  257. }
  258. .form-row {
  259. display: flex;
  260. align-items: center;
  261. min-height: 96rpx;
  262. border-bottom: 1rpx solid #f5f5f5;
  263. }
  264. .form-row:last-child {
  265. border-bottom: none;
  266. }
  267. .form-row--col {
  268. flex-direction: column;
  269. align-items: stretch;
  270. padding: 20rpx 0;
  271. }
  272. .form-row__label {
  273. width: 200rpx;
  274. flex-shrink: 0;
  275. font-size: 28rpx;
  276. color: $morandi-text-secondary;
  277. }
  278. .form-row__label--req::before {
  279. content: '*';
  280. color: #d32f2f;
  281. margin-right: 4rpx;
  282. }
  283. .form-row__input {
  284. flex: 1;
  285. font-size: 28rpx;
  286. color: $morandi-text;
  287. }
  288. .form-row__readonly {
  289. flex: 1;
  290. font-size: 28rpx;
  291. color: $morandi-text-muted;
  292. }
  293. .form-row__picker {
  294. flex: 1;
  295. font-size: 28rpx;
  296. color: $morandi-text;
  297. }
  298. .form-row__placeholder {
  299. color: $morandi-text-soft;
  300. }
  301. .form-footer {
  302. position: fixed;
  303. left: 0;
  304. right: 0;
  305. bottom: 0;
  306. padding: 24rpx 32rpx;
  307. padding-bottom: calc(24rpx + env(safe-area-inset-bottom));
  308. background: #fff;
  309. box-shadow: 0 -4rpx 16rpx rgba(0, 0, 0, 0.06);
  310. }
  311. .form-footer__btn {
  312. height: 88rpx;
  313. line-height: 88rpx;
  314. background: #2e7d32;
  315. color: #fff;
  316. font-size: 30rpx;
  317. border-radius: 44rpx;
  318. border: none;
  319. }
  320. .form-footer__btn[disabled] {
  321. opacity: 0.6;
  322. }