uni.scss 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367
  1. // 通用透明度
  2. .oa-opacity {
  3. opacity: 0.4;
  4. }
  5. // 两边布局
  6. .oa-space-between {
  7. display: flex;
  8. justify-content: space-between;
  9. align-items: center;
  10. }
  11. /*数字角标*/
  12. .uni-badge,
  13. .uni-badge-default {
  14. font-family: 'Helvetica Neue', Helvetica, sans-serif;
  15. font-size: 12px;
  16. line-height: 1;
  17. display: inline-block;
  18. padding: 3px 6px;
  19. color: #333;
  20. border-radius: 100px;
  21. }
  22. .uni-badge.uni-badge-inverted {
  23. padding: 0 5px 0 0;
  24. color: #929292;
  25. background-color: transparent;
  26. }
  27. .uni-badge-primary {
  28. color: #fff;
  29. background-color: #007aff;
  30. }
  31. .uni-badge-blue.uni-badge-inverted,
  32. .uni-badge-primary.uni-badge-inverted {
  33. color: #007aff;
  34. background-color: transparent;
  35. }
  36. .uni-badge-green,
  37. .uni-badge-success {
  38. color: #fff;
  39. background-color: #4cd964;
  40. }
  41. .uni-badge-green.uni-badge-inverted,
  42. .uni-badge-success.uni-badge-inverted {
  43. color: #4cd964;
  44. background-color: transparent;
  45. }
  46. .uni-badge-warning,
  47. .uni-badge-yellow {
  48. color: #fff;
  49. background-color: #f0ad4e;
  50. }
  51. .uni-badge-warning.uni-badge-inverted,
  52. .uni-badge-yellow.uni-badge-inverted {
  53. color: #f0ad4e;
  54. background-color: transparent;
  55. }
  56. .uni-badge-danger,
  57. .uni-badge-red {
  58. color: #fff;
  59. background-color: #dd524d;
  60. }
  61. .uni-badge-danger.uni-badge-inverted,
  62. .uni-badge-red.uni-badge-inverted {
  63. color: #dd524d;
  64. background-color: transparent;
  65. }
  66. .uni-badge-purple,
  67. .uni-badge-royal {
  68. color: #fff;
  69. background-color: #8a6de9;
  70. }
  71. .uni-badge-purple.uni-badge-inverted,
  72. .uni-badge-royal.uni-badge-inverted {
  73. color: #8a6de9;
  74. background-color: transparent;
  75. }
  76. /* 列表 */
  77. .uni-list {
  78. background-color: #ffffff;
  79. position: relative;
  80. width: 100%;
  81. display: flex;
  82. flex-direction: column;
  83. }
  84. .uni-list:after {
  85. position: absolute;
  86. z-index: 10;
  87. right: 0;
  88. bottom: 0;
  89. left: 0;
  90. height: 1px;
  91. content: '';
  92. -webkit-transform: scaleY(0.5);
  93. transform: scaleY(0.5);
  94. background-color: #c8c7cc;
  95. }
  96. .uni-list::before {
  97. position: absolute;
  98. z-index: 10;
  99. right: 0;
  100. top: 0;
  101. left: 0;
  102. height: 1px;
  103. content: '';
  104. -webkit-transform: scaleY(0.5);
  105. transform: scaleY(0.5);
  106. background-color: #c8c7cc;
  107. }
  108. .uni-list-cell {
  109. position: relative;
  110. display: flex;
  111. flex-direction: row;
  112. justify-content: space-between;
  113. align-items: center;
  114. }
  115. .uni-list-cell-hover {
  116. background-color: #eee;
  117. }
  118. .uni-list-cell-pd {
  119. padding: 22upx 30upx;
  120. }
  121. .uni-list-cell-left {
  122. font-size: 28upx;
  123. padding: 0 30upx;
  124. }
  125. .uni-list-cell-db,
  126. .uni-list-cell-right {
  127. flex: 1;
  128. }
  129. .uni-list-cell::after {
  130. position: absolute;
  131. z-index: 3;
  132. right: 0;
  133. bottom: 0;
  134. left: 30upx;
  135. height: 1px;
  136. content: '';
  137. -webkit-transform: scaleY(0.5);
  138. transform: scaleY(0.5);
  139. background-color: #c8c7cc;
  140. }
  141. .uni-list .uni-list-cell:last-child::after {
  142. height: 0upx;
  143. }
  144. .uni-list-cell-last.uni-list-cell::after {
  145. height: 0upx;
  146. }
  147. .uni-list-cell-divider {
  148. position: relative;
  149. display: flex;
  150. color: #999;
  151. background-color: #f7f7f7;
  152. padding: 15upx 20upx;
  153. }
  154. .uni-list-cell-divider::before {
  155. position: absolute;
  156. right: 0;
  157. top: 0;
  158. left: 0;
  159. height: 1px;
  160. content: '';
  161. -webkit-transform: scaleY(0.5);
  162. transform: scaleY(0.5);
  163. background-color: #c8c7cc;
  164. }
  165. .uni-list-cell-divider::after {
  166. position: absolute;
  167. right: 0;
  168. bottom: 0;
  169. left: 0upx;
  170. height: 1px;
  171. content: '';
  172. -webkit-transform: scaleY(0.5);
  173. transform: scaleY(0.5);
  174. background-color: #c8c7cc;
  175. }
  176. .uni-list-cell-navigate {
  177. font-size: 30upx;
  178. padding: 22upx 30upx;
  179. line-height: 48upx;
  180. position: relative;
  181. display: flex;
  182. box-sizing: border-box;
  183. width: 100%;
  184. flex: 1;
  185. justify-content: space-between;
  186. align-items: center;
  187. }
  188. .uni-list-cell-navigate {
  189. padding-right: 36upx;
  190. }
  191. .uni-navigate-badge {
  192. padding-right: 50upx;
  193. }
  194. .uni-list-cell-navigate.uni-navigate-right:after {
  195. font-family: uniicons;
  196. content: '\e583';
  197. position: absolute;
  198. right: 24upx;
  199. top: 50%;
  200. color: #bbb;
  201. -webkit-transform: translateY(-50%);
  202. transform: translateY(-50%);
  203. }
  204. .uni-list-cell-navigate.uni-navigate-bottom:after {
  205. font-family: uniicons;
  206. content: '\e581';
  207. position: absolute;
  208. right: 24upx;
  209. top: 50%;
  210. color: #bbb;
  211. -webkit-transform: translateY(-50%);
  212. transform: translateY(-50%);
  213. }
  214. .uni-list-cell-navigate.uni-navigate-bottom.uni-active::after {
  215. font-family: uniicons;
  216. content: '\e580';
  217. position: absolute;
  218. right: 24upx;
  219. top: 50%;
  220. color: #bbb;
  221. -webkit-transform: translateY(-50%);
  222. transform: translateY(-50%);
  223. }
  224. .uni-collapse.uni-list-cell {
  225. flex-direction: column;
  226. }
  227. .uni-list-cell-navigate.uni-active {
  228. background: #eee;
  229. }
  230. .uni-list.uni-collapse {
  231. box-sizing: border-box;
  232. height: 0;
  233. overflow: hidden;
  234. }
  235. .uni-collapse .uni-list-cell {
  236. padding-left: 20upx;
  237. }
  238. .uni-collapse .uni-list-cell::after {
  239. left: 52upx;
  240. }
  241. .uni-list.uni-active {
  242. height: auto;
  243. }
  244. /* 图文列表 */
  245. .uni-media-list {
  246. padding: 22upx 30upx;
  247. box-sizing: border-box;
  248. display: flex;
  249. width: 100%;
  250. flex-direction: row;
  251. }
  252. .uni-navigate-right.uni-media-list {
  253. padding-right: 74upx;
  254. }
  255. .uni-pull-right {
  256. flex-direction: row-reverse;
  257. }
  258. .uni-pull-right > .uni-media-list-logo {
  259. margin-right: 0upx;
  260. margin-left: 20upx;
  261. }
  262. .uni-media-list-logo {
  263. height: 84upx;
  264. width: 84upx;
  265. margin-right: 20upx;
  266. }
  267. .uni-media-list-logo image {
  268. height: 100%;
  269. width: 100%;
  270. }
  271. .uni-media-list-body {
  272. height: 84upx;
  273. display: flex;
  274. flex: 1;
  275. flex-direction: column;
  276. justify-content: space-between;
  277. align-items: flex-start;
  278. overflow: hidden;
  279. }
  280. .uni-media-list-text-top {
  281. width: 100%;
  282. line-height: 36upx;
  283. font-size: 30upx;
  284. }
  285. .uni-media-list-text-bottom {
  286. width: 100%;
  287. line-height: 30upx;
  288. font-size: 26upx;
  289. color: #8f8f94;
  290. }
  291. /* timeline 时间线 */
  292. .uni-timeline {
  293. margin: 35upx 0;
  294. display: flex;
  295. flex-direction: column;
  296. position: relative;
  297. }
  298. .uni-timeline-item {
  299. display: flex;
  300. flex-direction: row;
  301. position: relative;
  302. padding-bottom: 20upx;
  303. box-sizing: border-box;
  304. overflow: hidden;
  305. }
  306. .uni-timeline-item .uni-timeline-item-keynode {
  307. width: 160upx;
  308. flex-shrink: 0;
  309. box-sizing: border-box;
  310. padding-right: 20upx;
  311. text-align: right;
  312. line-height: 65upx;
  313. }
  314. .uni-timeline-item .uni-timeline-item-divider {
  315. flex-shrink: 0;
  316. position: relative;
  317. width: 30upx;
  318. height: 30upx;
  319. top: 15upx;
  320. border-radius: 50%;
  321. background-color: #bbb;
  322. }
  323. .uni-timeline-item-divider::before,
  324. .uni-timeline-item-divider::after {
  325. position: absolute;
  326. left: 15upx;
  327. width: 1upx;
  328. height: 100vh;
  329. content: '';
  330. background: inherit;
  331. }
  332. .uni-timeline-item-divider::before {
  333. bottom: 100%;
  334. }
  335. .uni-timeline-item-divider::after {
  336. top: 100%;
  337. }
  338. .uni-timeline-last-item .uni-timeline-item-divider:after {
  339. display: none;
  340. }
  341. .uni-timeline-first-item .uni-timeline-item-divider:before {
  342. display: none;
  343. }
  344. /* 自定义节点颜色 */
  345. .uni-timeline-first-item .uni-timeline-item-divider {
  346. }
  347. .uni-timeline-item .uni-timeline-item-content {
  348. padding-left: 20upx;
  349. }
  350. .uni-timeline-last-item .bottom-border::after {
  351. display: none;
  352. }
  353. .uni-timeline-item-content .datetime {
  354. color: #cccccc;
  355. }
  356. /* 自定义节点颜色 */
  357. .uni-timeline-last-item .uni-timeline-item-divider {
  358. background-color: #ccc;
  359. }
  360. .list-cell {
  361. display: flex;
  362. align-items: baseline;
  363. padding: 20upx $page-row-spacing;
  364. line-height: 60upx;
  365. position: relative;
  366. background: #fff;
  367. justify-content: center;
  368. &.log-out-btn {
  369. margin: 40upx 0;
  370. .cell-tit {
  371. text-align: center;
  372. margin-right: 0;
  373. }
  374. }
  375. &.cell-hover {
  376. background: #fafafa;
  377. }
  378. &.b-b:after {
  379. left: 30upx;
  380. }
  381. &.m-t {
  382. margin-top: 16upx;
  383. }
  384. .cell-more {
  385. align-self: baseline;
  386. font-size: $font-lg;
  387. color: $font-color-light;
  388. margin-left: 10upx;
  389. }
  390. .cell-tit {
  391. flex: 1;
  392. font-size: $font-base + 2upx;
  393. margin-right: 10upx;
  394. }
  395. .cell-tip {
  396. font-size: $font-base;
  397. color: $font-color-light;
  398. }
  399. switch {
  400. transform: translateX(16upx) scale(0.84);
  401. }
  402. }
  403. .base-color {
  404. color: $base-color;
  405. }
  406. .font-color-base {
  407. color: $font-color-base;
  408. }
  409. .spec-color {
  410. color: $font-color-spec;
  411. }
  412. .base-bg {
  413. background-color: $base-color;
  414. }
  415. // 短按钮
  416. .submit {
  417. display: flex;
  418. align-items: center;
  419. justify-content: center;
  420. width: 280upx;
  421. border-radius: 4upx;
  422. margin: 0;
  423. height: 100%;
  424. font-size: 32upx;
  425. }
  426. // 登录注册修改密码按钮 长按钮
  427. .confirm-btn {
  428. width: 630upx;
  429. height: 76upx;
  430. line-height: 76upx;
  431. border-radius: 50px;
  432. margin-top: 70upx;
  433. font-size: $font-lg;
  434. &:after {
  435. border-radius: 100px;
  436. }
  437. }
  438. .oa-card {
  439. background-color: $color-white;
  440. margin: 0 30upx;
  441. padding: 20upx 0;
  442. border-radius: 12upx;
  443. box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.05);
  444. }
  445. .oa-btn {
  446. width: 90%;
  447. height: 76upx;
  448. line-height: 76upx;
  449. border-radius: 50px;
  450. margin-top: 70upx;
  451. background: $uni-color-primary;
  452. color: #fff;
  453. font-size: $font-lg;
  454. &:after {
  455. border-radius: 100px;
  456. }
  457. }
  458. .oa-space-between {
  459. display: flex;
  460. align-items: center;
  461. justify-content: space-between;
  462. }
  463. .oa-box-shadow {
  464. box-shadow: 0upx 5upx 25upx rgba(0, 0, 0, 0.05);
  465. }
  466. .in1line {
  467. display: -webkit-box !important;
  468. overflow: hidden;
  469. text-overflow: ellipsis;
  470. word-break: break-all;
  471. -webkit-box-orient: vertical !important;
  472. -webkit-line-clamp: 2;
  473. }
  474. .in2line {
  475. display: -webkit-box !important;
  476. overflow: hidden;
  477. text-overflow: ellipsis;
  478. word-break: break-all;
  479. -webkit-box-orient: vertical !important;
  480. -webkit-line-clamp: 2;
  481. }
  482. .in10line {
  483. display: -webkit-box !important;
  484. overflow: hidden;
  485. text-overflow: ellipsis;
  486. word-break: break-all;
  487. -webkit-box-orient: vertical !important;
  488. -webkit-line-clamp: 10;
  489. }
  490. .in100line {
  491. display: -webkit-box !important;
  492. overflow: hidden;
  493. text-overflow: ellipsis;
  494. word-break: break-all;
  495. -webkit-box-orient: vertical !important;
  496. -webkit-line-clamp: 100;
  497. }
  498. .oa-product-list {
  499. display: flex;
  500. flex-wrap: wrap;
  501. padding: 0 30upx;
  502. background: #fff;
  503. .product-item {
  504. box-shadow: 2px 2px 10px rgba(66, 135, 193, 0.1); // 阴影
  505. display: flex;
  506. flex-direction: column;
  507. width: 48%;
  508. margin-bottom: 30upx;
  509. &:nth-child(2n + 1) {
  510. margin-right: 4%;
  511. }
  512. }
  513. .image-wrapper {
  514. width: 100%;
  515. height: 320upx;
  516. border-radius: 6upx;
  517. overflow: hidden;
  518. position: relative;
  519. image {
  520. width: 100%;
  521. height: 100%;
  522. opacity: 1;
  523. }
  524. .sketch {
  525. width: 100%;
  526. background-color: rgba(0, 0, 0, 0.4);
  527. position: absolute;
  528. border-bottom-left-radius: 6upx;
  529. bottom: 0;
  530. padding: 0 8upx;
  531. right: 0;
  532. color: #fff;
  533. font-size: $font-sm;
  534. }
  535. .triangle-wrapper {
  536. border-top-left-radius: 6upx;
  537. position: absolute;
  538. overflow: hidden;
  539. top: 0;
  540. left: 0;
  541. .triangle-tag {
  542. width: 64upx;
  543. height: 64upx;
  544. }
  545. }
  546. }
  547. .title {
  548. font-size: $font-base;
  549. color: $font-color-dark;
  550. line-height: 1.2;
  551. margin: 15upx 10upx 4upx;
  552. height: 60upx;
  553. }
  554. .last-line {
  555. margin: 5upx 10upx 15upx;
  556. display: flex;
  557. justify-content: space-between;
  558. align-items: center; /* 垂直居中 */
  559. .red {
  560. color: $base-color;
  561. font-size: $font-sm + 2upx;
  562. margin-right: 2upx;
  563. }
  564. .sales {
  565. flex: 1;
  566. text-align: right;
  567. font-size: $font-sm + 2upx;
  568. }
  569. }
  570. .price {
  571. font-size: $font-base;
  572. color: $uni-color-primary;
  573. line-height: 1;
  574. .m-price {
  575. margin-left: 4upx;
  576. color: $font-color-light;
  577. font-size: $font-sm;
  578. text-decoration: line-through;
  579. }
  580. }
  581. }
  582. .bg-base-color {
  583. background-color: $base-color;
  584. color: #ffffff;
  585. }
  586. .text-base-color {
  587. color: rgba(219, 63, 96, 0.5);
  588. }
  589. // navBar样式
  590. .navbar {
  591. display: flex;
  592. height: 40px;
  593. padding: 0 5px;
  594. background: #fff;
  595. box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
  596. position: relative;
  597. z-index: 10;
  598. .nav-item {
  599. flex: 1;
  600. display: flex;
  601. justify-content: center;
  602. align-items: center;
  603. height: 100%;
  604. font-size: 15px;
  605. position: relative;
  606. &.current {
  607. &:after {
  608. content: '';
  609. position: absolute;
  610. left: 50%;
  611. bottom: 0;
  612. transform: translateX(-50%);
  613. width: 44px;
  614. height: 0;
  615. border-bottom: 2px solid;
  616. }
  617. }
  618. }
  619. }
  620. /* 标题简介 */
  621. .introduce-section {
  622. background-color: $color-white;
  623. border-bottom-left-radius: 32upx;
  624. border-bottom-right-radius: 32upx;
  625. margin-bottom: $spacing-base;
  626. .product-tag {
  627. padding: 0 $spacing-lg;
  628. margin-bottom: $spacing-sm;
  629. .tag {
  630. margin-right: $spacing-sm;
  631. }
  632. }
  633. .oa-time-down {
  634. display: flex;
  635. padding: 0 $spacing-lg;
  636. margin-bottom: $spacing-base;
  637. justify-content: flex-end;
  638. }
  639. .data {
  640. padding: 0 $spacing-base $spacing-base;
  641. display: flex;
  642. font-size: $font-sm;
  643. color: $font-color-light;
  644. .item {
  645. flex: 1;
  646. text-align: center;
  647. }
  648. .item:first-child {
  649. text-align: left;
  650. }
  651. .item:last-child {
  652. text-align: right;
  653. }
  654. .iconfont {
  655. color: $font-color-light;
  656. margin-right: 10upx;
  657. }
  658. }
  659. .sketch {
  660. margin-top: 10upx;
  661. display: block;
  662. color: $font-color-light;
  663. font-size: $font-base;
  664. }
  665. .introduce-first-line {
  666. padding: $spacing-base $spacing-lg $spacing-sm;
  667. display: flex;
  668. justify-content: space-between;
  669. align-items: center;
  670. .price-box {
  671. padding: 10upx 0;
  672. font-size: $font-base;
  673. .price-first-line {
  674. display: flex;
  675. align-items: center;
  676. .member-level {
  677. margin-right: $spacing-sm;
  678. width: 120upx;
  679. height: 38upx;
  680. }
  681. .price {
  682. font-size: $font-lg + 10upx;
  683. }
  684. }
  685. .m-price-wrapper {
  686. color: $font-color-light;
  687. .m-price {
  688. margin-left: $spacing-sm;
  689. color: $font-color-light;
  690. text-decoration: line-through;
  691. }
  692. }
  693. .coupon-tip {
  694. align-items: center;
  695. padding: 4upx 10upx;
  696. background: $uni-color-primary;
  697. font-size: $font-sm;
  698. color: #fff;
  699. border-radius: 6upx;
  700. line-height: 1;
  701. transform: translateY(-4upx);
  702. }
  703. }
  704. .collect {
  705. width: 60upx;
  706. text-align: center;
  707. font-size: $font-sm;
  708. color: $font-color-light;
  709. .iconfont {
  710. font-size: $font-lg + 16upx;
  711. }
  712. }
  713. }
  714. .introduce-second-line {
  715. padding-left: $spacing-lg;
  716. display: flex;
  717. justify-content: space-between;
  718. align-items: center;
  719. padding-bottom: $spacing-sm;
  720. .title {
  721. flex: 1;
  722. font-size: $font-base + 2upx;
  723. color: $color-black;
  724. line-height: 1.3;
  725. }
  726. .share {
  727. width: 110upx;
  728. margin-left: $spacing-base;
  729. font-size: $font-sm;
  730. .iconfont {
  731. font-size: $font-sm;
  732. margin-right: 6upx;
  733. }
  734. .share-btn {
  735. flex: 1;
  736. text-align: right;
  737. height: 32upx;
  738. line-height: 36upx;
  739. font-size: $font-sm;
  740. background: transparent;
  741. border-radius: none;
  742. padding: 0;
  743. margin: 0;
  744. }
  745. .share-btn:after {
  746. background: transparent;
  747. border: none;
  748. }
  749. }
  750. }
  751. }
  752. /* 分享 */
  753. .share-section {
  754. display: flex;
  755. align-items: center;
  756. color: $font-color-base;
  757. background: linear-gradient(to left, #fdf5f6, #fbebf6);
  758. padding: 12upx 30upx;
  759. .share-icon {
  760. display: flex;
  761. align-items: center;
  762. width: 70upx;
  763. height: 30upx;
  764. line-height: 1;
  765. border: 1px solid $uni-color-primary;
  766. border-radius: 4upx;
  767. position: relative;
  768. overflow: hidden;
  769. font-size: 22upx;
  770. color: $uni-color-primary;
  771. &:after {
  772. content: '';
  773. width: 50upx;
  774. height: 50upx;
  775. border-radius: 50%;
  776. left: -20upx;
  777. top: -12upx;
  778. position: absolute;
  779. background: $uni-color-primary;
  780. }
  781. }
  782. .iconxingxing {
  783. position: relative;
  784. z-index: 1;
  785. font-size: 24upx;
  786. margin-left: 2upx;
  787. margin-right: 10upx;
  788. color: #fff;
  789. line-height: 1;
  790. }
  791. .tit {
  792. font-size: $font-base;
  793. margin-left: 10upx;
  794. }
  795. .icon-bangzhu1 {
  796. padding: 10upx;
  797. font-size: 30upx;
  798. line-height: 1;
  799. }
  800. .share-btn {
  801. flex: 1;
  802. text-align: right;
  803. font-size: $font-sm;
  804. color: $uni-color-primary;
  805. background: transparent;
  806. border-radius: none;
  807. padding: 0;
  808. margin: 0;
  809. }
  810. .share-btn:after {
  811. background: transparent;
  812. border: none;
  813. }
  814. .iconyou {
  815. font-size: $font-sm;
  816. margin-left: 4upx;
  817. color: $uni-color-primary;
  818. }
  819. }
  820. /* 弹出层 */
  821. .popup {
  822. position: fixed;
  823. left: 0;
  824. top: 0;
  825. right: 0;
  826. bottom: 0;
  827. z-index: 101;
  828. &.show {
  829. display: block;
  830. .mask {
  831. animation: showPopup 0.2s linear both;
  832. }
  833. .layer {
  834. animation: showLayer 0.2s linear both;
  835. }
  836. }
  837. &.hide {
  838. .mask {
  839. animation: hidePopup 0.2s linear both;
  840. }
  841. .layer {
  842. animation: hideLayer 0.2s linear both;
  843. }
  844. }
  845. &.none {
  846. display: none;
  847. }
  848. .mask {
  849. position: fixed;
  850. top: 0;
  851. width: 100%;
  852. height: 100%;
  853. z-index: 1;
  854. background-color: rgba(0, 0, 0, 0.4);
  855. }
  856. .layer {
  857. position: fixed;
  858. z-index: 101;
  859. max-height: 70vh;
  860. bottom: 90upx;
  861. width: 100%;
  862. border-radius: 10upx 10upx 0 0;
  863. background-color: #fff;
  864. .content {
  865. width: 100%;
  866. padding: 20upx 0;
  867. }
  868. .btn {
  869. height: 66upx;
  870. line-height: 66upx;
  871. border-radius: 100upx;
  872. font-size: $font-base + 2upx;
  873. margin: 30upx 30upx 20upx;
  874. }
  875. }
  876. .layer-service {
  877. min-height: 600upx;
  878. .btn {
  879. width: calc(100% - 60upx);
  880. position: absolute;
  881. bottom: 0;
  882. }
  883. }
  884. &.service {
  885. min-height: 600upx;
  886. .row {
  887. margin: 30upx;
  888. .title {
  889. font-size: 30upx;
  890. margin: 10upx 0;
  891. }
  892. .description {
  893. font-size: 28upx;
  894. color: #999;
  895. }
  896. }
  897. }
  898. @keyframes showPopup {
  899. 0% {
  900. opacity: 0;
  901. }
  902. 100% {
  903. opacity: 1;
  904. }
  905. }
  906. @keyframes hidePopup {
  907. 0% {
  908. opacity: 1;
  909. }
  910. 100% {
  911. opacity: 0;
  912. }
  913. }
  914. @keyframes showLayer {
  915. 0% {
  916. transform: translateY(120%);
  917. }
  918. 100% {
  919. transform: translateY(0%);
  920. }
  921. }
  922. @keyframes hideLayer {
  923. 0% {
  924. transform: translateY(0);
  925. }
  926. 100% {
  927. transform: translateY(120%);
  928. }
  929. }
  930. }
  931. /* 规格选择弹窗 */
  932. .attr-content {
  933. /* #ifdef H5 */
  934. margin-bottom: env(safe-area-inset-bottom);
  935. /* #endif */
  936. padding: 10upx 30upx;
  937. .attr-content-scroll-view {
  938. max-height: calc(60vh - 220upx);
  939. }
  940. .select-count {
  941. padding: 30upx 0 10upx;
  942. margin: 20upx 0;
  943. border-top: 1px solid #ccc;
  944. display: flex;
  945. justify-content: space-between;
  946. overflow: hidden;
  947. position: relative;
  948. font-size: $font-base + 6upx;
  949. color: $font-color-base;
  950. line-height: 60upx;
  951. .step {
  952. position: absolute;
  953. left: 60vw;
  954. bottom: 10upx;
  955. }
  956. }
  957. .a-t {
  958. display: flex;
  959. image {
  960. width: 200upx;
  961. height: 200upx;
  962. flex-shrink: 0;
  963. border-radius: 8upx;
  964. }
  965. .right {
  966. display: flex;
  967. flex-direction: column;
  968. padding-left: 24upx;
  969. font-size: $font-sm + 2upx;
  970. color: $font-color-base;
  971. line-height: 42upx;
  972. .title {
  973. line-height: 1.4;
  974. }
  975. .price {
  976. font-size: $font-lg;
  977. color: $uni-color-primary;
  978. margin-bottom: 10upx;
  979. line-height: 1.4;
  980. }
  981. .selected {
  982. line-height: 1.4;
  983. .selected-text {
  984. margin-right: 10upx;
  985. }
  986. }
  987. }
  988. }
  989. .attr-list {
  990. display: flex;
  991. flex-direction: column;
  992. font-size: $font-base + 2upx;
  993. color: $font-color-base;
  994. padding-top: 30upx;
  995. padding-left: 10upx;
  996. }
  997. .item-list {
  998. padding: 20upx 0 0;
  999. display: flex;
  1000. flex-wrap: wrap;
  1001. .tit {
  1002. display: flex;
  1003. align-items: center;
  1004. justify-content: center;
  1005. border: 1upx solid rgba(0, 0, 0, 0.05);
  1006. margin-right: 20upx;
  1007. margin-bottom: 20upx;
  1008. border-radius: 100upx;
  1009. min-width: 60upx;
  1010. height: 60upx;
  1011. padding: 0 20upx;
  1012. font-size: $font-base;
  1013. .img {
  1014. width: 36upx;
  1015. height: 24upx;
  1016. margin: 0 4upx;
  1017. }
  1018. }
  1019. .disabled {
  1020. background-color: #f60;
  1021. }
  1022. .tit-normal {
  1023. background-color: $page-color-light;
  1024. }
  1025. }
  1026. }
  1027. /* 底部操作菜单 */
  1028. .page-bottom {
  1029. background-color: $color-white;
  1030. position: fixed;
  1031. left: 0;
  1032. bottom:0;
  1033. z-index: 95;
  1034. display: flex;
  1035. justify-content: space-between;
  1036. align-items: center;
  1037. width:100vw;
  1038. box-shadow: 0 0 10upx 0 rgba(0, 0, 0, 0.1);
  1039. padding-bottom: env(safe-area-inset-bottom);
  1040. .page-bottom-bth-wrapper {
  1041. width: 42vw;
  1042. display: flex;
  1043. align-items: center;
  1044. margin-left: $spacing-sm;
  1045. .cart {
  1046. position: relative;
  1047. .badge {
  1048. position: absolute;
  1049. top: -2upx;
  1050. right: 4upx;
  1051. }
  1052. }
  1053. .p-b-btn {
  1054. display: flex;
  1055. flex-direction: column;
  1056. align-items: center;
  1057. justify-content: center;
  1058. font-size: $font-sm;
  1059. color: $font-color-base;
  1060. flex: 1;
  1061. .iconfont {
  1062. line-height: 1.2;
  1063. font-size: 48upx;
  1064. font-weight: 500;
  1065. }
  1066. }
  1067. }
  1068. .action-btn-group {
  1069. display: flex;
  1070. height: 76upx;
  1071. border-radius: 100px;
  1072. overflow: hidden;
  1073. margin: 0 20upx;
  1074. position: relative;
  1075. .action-btn {
  1076. display: flex;
  1077. align-items: center;
  1078. justify-content: center;
  1079. width: 180upx;
  1080. height: 100%;
  1081. font-size: $font-base;
  1082. padding: 0;
  1083. &:after {
  1084. content: '';
  1085. position: absolute;
  1086. top: 50%;
  1087. left: 0;
  1088. border: none;
  1089. border-right: 1upx solid;
  1090. transform: translateY(-50%);
  1091. height: 28upx;
  1092. width: 0;
  1093. }
  1094. }
  1095. .action-btn:first-child {
  1096. &:after {
  1097. border: none;
  1098. }
  1099. }
  1100. // 按钮两行显示
  1101. .btnIn2Line {
  1102. width: 220upx;
  1103. line-height: 72upx;
  1104. padding-top: 4upx;
  1105. .text {
  1106. line-height: 36upx;
  1107. font-size: $font-sm + 2upx;
  1108. }
  1109. &:after {
  1110. content: '';
  1111. position: absolute;
  1112. top: 50%;
  1113. left: 0;
  1114. border: none;
  1115. border-right: 1upx solid;
  1116. transform: translateY(-50%);
  1117. height: 28upx;
  1118. width: 0;
  1119. }
  1120. }
  1121. .btnIn2Line:first-child {
  1122. &:after {
  1123. border: none;
  1124. }
  1125. }
  1126. }
  1127. .action-btn-submit {
  1128. height: 76upx;
  1129. line-height: 76upx;
  1130. width: 320upx;
  1131. border-radius: 100px;
  1132. margin: 0 20upx 0 80upx;
  1133. font-size: $font-base - 2upx;
  1134. &:after {
  1135. border: 1upx solid $border-color-light;
  1136. }
  1137. }
  1138. }
  1139. /* 详情 */
  1140. .detail-desc {
  1141. background: #fff;
  1142. margin-top: 16upx;
  1143. padding: 0 0 40upx;
  1144. .d-header {
  1145. display: flex;
  1146. justify-content: center;
  1147. align-items: center;
  1148. height: 80upx;
  1149. font-size: $font-base + 2upx;
  1150. color: $font-color-dark;
  1151. position: relative;
  1152. text {
  1153. padding: 0 20upx;
  1154. background: #fff;
  1155. position: relative;
  1156. z-index: 1;
  1157. }
  1158. &:after {
  1159. position: absolute;
  1160. left: 50%;
  1161. top: 50%;
  1162. transform: translateX(-50%);
  1163. width: 300upx;
  1164. height: 0;
  1165. content: '';
  1166. border-bottom: 1px solid #ccc;
  1167. }
  1168. }
  1169. }
  1170. /* 评价 */
  1171. .eva-section {
  1172. display: flex;
  1173. flex-direction: column;
  1174. padding: 20upx 30upx;
  1175. background: #fff;
  1176. margin-top: 16upx;
  1177. .e-header {
  1178. display: flex;
  1179. align-items: center;
  1180. height: 70upx;
  1181. font-size: $font-sm + 2upx;
  1182. color: $font-color-light;
  1183. .tit {
  1184. flex: 1;
  1185. font-size: $font-base + 2upx;
  1186. color: $font-color-dark;
  1187. margin-right: 4upx;
  1188. }
  1189. .con {
  1190. padding: 0;
  1191. }
  1192. .tip {
  1193. text-align: right;
  1194. }
  1195. .iconyou {
  1196. margin-left: 10upx;
  1197. }
  1198. }
  1199. .eva-box {
  1200. display: flex;
  1201. padding: 20upx 0;
  1202. .portrait {
  1203. flex-shrink: 0;
  1204. width: 80upx;
  1205. height: 80upx;
  1206. border-radius: 100px;
  1207. }
  1208. .right {
  1209. flex: 1;
  1210. display: flex;
  1211. flex-direction: column;
  1212. font-size: $font-base;
  1213. color: $font-color-base;
  1214. padding-left: 26upx;
  1215. .con {
  1216. font-size: $font-base;
  1217. color: $font-color-dark;
  1218. }
  1219. .bot {
  1220. display: flex;
  1221. justify-content: space-between;
  1222. font-size: $font-sm;
  1223. color: $font-color-light;
  1224. }
  1225. .name {
  1226. align-items: center;
  1227. display: flex;
  1228. justify-content: space-between;
  1229. }
  1230. }
  1231. }
  1232. .h-list {
  1233. white-space: nowrap;
  1234. margin: 20upx 0;
  1235. .h-item {
  1236. display: inline-block;
  1237. font-size: $font-sm;
  1238. margin-right: 20upx;
  1239. border-right: 1upx solid rgba(0, 0, 0, 0.1);
  1240. .combination-product-item {
  1241. display: inline-block;
  1242. margin-right: 20upx;
  1243. position: relative;
  1244. .combination-product-img {
  1245. width: 200upx;
  1246. height: 180upx;
  1247. }
  1248. .combination-product-price {
  1249. width: 100%;
  1250. text-align: center;
  1251. background-color: rgba(0, 0, 0, 0.4);
  1252. position: absolute;
  1253. border-bottom-left-radius: 6upx;
  1254. bottom: 0;
  1255. padding: 0 8upx;
  1256. right: 0;
  1257. color: #fff;
  1258. font-size: $font-sm;
  1259. }
  1260. }
  1261. .combination-product-title {
  1262. margin-top: 10upx;
  1263. text-align: center;
  1264. }
  1265. }
  1266. image {
  1267. }
  1268. }
  1269. }
  1270. // rf 通用列表样式
  1271. .oa-list {
  1272. padding-top: $spacing-base;
  1273. margin-bottom: 40upx;
  1274. .oa-list-item {
  1275. background-color: $color-white;
  1276. display: flex;
  1277. align-items: center;
  1278. border-radius: 12upx;
  1279. box-shadow: 0upx 5upx 25upx rgba(0, 0, 0, 0.05);
  1280. padding: $spacing-base $spacing-lg;
  1281. margin: 0 $spacing-base $spacing-base;
  1282. .left {
  1283. }
  1284. .mid {
  1285. flex: 1;
  1286. }
  1287. .right {
  1288. .icon-bianji {
  1289. display: flex;
  1290. align-items: center;
  1291. height: 80upx;
  1292. font-size: 40upx;
  1293. color: $font-color-light;
  1294. padding-left: 30upx;
  1295. }
  1296. }
  1297. }
  1298. .tips {
  1299. display: block;
  1300. padding: 16upx 30upx 10upx;
  1301. font-size: 24upx;
  1302. }
  1303. .no-data {
  1304. margin: $spacing-base 0;
  1305. display: flex;
  1306. justify-content: center;
  1307. }
  1308. }
  1309. .add-btn-wrapper {
  1310. width: 100%;
  1311. background-color: $page-color-base;
  1312. height: 120upx;
  1313. z-index: 99;
  1314. position: fixed;
  1315. bottom: 0;
  1316. .add-btn {
  1317. font-size: $font-base;
  1318. margin: 0 $spacing-lg;
  1319. border-radius: 10upx;
  1320. }
  1321. }
  1322. // rf 通用表单样式
  1323. .oa-row-wrapper {
  1324. .row {
  1325. display: flex;
  1326. align-items: center;
  1327. position: relative;
  1328. padding: 0 30upx;
  1329. height: 110upx;
  1330. background: #fff;
  1331. .tit {
  1332. flex-shrink: 0;
  1333. width: 140upx;
  1334. font-size: 30upx;
  1335. color: $font-color-dark;
  1336. }
  1337. .input {
  1338. flex: 1;
  1339. font-size: 30upx;
  1340. color: $font-color-dark;
  1341. }
  1342. .icon-shouhuodizhi {
  1343. font-size: 36upx;
  1344. color: $font-color-light;
  1345. }
  1346. }
  1347. .default-row {
  1348. margin-top: 16upx;
  1349. .tit {
  1350. flex: 1;
  1351. }
  1352. switch {
  1353. transform: translateX(16upx) scale(0.9);
  1354. }
  1355. }
  1356. .add-btn {
  1357. display: flex;
  1358. align-items: center;
  1359. justify-content: center;
  1360. width: 690upx;
  1361. height: 80upx;
  1362. margin: 60upx auto;
  1363. font-size: $font-lg;
  1364. border-radius: 10upx;
  1365. }
  1366. }
  1367. // 抽屉列表样式
  1368. .oa-drawer {
  1369. .oa-drawer-title {
  1370. display: flex;
  1371. justify-content: center;
  1372. margin: 20upx 0;
  1373. font-size: $font-lg;
  1374. }
  1375. .oa-drawer-list {
  1376. margin: 0 $spacing-lg;
  1377. .oa-drawer-item {
  1378. padding: $spacing-base 0;
  1379. width: 100%;
  1380. display: flex;
  1381. justify-content: space-between;
  1382. align-items: center;
  1383. border-bottom: 1upx solid rgba(0, 0, 0, 0.1);
  1384. .left {
  1385. width: 88%;
  1386. .title {
  1387. font-size: $font-lg;
  1388. color: $font-color-dark;
  1389. }
  1390. .desc {
  1391. font-size: $spacing-sm;
  1392. margin: 10upx 10upx 10upx 0;
  1393. color: $font-color-light;
  1394. }
  1395. }
  1396. }
  1397. }
  1398. .close {
  1399. display: flex;
  1400. justify-content: center;
  1401. align-items: center;
  1402. .btn {
  1403. display: flex;
  1404. justify-content: center;
  1405. align-items: center;
  1406. width: 360upx;
  1407. height: 76upx;
  1408. line-height: 76upx;
  1409. border-radius: 50px;
  1410. margin-top: 70upx;
  1411. font-size: $font-lg;
  1412. border: none;
  1413. &:after {
  1414. border-radius: 100px;
  1415. }
  1416. }
  1417. }
  1418. }
  1419. // 发送验证码样式
  1420. .input-item-sms-code {
  1421. .input-wrapper {
  1422. display: flex;
  1423. justify-content: space-between;
  1424. align-items: center;
  1425. }
  1426. .sms-code-btn {
  1427. width: 200upx;
  1428. background-color: $color-white;
  1429. display: flex;
  1430. padding: 15upx 0;
  1431. justify-content: center;
  1432. align-items: center;
  1433. color: $font-color-base;
  1434. border-radius: 12upx;
  1435. }
  1436. .sms-code-resend {
  1437. color: $font-color-light;
  1438. }
  1439. }
  1440. // 优惠券样式
  1441. .sub-list {
  1442. .row {
  1443. width: 92%;
  1444. margin: 20upx auto 10upx;
  1445. box-shadow: 0upx 0 10upx rgba(0, 0, 0, 0.1);
  1446. align-items: center;
  1447. z-index: 4;
  1448. border: 0;
  1449. .carrier {
  1450. border-radius: 12upx;
  1451. background-color: $color-white;
  1452. z-index: 3;
  1453. padding: $spacing-base $spacing-lg;
  1454. .title {
  1455. display: flex;
  1456. justify-content: space-between;
  1457. .cell-title {
  1458. font-size: $font-lg;
  1459. color: $font-color-dark;
  1460. }
  1461. .cell-icon {
  1462. display: inline-block;
  1463. height: 32upx;
  1464. margin-top: 15upx;
  1465. width: 32upx;
  1466. font-size: 22upx;
  1467. text-align: center;
  1468. line-height: 32upx;
  1469. border-radius: 4upx;
  1470. margin-right: 12upx;
  1471. &.hb {
  1472. background: #ffaa0e;
  1473. }
  1474. &.lpk {
  1475. background: #3ab54a;
  1476. }
  1477. }
  1478. .price {
  1479. font-size: 44upx;
  1480. }
  1481. .price-discount {
  1482. font-size: 44upx;
  1483. }
  1484. }
  1485. .term {
  1486. display: flex;
  1487. justify-content: space-between;
  1488. font-size: $font-sm;
  1489. color: $font-color-light;
  1490. padding: $spacing-sm 0;
  1491. margin-bottom: $spacing-sm;
  1492. border-bottom: 1upx solid rgba(0, 0, 0, 0.05);
  1493. }
  1494. .usage {
  1495. font-size: 26upx;
  1496. color: $font-color-light;
  1497. display: flex;
  1498. justify-content: space-between;
  1499. .last {
  1500. margin-left: 6upx;
  1501. }
  1502. }
  1503. }
  1504. }
  1505. }
  1506. // 下单收货地址选择
  1507. .oa-address-section {
  1508. padding: 30upx 0;
  1509. background: #fff;
  1510. position: relative;
  1511. .order-content {
  1512. display: flex;
  1513. align-items: center;
  1514. }
  1515. .no-default-address {
  1516. color: #333;
  1517. font-size: 32upx;
  1518. }
  1519. .iconshouhuodizhi {
  1520. flex-shrink: 0;
  1521. display: flex;
  1522. align-items: center;
  1523. justify-content: center;
  1524. width: 90upx;
  1525. color: #888;
  1526. font-size: 44upx;
  1527. }
  1528. .cen {
  1529. display: flex;
  1530. flex-direction: column;
  1531. flex: 1;
  1532. font-size: 28upx;
  1533. color: $font-color-dark;
  1534. }
  1535. .name {
  1536. font-size: 34upx;
  1537. margin-right: 24upx;
  1538. }
  1539. .address {
  1540. margin-top: 16upx;
  1541. margin-right: 20upx;
  1542. color: $font-color-light;
  1543. }
  1544. .iconyou {
  1545. font-size: 32upx;
  1546. color: $font-color-light;
  1547. margin-right: 30upx;
  1548. }
  1549. .a-bg {
  1550. position: absolute;
  1551. left: 0;
  1552. bottom: 0;
  1553. display: block;
  1554. width: 100%;
  1555. height: 5upx;
  1556. }
  1557. }
  1558. // 订单商品列表
  1559. .oa-goods-section {
  1560. margin-top: 16upx;
  1561. background: #fff;
  1562. padding-bottom: 1px;
  1563. .g-header {
  1564. display: flex;
  1565. align-items: center;
  1566. height: 84upx;
  1567. padding: 0 30upx;
  1568. position: relative;
  1569. }
  1570. .logo {
  1571. display: block;
  1572. width: 50upx;
  1573. height: 50upx;
  1574. border-radius: 100px;
  1575. }
  1576. .name {
  1577. font-size: 30upx;
  1578. margin-left: 24upx;
  1579. }
  1580. .g-item {
  1581. display: flex;
  1582. margin: 20upx 30upx;
  1583. image {
  1584. flex-shrink: 0;
  1585. display: block;
  1586. width: 220upx;
  1587. height: 170upx;
  1588. border-radius: 4upx;
  1589. }
  1590. .right {
  1591. flex: 1;
  1592. padding-left: 16upx;
  1593. overflow: hidden;
  1594. }
  1595. .title {
  1596. font-size: $font-base;
  1597. color: $font-color-dark;
  1598. line-height: 40upx;
  1599. height: 80upx;
  1600. }
  1601. .spec {
  1602. font-size: 22upx;
  1603. color: $font-color-light;
  1604. }
  1605. .price-box {
  1606. display: flex;
  1607. align-items: center;
  1608. font-size: 28upx;
  1609. color: $font-color-dark;
  1610. .price {
  1611. margin-bottom: 4upx;
  1612. }
  1613. .number {
  1614. font-size: 26upx;
  1615. color: $font-color-base;
  1616. margin-left: 20upx;
  1617. }
  1618. }
  1619. .step-box {
  1620. position: relative;
  1621. }
  1622. }
  1623. }
  1624. // 订单列表
  1625. .oa-order-item {
  1626. display: flex;
  1627. flex-direction: column;
  1628. padding: 0 30upx;
  1629. background: #fff;
  1630. margin-top: 16upx;
  1631. .i-top {
  1632. display: flex;
  1633. align-items: center;
  1634. height: 80upx;
  1635. padding-right: 30upx;
  1636. font-size: $font-base;
  1637. color: $font-color-dark;
  1638. position: relative;
  1639. .time {
  1640. flex: 1;
  1641. }
  1642. .del-btn {
  1643. padding: 10upx 0 10upx 36upx;
  1644. font-size: $font-lg;
  1645. color: $font-color-light;
  1646. position: relative;
  1647. &:after {
  1648. content: '';
  1649. width: 0;
  1650. height: 30upx;
  1651. border-left: 1px solid $border-color-dark;
  1652. position: absolute;
  1653. left: 20upx;
  1654. top: 50%;
  1655. transform: translateY(-50%);
  1656. }
  1657. }
  1658. }
  1659. /* 多条商品 */
  1660. .goods-box {
  1661. padding-top: 10upx;
  1662. height: 220upx;
  1663. .goods-item {
  1664. overflow: hidden;
  1665. height: 100%;
  1666. width: 160upx;
  1667. margin-right: 16upx;
  1668. display: inline-block;
  1669. .goods-img {
  1670. display: block;
  1671. width: 100%;
  1672. height: 140upx;
  1673. }
  1674. .goods-title {
  1675. font-size: $font-sm - 2upx;
  1676. line-height: 32upx;
  1677. }
  1678. }
  1679. }
  1680. /* 单条商品 */
  1681. .goods-box-single {
  1682. display: flex;
  1683. margin: 10upx 0;
  1684. border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  1685. box-shadow: 0 1px 5px rgba(0, 0, 0, 0.02);
  1686. .goods-img {
  1687. display: block;
  1688. width: 180upx;
  1689. height: 140upx;
  1690. }
  1691. .red {
  1692. margin: 0 10upx 0 0;
  1693. font-size: $font-sm;
  1694. }
  1695. .point {
  1696. margin: 0 10upx 0 0;
  1697. font-size: $font-sm;
  1698. }
  1699. .right {
  1700. flex: 1;
  1701. display: flex;
  1702. flex-direction: column;
  1703. padding: 0 30upx 0 24upx;
  1704. overflow: hidden;
  1705. .title {
  1706. font-size: $font-sm;
  1707. line-height: 32upx;
  1708. height: 60upx;
  1709. color: $font-color-dark;
  1710. }
  1711. .attr-box {
  1712. font-size: $font-sm;
  1713. color: $font-color-light;
  1714. }
  1715. .price {
  1716. font-size: $font-sm;
  1717. }
  1718. }
  1719. }
  1720. .price-box {
  1721. display: flex;
  1722. justify-content: flex-end;
  1723. align-items: baseline;
  1724. padding: 15upx 30upx;
  1725. font-size: $font-sm + 2upx;
  1726. color: $font-color-light;
  1727. .num {
  1728. margin: 0 8upx;
  1729. color: $font-color-dark;
  1730. }
  1731. .price {
  1732. font-size: $font-lg;
  1733. color: $font-color-dark;
  1734. }
  1735. }
  1736. .action-box {
  1737. display: flex;
  1738. justify-content: flex-end;
  1739. align-items: center;
  1740. height: 100upx;
  1741. position: relative;
  1742. .action-btn {
  1743. width: 150upx;
  1744. height: 56upx;
  1745. margin: 0 0 0 $spacing-base;
  1746. padding: 0;
  1747. text-align: center;
  1748. line-height: 56upx;
  1749. font-size: $font-sm + 2upx;
  1750. }
  1751. .action-btn::after {
  1752. border: 1upx solid;
  1753. }
  1754. }
  1755. }
  1756. /* 上传 */
  1757. .oa-uploader {
  1758. .close-view {
  1759. text-align: center;
  1760. line-height: 14px;
  1761. height: 16px;
  1762. width: 16px;
  1763. border-radius: 50%;
  1764. position: absolute;
  1765. top: -6px;
  1766. right: -4px;
  1767. font-size: 12px;
  1768. }
  1769. /* 上传 */
  1770. .uni-uploader {
  1771. flex: 1;
  1772. flex-direction: column;
  1773. }
  1774. .uni-uploader-head {
  1775. display: flex;
  1776. flex-direction: row;
  1777. justify-content: space-between;
  1778. }
  1779. .uni-uploader-info {
  1780. color: #b2b2b2;
  1781. }
  1782. .uni-uploader-body {
  1783. margin-top: 16upx;
  1784. }
  1785. .uni-uploader__files {
  1786. display: flex;
  1787. flex-direction: row;
  1788. flex-wrap: wrap;
  1789. }
  1790. .uni-uploader__file {
  1791. margin: 10upx;
  1792. // width: 210upx;
  1793. // height: 210upx;
  1794. }
  1795. .uni-uploader__img {
  1796. display: block;
  1797. width: 100%;
  1798. height: 100%;
  1799. }
  1800. .uni-uploader__input-box {
  1801. position: relative;
  1802. margin: 10upx;
  1803. width: 208upx;
  1804. height: 208upx;
  1805. border: 2upx solid #d9d9d9;
  1806. }
  1807. .uni-uploader__input-box:before,
  1808. .uni-uploader__input-box:after {
  1809. content: ' ';
  1810. position: absolute;
  1811. top: 50%;
  1812. left: 50%;
  1813. -webkit-transform: translate(-50%, -50%);
  1814. transform: translate(-50%, -50%);
  1815. background-color: #d9d9d9;
  1816. }
  1817. .uni-uploader__input-box:before {
  1818. width: 4upx;
  1819. height: 79upx;
  1820. }
  1821. .uni-uploader__input-box:after {
  1822. width: 79upx;
  1823. height: 4upx;
  1824. }
  1825. .uni-uploader__input-box:active {
  1826. border-color: #999999;
  1827. }
  1828. .uni-uploader__input-box:active:before,
  1829. .uni-uploader__input-box:active:after {
  1830. background-color: #999999;
  1831. }
  1832. .uni-uploader__input {
  1833. position: absolute;
  1834. z-index: 1;
  1835. top: 0;
  1836. left: 0;
  1837. width: 100%;
  1838. height: 100%;
  1839. opacity: 0;
  1840. }
  1841. }
  1842. // 提交订单按钮
  1843. .no-data-title {
  1844. font-size: $font-lg;
  1845. }
  1846. // cart 样式列表
  1847. .oa-cart-row {
  1848. width: calc(92%);
  1849. height: calc(22vw + 40upx);
  1850. margin: 20upx auto;
  1851. border-radius: 15upx;
  1852. box-shadow: 0upx 5upx 20upx rgba(0, 0, 0, 0.1);
  1853. display: flex;
  1854. align-items: center;
  1855. position: relative;
  1856. overflow: hidden;
  1857. z-index: 4;
  1858. border: 0;
  1859. .menu {
  1860. .icon {
  1861. color: #fff;
  1862. font-size: 60upx;
  1863. }
  1864. position: absolute;
  1865. width: 29%;
  1866. height: 100%;
  1867. right: 0;
  1868. display: flex;
  1869. justify-content: center;
  1870. align-items: center;
  1871. color: #fff;
  1872. z-index: 2;
  1873. }
  1874. .carrier {
  1875. @keyframes showMenu {
  1876. 0% {
  1877. transform: translateX(0);
  1878. }
  1879. 100% {
  1880. transform: translateX(-30%);
  1881. }
  1882. }
  1883. @keyframes closeMenu {
  1884. 0% {
  1885. transform: translateX(-30%);
  1886. }
  1887. 100% {
  1888. transform: translateX(0);
  1889. }
  1890. }
  1891. &.open {
  1892. animation: showMenu 0.25s linear both;
  1893. }
  1894. &.close {
  1895. animation: closeMenu 0.15s linear both;
  1896. }
  1897. background-color: #fff;
  1898. .checkbox-box {
  1899. padding-left: 20upx;
  1900. flex-shrink: 0;
  1901. height: 22vw;
  1902. margin-right: 20upx;
  1903. }
  1904. position: absolute;
  1905. width: 100%;
  1906. padding: 0 0;
  1907. height: 100%;
  1908. z-index: 3;
  1909. display: flex;
  1910. align-items: center;
  1911. .goods-info {
  1912. width: 100%;
  1913. display: flex;
  1914. padding-right: 20upx;
  1915. .img {
  1916. width: 22vw;
  1917. height: 22vw;
  1918. border-radius: 10upx;
  1919. overflow: hidden;
  1920. flex-shrink: 0;
  1921. margin-right: 10upx;
  1922. image {
  1923. width: 22vw;
  1924. height: 22vw;
  1925. }
  1926. }
  1927. .info {
  1928. width: 100%;
  1929. height: 22vw;
  1930. overflow: hidden;
  1931. display: flex;
  1932. flex-wrap: wrap;
  1933. position: relative;
  1934. .title {
  1935. width: 100%;
  1936. font-size: $font-base;
  1937. line-height: 40upx;
  1938. height: 80upx;
  1939. }
  1940. .price-number {
  1941. position: absolute;
  1942. width: 100%;
  1943. bottom: 0upx;
  1944. display: flex;
  1945. justify-content: space-between;
  1946. align-items: flex-end;
  1947. font-size: 28upx;
  1948. height: 60upx;
  1949. .remark {
  1950. font-size: $font-sm;
  1951. color: $font-color-disabled;
  1952. }
  1953. .number {
  1954. display: flex;
  1955. justify-content: center;
  1956. align-items: flex-end;
  1957. .input {
  1958. width: 60upx;
  1959. height: 60upx;
  1960. margin: 0 10upx;
  1961. background-color: #f3f3f3;
  1962. input {
  1963. width: 60upx;
  1964. height: 60upx;
  1965. display: flex;
  1966. justify-content: center;
  1967. align-items: center;
  1968. text-align: center;
  1969. font-size: 26upx;
  1970. }
  1971. }
  1972. .sub,
  1973. .add {
  1974. width: 45upx;
  1975. height: 45upx;
  1976. background-color: #f3f3f3;
  1977. border-radius: 5upx;
  1978. .icon {
  1979. font-size: 22upx;
  1980. width: 45upx;
  1981. height: 45upx;
  1982. display: flex;
  1983. justify-content: center;
  1984. align-items: center;
  1985. }
  1986. }
  1987. }
  1988. }
  1989. }
  1990. .state-wrapper {
  1991. width: 100%;
  1992. display: flex;
  1993. justify-content: space-between;
  1994. .state {
  1995. margin: 5upx 20upx;
  1996. height: 45upx;
  1997. background-color: $font-color-light;
  1998. color: $color-white;
  1999. padding: 5upx 20upx;
  2000. font-size: $font-sm;
  2001. border-radius: 6upx;
  2002. }
  2003. .spec {
  2004. font-size: $font-sm;
  2005. background-color: #f3f3f3;
  2006. color: #a7a7a7;
  2007. padding: 5upx 15upx;
  2008. border-radius: 20upx;
  2009. margin-bottom: 20vw;
  2010. }
  2011. }
  2012. }
  2013. }
  2014. }
  2015. // 点击统一协议
  2016. .footer-protocol {
  2017. display: flex;
  2018. justify-content: center;
  2019. align-items: center;
  2020. font-size: $font-base;
  2021. margin-bottom: 30upx;
  2022. padding-bottom: 30upx;
  2023. .cuIcon {
  2024. padding: 6upx;
  2025. }
  2026. .content {
  2027. margin: 0 4upx 0 $spacing-sm;
  2028. }
  2029. }
  2030. // 通用商品列表
  2031. .oa-product-list {
  2032. background-color: $page-color-base;
  2033. padding: 0 $spacing-sm;
  2034. display: flex;
  2035. justify-content: space-between;
  2036. flex-direction: row;
  2037. flex-wrap: wrap;
  2038. box-sizing: border-box;
  2039. .oa-product-list-container {
  2040. flex: 1;
  2041. margin-right: 10upx;
  2042. }
  2043. .oa-product-list-container:last-child {
  2044. margin-right: 0;
  2045. }
  2046. .oa-product-item {
  2047. width: 100%;
  2048. margin-bottom: 10upx;
  2049. box-sizing: border-box;
  2050. background: $color-white;
  2051. border-radius: 12upx;
  2052. overflow: hidden;
  2053. transition: all 0.15s ease-in-out;
  2054. }
  2055. .oa-product-list-item {
  2056. width: 48vw;
  2057. }
  2058. .oa-product-flex-list {
  2059. display: flex;
  2060. margin-bottom: 10upx !important;
  2061. }
  2062. .oa-product-image-wrapper {
  2063. border-radius: 6upx;
  2064. overflow: hidden;
  2065. position: relative;
  2066. .oa-product-img {
  2067. width: calc(50vw - 20upx);
  2068. height: calc(50vw - 20upx) !important;
  2069. border-radius: 12upx;
  2070. display: block;
  2071. }
  2072. .oa-product-list-img {
  2073. border-radius: 12upx;
  2074. width: 400upx;
  2075. height: 240upx !important;
  2076. display: block;
  2077. flex-shrink: 0;
  2078. }
  2079. .sketch {
  2080. width: 100%;
  2081. background-color: rgba(0, 0, 0, 0.4);
  2082. position: absolute;
  2083. border-bottom-left-radius: 6upx;
  2084. bottom: 0;
  2085. padding: 0 8upx;
  2086. right: 0;
  2087. color: #fff;
  2088. font-size: $font-sm;
  2089. }
  2090. .triangle-wrapper {
  2091. border-top-left-radius: 6upx;
  2092. position: absolute;
  2093. overflow: hidden;
  2094. top: 0;
  2095. left: 0;
  2096. .triangle-tag {
  2097. width: 64upx;
  2098. height: 64upx;
  2099. }
  2100. }
  2101. }
  2102. .oa-pro-content {
  2103. width: 100%;
  2104. display: flex;
  2105. flex-direction: column;
  2106. justify-content: space-between;
  2107. box-sizing: border-box;
  2108. padding: 20upx;
  2109. .oa-pro-tit {
  2110. height: 78upx;
  2111. color: #2e2e2e;
  2112. font-size: 26upx;
  2113. word-break: break-all;
  2114. overflow: hidden;
  2115. text-overflow: ellipsis;
  2116. display: -webkit-box;
  2117. -webkit-box-orient: vertical;
  2118. -webkit-line-clamp: 2;
  2119. }
  2120. .oa-pro-price {
  2121. padding-top: 18upx;
  2122. }
  2123. .oa-sale-price {
  2124. font-size: 34upx;
  2125. font-weight: 500;
  2126. }
  2127. .oa-factory-price {
  2128. font-size: 24upx;
  2129. color: #a0a0a0;
  2130. text-decoration: line-through;
  2131. padding-left: 12upx;
  2132. }
  2133. .oa-pro-pay {
  2134. display: flex;
  2135. justify-content: space-between;
  2136. align-items: center;
  2137. padding-top: 10upx;
  2138. font-size: 24upx;
  2139. color: #656565;
  2140. .iconfont {
  2141. font-size: $font-lg + 6upx;
  2142. padding: 0 $spacing-sm;
  2143. }
  2144. }
  2145. }
  2146. }