index.scss 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. /* 页面容器 */
  2. .page{
  3. width: 100%;
  4. height: 100vh;
  5. background-color: #fff;
  6. display: flex;
  7. flex-direction: column;
  8. }
  9. .page-container {
  10. flex: 1;
  11. display: flex;
  12. flex-direction: column;
  13. background-color: #f9fafb;
  14. padding-bottom:20rpx;
  15. overflow: hidden;
  16. }
  17. .nav-bar{
  18. border-bottom: 1px solid #f7f6f6 !important;
  19. }
  20. /* 总资产区域 */
  21. .asset-header {
  22. width: 100%;
  23. background-color: #ffffff;
  24. border-radius: 20rpx;
  25. padding: 25rpx 20rpx;
  26. padding-bottom: 20rpx;
  27. display: flex;
  28. justify-content: space-between;
  29. align-items: flex-end;
  30. box-sizing: border-box;
  31. .asset-text-wrap {
  32. flex: 1;
  33. }
  34. .asset-title-con{
  35. display: flex;
  36. align-items: center;
  37. justify-content: flex-start;
  38. margin-bottom: 12rpx;
  39. .asset-title {
  40. font-size: 26rpx;
  41. color: #999999;
  42. display: block;
  43. font-weight: 500;
  44. }
  45. }
  46. .asset-value {
  47. font-size: 44rpx;
  48. color: #333333;
  49. display: block;
  50. font-weight: 600;
  51. letter-spacing: 2rpx;
  52. }
  53. .view-btn {
  54. width: auto;
  55. padding: 0 25rpx;
  56. background-color: #e3eefd;
  57. color: #0d83f1;
  58. font-size: 20rpx;
  59. border-radius: 30rpx;
  60. font-weight: 500;
  61. text-align: center;
  62. border: none;
  63. margin: 0;
  64. float: none;
  65. }
  66. }
  67. /* 数据卡片 */
  68. .data-cards {
  69. display: flex;
  70. justify-content: space-between;
  71. padding-bottom: 20rpx;
  72. background-color: #fff;
  73. padding: 8rpx 15rpx;
  74. .card-item {
  75. flex: 1;
  76. text-align: center;
  77. background: #f9fafb;
  78. padding: 24rpx 0;
  79. margin: 0 10rpx;
  80. border-radius: 24rpx;
  81. .card-label {
  82. font-size: 26rpx;
  83. color: #666;
  84. display: block;
  85. margin-bottom: 8rpx;
  86. }
  87. .card-value {
  88. font-size: 36rpx;
  89. font-weight: 700;
  90. color: #333;
  91. display: block;
  92. &.green {
  93. color: #09bb07;
  94. }
  95. }
  96. &:nth-of-type(1){
  97. margin-left:0;
  98. }
  99. &:nth-last-of-type(1){
  100. margin-right:0;
  101. }
  102. }
  103. }
  104. /* 搜索框区域 */
  105. .search-wrapper {
  106. padding: 8rpx 15rpx;
  107. height: 80rpx;
  108. padding-bottom: 20rpx;
  109. display: flex;
  110. justify-content: space-between;
  111. align-items: center;
  112. background-color: #fff;
  113. .search-input-wrap {
  114. height: 100%;
  115. --u-search-bg-color: #ffffff !important;
  116. --u-search-border-radius: 8rpx !important;
  117. --u-search-input-height: 80rpx !important;
  118. --u-search-padding: 0 30rpx !important;
  119. --u-search-input-font-size: 28rpx !important;
  120. --u-search-placeholder-color: #999 !important;
  121. border: none !important;
  122. box-shadow: none !important;
  123. }
  124. .search-filter-btn {
  125. margin-left: 20rpx;
  126. width: 60rpx;
  127. height: 60rpx;
  128. z-index: 10;
  129. display: flex;
  130. justify-content: center;
  131. align-items: center;
  132. background-color: #f9fafb;
  133. border: 40rpx;
  134. }
  135. }
  136. /* 分类标签 */
  137. .category-tabs-wrap {
  138. padding: 8rpx 15rpx;
  139. margin-bottom: 20rpx;
  140. background: #ffffff !important;
  141. .u-tabs-custom {
  142. --u-tabs-bg-color: #ffffff !important;
  143. background: #ffffff !important;
  144. --u-tabs-border-bottom: none !important;
  145. --u-tabs-item-padding: 10rpx 20rpx !important;
  146. --u-tabs-item-margin: 0 10rpx !important;
  147. .u-tabs__item--active {
  148. font-weight: bold;
  149. border-bottom: 2rpx solid #007aff !important;
  150. }
  151. .u-tabs__item-text {
  152. font-size: 28rpx !important;
  153. white-space: nowrap;
  154. }
  155. &::-webkit-scrollbar {
  156. display: none;
  157. }
  158. }
  159. }
  160. /* 筛选栏 */
  161. .filter-bar {
  162. padding: 8rpx 15rpx;
  163. background-color: #f9fafb;
  164. display: flex;
  165. align-items: center;
  166. justify-content: space-between;
  167. border-radius: 20rpx;
  168. .sort-btn {
  169. background: transparent;
  170. padding: 0;
  171. margin: 0;
  172. display: flex;
  173. align-items: center;
  174. gap: 6rpx;
  175. .sort-text {
  176. font-size: 24rpx;
  177. color: #686767;
  178. font-weight: 500;
  179. }
  180. .sort-icon {
  181. flex-shrink: 0;
  182. transition: transform 0.3s ease;
  183. &:active {
  184. transform: rotate(180deg);
  185. }
  186. }
  187. }
  188. .price-layout-btn{
  189. display: flex;
  190. justify-content: space-between;
  191. align-items: center;
  192. .price-btn {
  193. background: transparent;
  194. padding: 0;
  195. margin: 0;
  196. display: flex;
  197. align-items: center;
  198. gap: 8rpx;
  199. .price-icon {
  200. flex-shrink: 0;
  201. }
  202. .price-text {
  203. font-size: 22rpx;
  204. color: #1890ff;
  205. font-weight: 500;
  206. }
  207. }
  208. .layout-btn {
  209. background: transparent;
  210. font-size: 22rpx;
  211. color: #333;
  212. width: 60rpx;
  213. height: 60rpx;
  214. display: flex;
  215. align-items: center;
  216. justify-content: center;
  217. flex-shrink: 0;
  218. }
  219. }
  220. }
  221. /* 商品列表 */
  222. .goods-list {
  223. flex: 1;
  224. display: flex;
  225. flex-direction: column;
  226. gap: 10rpx;
  227. background-color: #f9fafb;
  228. overflow: hidden;
  229. height: 100%;
  230. ::v-deep .uni-scroll-view{
  231. height: 100%;
  232. }
  233. .goods-item {
  234. margin: 10rpx 15rpx;
  235. background-color: #fff;
  236. border-radius: 20rpx;
  237. padding: 20rpx;
  238. box-sizing: border-box;
  239. display: flex;
  240. align-items: flex-start;
  241. gap: 20rpx;
  242. .goods-img-container {
  243. position: relative;
  244. flex-shrink: 0;
  245. }
  246. .goods-img {
  247. width: 160rpx;
  248. height: 160rpx;
  249. border-radius: 6rpx;
  250. object-fit: cover;
  251. }
  252. .stock-indicator {
  253. position: absolute;
  254. bottom: 14rpx;
  255. right: 6rpx;
  256. width: 20rpx;
  257. height: 20rpx;
  258. border-radius: 50%;
  259. border: 2rpx solid #ffffff;
  260. }
  261. .up-indicator{
  262. background-color: #09bb07;
  263. }
  264. .down-indicator{
  265. background-color: #c7d5c7;
  266. }
  267. .goods-info {
  268. flex: 1;
  269. .goods-brand {
  270. font-size: 32rpx;
  271. font-weight: 700;
  272. color: #333333;
  273. display: block;
  274. line-height: 1.2;
  275. }
  276. .goods-name {
  277. font-size: 26rpx;
  278. color: #666666;
  279. display: block;
  280. font-weight: 600;
  281. line-height: 1.4;
  282. word-break: break-all;
  283. }
  284. .price-group{
  285. .price-items{
  286. display: flex;
  287. justify-content: space-between;
  288. .price-item{
  289. display: flex;
  290. flex-direction: column;
  291. justify-content: flex-start;
  292. .price-type{
  293. color: #d1d5db;
  294. font-size: 24rpx;
  295. }
  296. .price{
  297. font-weight: 700;
  298. }
  299. .sales{
  300. color: red;
  301. }
  302. }
  303. }
  304. }
  305. .others{
  306. margin-top: 20rpx;
  307. display: flex;
  308. align-items: center;
  309. gap: 12rpx;
  310. .other-item{
  311. display: flex;
  312. align-items: center;
  313. justify-content: center;
  314. width: 26rpx;
  315. height: 26rpx;
  316. font-size: 20rpx;
  317. color: #c5c3c3;
  318. background-color: #f5f5f5;
  319. padding:6rpx;
  320. border-radius:50%;
  321. &.stock{
  322. background-color: #007aff;
  323. color: #fff;
  324. }
  325. }
  326. }
  327. }
  328. .more{
  329. display: flex;
  330. flex-direction: column;
  331. height: 100%;
  332. align-items: flex-end;
  333. gap: 240rpx;
  334. .goods-stock {
  335. font-size: 24rpx;
  336. color: #666666;
  337. align-self: flex-end;
  338. flex-shrink: 0;
  339. padding-left: 10rpx;
  340. }
  341. }
  342. }
  343. }
  344. /* 添加按钮 */
  345. .add-button {
  346. position: fixed;
  347. bottom: 150rpx;
  348. right: 20rpx;
  349. width: 112rpx;
  350. height: 112rpx;
  351. background-color: #1f2937;
  352. border-radius: 50%;
  353. display: flex;
  354. align-items: center;
  355. justify-content: center;
  356. box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1);
  357. z-index: 999;
  358. cursor: pointer;
  359. transition: all 0.3s ease;
  360. &:active {
  361. transform: scale(0.95);
  362. }
  363. }