style.css 18 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090
  1. page {
  2. background-color: #F8F8F8;
  3. }
  4. /* 自定义导航标题栏(因navigationStyle:custom) */
  5. .custom-nav-bar {
  6. padding: 80rpx 30rpx 20rpx;
  7. background-color: #fff;
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. }
  12. .nav-title {
  13. font-size: 34rpx;
  14. font-weight: bold;
  15. color: #333;
  16. }
  17. /* 吸顶容器:状态tab + 搜索 + 筛选 */
  18. .sticky-header {
  19. position: sticky;
  20. top: 0;
  21. z-index: 999;
  22. background-color: #F8F8F8;
  23. }
  24. .container {
  25. background-color: #F8F8F8;
  26. display: flex;
  27. flex-direction: column;
  28. position: absolute;
  29. top: 0;
  30. left: 0;
  31. right: 0;
  32. bottom: 0;
  33. }
  34. /* 状态 Tabs */
  35. .status-tabs {
  36. display: flex;
  37. background-color: #fff;
  38. padding: 0 30rpx;
  39. justify-content: space-between;
  40. }
  41. .tab-item {
  42. position: relative;
  43. padding: 20rpx 0;
  44. font-size: 26rpx;
  45. color: #666;
  46. font-weight: 500;
  47. }
  48. .tab-item.active {
  49. color: #FF5722;
  50. font-weight: bold;
  51. }
  52. .indicator {
  53. position: absolute;
  54. bottom: 0;
  55. left: 50%;
  56. transform: translateX(-50%);
  57. width: 40rpx;
  58. height: 6rpx;
  59. background-color: #FF5722;
  60. border-radius: 3rpx;
  61. }
  62. /* 搜索栏 */
  63. .search-bar {
  64. padding: 10rpx 30rpx;
  65. background-color: #fff;
  66. }
  67. .search-input-box {
  68. display: flex;
  69. align-items: center;
  70. background-color: #F8F8F8;
  71. height: 64rpx;
  72. border-radius: 32rpx;
  73. padding: 0 30rpx;
  74. }
  75. .search-input {
  76. flex: 1;
  77. font-size: 26rpx;
  78. color: #333;
  79. padding-left: 20rpx;
  80. /* Give some left padding since icon is gone */
  81. }
  82. .ph-style {
  83. font-size: 26rpx;
  84. color: #999;
  85. }
  86. /* 筛选栏 (改用 wrapper 进行相对定位) */
  87. .filter-wrapper {
  88. position: relative;
  89. z-index: 998;
  90. }
  91. .filter-bar {
  92. display: flex;
  93. background-color: #fff;
  94. padding: 5rpx 30rpx 10rpx 30rpx;
  95. justify-content: space-between;
  96. position: relative;
  97. z-index: 998;
  98. }
  99. .filter-item {
  100. width: 48%;
  101. display: flex;
  102. align-items: center;
  103. justify-content: center;
  104. font-size: 26rpx;
  105. color: #666;
  106. background-color: #F8F8F8;
  107. height: 56rpx;
  108. border-radius: 12rpx;
  109. transition: all 0.2s;
  110. }
  111. .filter-item.active {
  112. background-color: #FFF3E0;
  113. }
  114. .active-text {
  115. color: #FF5722;
  116. /* Matches red triangle */
  117. font-weight: 500;
  118. }
  119. .triangle {
  120. width: 0;
  121. height: 0;
  122. border-left: 8rpx solid transparent;
  123. border-right: 8rpx solid transparent;
  124. margin-left: 10rpx;
  125. transition: all 0.2s;
  126. }
  127. .triangle.down {
  128. border-top: 10rpx solid #dcdcdc;
  129. }
  130. .filter-item.active .triangle.down,
  131. .active-text+.triangle.down {
  132. border-top-color: #FF5722;
  133. }
  134. .triangle.up {
  135. border-bottom: 10rpx solid #FF5722;
  136. }
  137. /* 下拉面板 */
  138. .dropdown-mask {
  139. position: absolute;
  140. top: 100%;
  141. left: 0;
  142. right: 0;
  143. height: 100vh;
  144. background-color: rgba(0, 0, 0, 0.4);
  145. z-index: 80;
  146. }
  147. .dropdown-panel {
  148. position: absolute;
  149. top: 100%;
  150. left: 0;
  151. right: 0;
  152. background-color: #fff;
  153. z-index: 90;
  154. border-radius: 0 0 20rpx 20rpx;
  155. box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.05);
  156. overflow: hidden;
  157. }
  158. .type-option {
  159. padding: 30rpx 40rpx;
  160. font-size: 28rpx;
  161. color: #333;
  162. border-bottom: 1px solid #f5f5f5;
  163. }
  164. .type-option:last-child {
  165. border-bottom: none;
  166. }
  167. .type-option.selected text {
  168. color: #FF5722;
  169. font-weight: bold;
  170. }
  171. .calendar-panel {
  172. padding-bottom: 30rpx;
  173. }
  174. /* Custom Calendar Styles */
  175. .custom-calendar-container {
  176. padding: 20rpx 30rpx 0;
  177. }
  178. .cal-header {
  179. display: flex;
  180. justify-content: space-between;
  181. align-items: center;
  182. padding: 20rpx 0;
  183. }
  184. .cal-title {
  185. font-size: 32rpx;
  186. font-weight: bold;
  187. color: #333;
  188. }
  189. .cal-weekdays {
  190. display: flex;
  191. justify-content: space-around;
  192. padding: 20rpx 0;
  193. border-bottom: 1px solid #f5f5f5;
  194. }
  195. .wk-item {
  196. font-size: 24rpx;
  197. color: #999;
  198. width: 14.28%;
  199. text-align: center;
  200. }
  201. .cal-body {
  202. display: flex;
  203. flex-wrap: wrap;
  204. padding-top: 20rpx;
  205. }
  206. .cal-day-box {
  207. width: 14.28%;
  208. height: 80rpx;
  209. display: flex;
  210. align-items: center;
  211. justify-content: center;
  212. margin-bottom: 10rpx;
  213. position: relative;
  214. }
  215. .cal-day-text {
  216. width: 64rpx;
  217. height: 64rpx;
  218. line-height: 64rpx;
  219. text-align: center;
  220. font-size: 28rpx;
  221. color: #333;
  222. border-radius: 8rpx;
  223. position: relative;
  224. z-index: 2;
  225. }
  226. /* Range styles matching Figure 2 */
  227. .cal-day-box.is-start .cal-day-text,
  228. .cal-day-box.is-end .cal-day-text {
  229. background-color: #FF5722;
  230. color: #fff;
  231. font-weight: bold;
  232. }
  233. .cal-day-box.is-start::after {
  234. content: '';
  235. position: absolute;
  236. right: 0;
  237. top: 8rpx;
  238. bottom: 8rpx;
  239. width: 50%;
  240. background-color: #FFF3E0;
  241. z-index: 1;
  242. }
  243. .cal-day-box.is-end::after {
  244. content: '';
  245. position: absolute;
  246. left: 0;
  247. top: 8rpx;
  248. bottom: 8rpx;
  249. width: 50%;
  250. background-color: #FFF3E0;
  251. z-index: 1;
  252. }
  253. .cal-day-box.is-start.is-end::after {
  254. display: none;
  255. /* No range background if same day */
  256. }
  257. .cal-day-box.is-between {
  258. background-color: #FFF3E0;
  259. /* reduce height slightly to match design */
  260. margin-top: 8rpx;
  261. height: 64rpx;
  262. margin-bottom: 18rpx;
  263. }
  264. .cal-day-box.is-between .cal-day-text {
  265. color: #FF5722;
  266. }
  267. .calendar-actions {
  268. display: flex;
  269. justify-content: space-between;
  270. padding: 0 30rpx;
  271. margin-top: 20rpx;
  272. }
  273. .cal-btn {
  274. width: 48%;
  275. height: 70rpx;
  276. line-height: 70rpx;
  277. text-align: center;
  278. border-radius: 10rpx;
  279. font-size: 28rpx;
  280. margin: 0;
  281. }
  282. .cal-btn.reset {
  283. background-color: #f5f5f5;
  284. color: #666;
  285. }
  286. .cal-btn.confirm {
  287. background-color: #FF5722;
  288. color: #fff;
  289. }
  290. /* 订单列表 */
  291. .order-list {
  292. padding: 0 30rpx;
  293. width: 100%;
  294. box-sizing: border-box;
  295. }
  296. .order-card {
  297. background-color: #fff;
  298. border-radius: 24rpx;
  299. padding: 20rpx 20rpx;
  300. margin-bottom: 20rpx;
  301. box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);
  302. }
  303. .order-card:first-child {
  304. margin-top: 20rpx;
  305. }
  306. .card-header {
  307. display: flex;
  308. justify-content: space-between;
  309. align-items: center;
  310. margin-bottom: 15rpx;
  311. }
  312. .type-badge {
  313. display: flex;
  314. align-items: center;
  315. }
  316. .type-icon {
  317. width: 44rpx;
  318. height: 44rpx;
  319. margin-right: 15rpx;
  320. background-color: #FFF3E0;
  321. border-radius: 50%;
  322. padding: 6rpx;
  323. box-sizing: border-box;
  324. }
  325. .type-text {
  326. font-size: 30rpx;
  327. font-weight: bold;
  328. color: #333;
  329. }
  330. .status-badge {
  331. font-size: 28rpx;
  332. }
  333. .status-badge.highlight {
  334. color: #FF5722;
  335. }
  336. .status-badge.processing {
  337. color: #2196F3;
  338. }
  339. .status-badge.finish {
  340. color: #4CAF50;
  341. }
  342. .status-badge.reject {
  343. color: #9E9E9E;
  344. }
  345. .time-row {
  346. display: flex;
  347. justify-content: space-between;
  348. align-items: center;
  349. margin-bottom: 25rpx;
  350. }
  351. .time-row .time-col {
  352. display: flex;
  353. align-items: center;
  354. font-size: 26rpx;
  355. color: #333;
  356. }
  357. .time-row .label {
  358. color: #666;
  359. margin-right: 10rpx;
  360. }
  361. .price {
  362. font-size: 36rpx;
  363. font-weight: bold;
  364. color: #FF5722;
  365. }
  366. /* 宠物卡片 */
  367. .pet-card {
  368. background-color: #FFF8F0;
  369. border-radius: 16rpx;
  370. padding: 15rpx 20rpx;
  371. display: flex;
  372. align-items: center;
  373. margin-bottom: 20rpx;
  374. }
  375. .pet-avatar {
  376. width: 80rpx;
  377. height: 80rpx;
  378. border-radius: 50%;
  379. margin-right: 20rpx;
  380. }
  381. .pet-info {
  382. flex: 1;
  383. display: flex;
  384. flex-direction: column;
  385. }
  386. .pet-name {
  387. font-size: 28rpx;
  388. font-weight: bold;
  389. color: #333;
  390. margin-bottom: 5rpx;
  391. }
  392. .pet-breed {
  393. font-size: 24rpx;
  394. color: #999;
  395. }
  396. .pet-profile-btn {
  397. font-size: 24rpx;
  398. color: #FF9800;
  399. border: 1px solid #FF9800;
  400. padding: 6rpx 20rpx;
  401. border-radius: 50rpx;
  402. background-color: #fff;
  403. }
  404. /* 路线信息 (复用) */
  405. .route-info {
  406. margin-bottom: 25rpx;
  407. }
  408. .route-item {
  409. display: flex;
  410. align-items: flex-start;
  411. padding-bottom: 12rpx;
  412. /* Radically reduced for compactness */
  413. position: relative;
  414. width: 100%;
  415. }
  416. /* 路线项底部的间隔 */
  417. .route-item:not(:last-child) {
  418. margin-bottom: 5rpx;
  419. /* Radically reduced for compactness */
  420. }
  421. .route-item:last-child {
  422. padding-bottom: 0;
  423. margin-bottom: 0;
  424. }
  425. .route-line-vertical {
  426. position: absolute;
  427. left: 19rpx;
  428. top: 46rpx;
  429. bottom: -15rpx;
  430. /* Adjusted to connect the now-closer nodes */
  431. border-left: 2rpx dashed #E0E0E0;
  432. width: 0;
  433. z-index: 0;
  434. }
  435. .icon-circle {
  436. width: 40rpx;
  437. height: 40rpx;
  438. border-radius: 50%;
  439. color: #fff;
  440. font-size: 22rpx;
  441. display: flex;
  442. align-items: center;
  443. justify-content: center;
  444. margin-right: 20rpx;
  445. flex-shrink: 0;
  446. font-weight: bold;
  447. margin-top: 6rpx;
  448. position: relative;
  449. z-index: 1;
  450. }
  451. .icon-circle.service {
  452. background-color: #81C784;
  453. }
  454. .icon-circle.start {
  455. background-color: #FFB74D;
  456. }
  457. .icon-circle.end {
  458. background-color: #81C784;
  459. }
  460. .address-box {
  461. flex: 1;
  462. display: flex;
  463. flex-direction: column;
  464. margin-right: 20rpx;
  465. }
  466. .addr-title {
  467. font-size: 28rpx;
  468. font-weight: bold;
  469. color: #333;
  470. margin-bottom: 4rpx;
  471. }
  472. .addr-desc {
  473. font-size: 24rpx;
  474. color: #999;
  475. line-height: 1.4;
  476. }
  477. .distance-tag {
  478. display: flex;
  479. align-items: center;
  480. justify-content: flex-end;
  481. flex-shrink: 0;
  482. min-width: 80rpx;
  483. }
  484. .distance-text {
  485. font-size: 24rpx;
  486. color: #FF5722;
  487. margin-right: 15rpx;
  488. font-weight: 500;
  489. }
  490. .nav-icon-circle {
  491. width: 48rpx;
  492. height: 48rpx;
  493. background-color: #FFF3E0;
  494. border-radius: 50%;
  495. display: flex;
  496. align-items: center;
  497. justify-content: center;
  498. }
  499. .nav-arrow {
  500. width: 24rpx;
  501. height: 24rpx;
  502. }
  503. .service-content {
  504. margin-top: -10rpx;
  505. /* Shifted up using negative margin for max compactness */
  506. font-size: 24rpx;
  507. color: #666;
  508. padding-left: 60rpx;
  509. }
  510. .content-label {
  511. color: #999;
  512. margin-right: 10rpx;
  513. }
  514. /* 备注 */
  515. .remark-box {
  516. background-color: #F8F8F8;
  517. padding: 15rpx 20rpx;
  518. border-radius: 8rpx;
  519. font-size: 26rpx;
  520. color: #666;
  521. margin-bottom: 30rpx;
  522. }
  523. /* 底部按钮 */
  524. .action-btns {
  525. display: flex;
  526. justify-content: space-between;
  527. margin-top: 15rpx;
  528. }
  529. .action-left {
  530. display: flex;
  531. }
  532. .action-right {
  533. display: flex;
  534. }
  535. .btn {
  536. height: 60rpx;
  537. line-height: 60rpx;
  538. border-radius: 30rpx;
  539. font-size: 26rpx;
  540. padding: 0 30rpx;
  541. margin: 0;
  542. }
  543. .action-right .btn:not(:last-child) {
  544. margin-right: 20rpx;
  545. }
  546. .btn::after {
  547. border: none;
  548. }
  549. .btn.normal {
  550. background-color: #F8F8F8;
  551. color: #666;
  552. border: none;
  553. }
  554. .btn.primary {
  555. background: linear-gradient(90deg, #FF9800 0%, #FF5722 100%);
  556. color: #fff;
  557. box-shadow: 0 4rpx 12rpx rgba(255, 87, 34, 0.2);
  558. border: none;
  559. }
  560. /* 宠物档案弹窗 */
  561. .pet-modal-mask {
  562. position: fixed;
  563. top: 0;
  564. left: 0;
  565. right: 0;
  566. bottom: 0;
  567. background-color: rgba(0, 0, 0, 0.4);
  568. z-index: 1000;
  569. display: flex;
  570. align-items: center;
  571. justify-content: center;
  572. }
  573. .pet-modal-content {
  574. width: 680rpx;
  575. height: 85vh;
  576. background-color: #fff;
  577. border-radius: 20rpx;
  578. display: flex;
  579. flex-direction: column;
  580. overflow: hidden;
  581. }
  582. .pet-modal-header {
  583. display: flex;
  584. align-items: center;
  585. justify-content: space-between;
  586. padding: 30rpx;
  587. border-bottom: 1rpx solid #F0F0F0;
  588. }
  589. .pet-modal-title {
  590. font-size: 34rpx;
  591. font-weight: bold;
  592. color: #333;
  593. }
  594. .pet-modal-scroll {
  595. flex: 1;
  596. height: 0;
  597. padding: 30rpx;
  598. box-sizing: border-box;
  599. }
  600. .pet-base-info {
  601. display: flex;
  602. align-items: center;
  603. margin-bottom: 40rpx;
  604. }
  605. .pm-avatar {
  606. width: 120rpx;
  607. height: 120rpx;
  608. border-radius: 50%;
  609. margin-right: 30rpx;
  610. border: 2rpx solid #f5f5f5;
  611. }
  612. .pm-info-text {
  613. flex: 1;
  614. display: flex;
  615. flex-direction: column;
  616. }
  617. .pm-name-row {
  618. display: flex;
  619. align-items: center;
  620. margin-bottom: 15rpx;
  621. }
  622. .pm-name {
  623. font-size: 36rpx;
  624. font-weight: bold;
  625. color: #333;
  626. margin-right: 20rpx;
  627. }
  628. .pm-gender {
  629. display: flex;
  630. align-items: center;
  631. background-color: #E3F2FD;
  632. padding: 4rpx 12rpx;
  633. border-radius: 20rpx;
  634. }
  635. .pm-gender text {
  636. font-size: 22rpx;
  637. color: #1E88E5;
  638. }
  639. .pm-gender .gender-icon {
  640. font-weight: bold;
  641. margin-right: 4rpx;
  642. }
  643. .pm-gender.female {
  644. background-color: #FCE4EC;
  645. }
  646. .pm-gender.female text {
  647. color: #D81B60;
  648. }
  649. .pm-breed {
  650. font-size: 26rpx;
  651. color: #999;
  652. }
  653. .pm-detail-grid {
  654. display: flex;
  655. flex-wrap: wrap;
  656. justify-content: space-between;
  657. }
  658. .pm-grid-item {
  659. background-color: #F8F8F8;
  660. border-radius: 16rpx;
  661. padding: 24rpx;
  662. margin-bottom: 20rpx;
  663. display: flex;
  664. flex-direction: column;
  665. }
  666. .pm-grid-item.half {
  667. width: 48%;
  668. box-sizing: border-box;
  669. }
  670. .pm-grid-item.full {
  671. width: 100%;
  672. box-sizing: border-box;
  673. }
  674. .pm-label {
  675. font-size: 24rpx;
  676. color: #999;
  677. margin-bottom: 10rpx;
  678. }
  679. .pm-val {
  680. font-size: 28rpx;
  681. color: #333;
  682. font-weight: 500;
  683. }
  684. .pm-tags {
  685. display: flex;
  686. flex-wrap: wrap;
  687. gap: 20rpx;
  688. margin-bottom: 40rpx;
  689. }
  690. .pm-tag {
  691. background-color: #FFF8EB;
  692. border: 2rpx solid #FFCC80;
  693. color: #FF9800;
  694. font-size: 22rpx;
  695. padding: 8rpx 24rpx;
  696. border-radius: 30rpx;
  697. }
  698. .pm-section-title {
  699. display: flex;
  700. align-items: center;
  701. margin-bottom: 30rpx;
  702. padding-top: 30rpx;
  703. border-top: 2rpx dashed #F0F0F0;
  704. }
  705. .pm-section-title .orange-bar {
  706. width: 8rpx;
  707. height: 32rpx;
  708. background-color: #FF9800;
  709. margin-right: 16rpx;
  710. border-radius: 4rpx;
  711. }
  712. .pm-section-title text {
  713. font-size: 30rpx;
  714. font-weight: bold;
  715. color: #333;
  716. }
  717. .pm-log-list {
  718. display: flex;
  719. flex-direction: column;
  720. }
  721. .pm-log-item {
  722. display: flex;
  723. flex-direction: column;
  724. padding: 24rpx 0;
  725. border-bottom: 1rpx solid #F0F0F0;
  726. }
  727. .pm-log-item:last-child {
  728. border-bottom: none;
  729. }
  730. .pm-log-date {
  731. font-size: 24rpx;
  732. color: #999;
  733. margin-bottom: 16rpx;
  734. }
  735. .pm-log-text {
  736. font-size: 28rpx;
  737. color: #333;
  738. line-height: 1.6;
  739. margin-bottom: 20rpx;
  740. }
  741. .pm-log-recorder {
  742. font-size: 24rpx;
  743. color: #FF9800;
  744. align-self: flex-end;
  745. }
  746. .pm-bottom-close {
  747. width: 100%;
  748. height: 80rpx;
  749. line-height: 80rpx;
  750. background-color: #F5F5F5;
  751. color: #666;
  752. border-radius: 40rpx;
  753. font-size: 30rpx;
  754. font-weight: bold;
  755. margin: 0;
  756. }
  757. .pm-bottom-close::after {
  758. border: none;
  759. }
  760. .close-icon-btn {
  761. font-size: 48rpx;
  762. color: #999;
  763. line-height: 1;
  764. padding: 0 10rpx;
  765. }
  766. /* 地图导航 Action Sheet */
  767. .nav-modal-mask {
  768. position: fixed;
  769. top: 0;
  770. left: 0;
  771. right: 0;
  772. bottom: 0;
  773. background-color: rgba(0, 0, 0, 0.5);
  774. z-index: 1000;
  775. display: flex;
  776. flex-direction: column;
  777. justify-content: flex-end;
  778. }
  779. .nav-action-sheet {
  780. background-color: #fff;
  781. width: 100%;
  782. border-top-left-radius: 24rpx;
  783. border-top-right-radius: 24rpx;
  784. overflow: hidden;
  785. padding-bottom: constant(safe-area-inset-bottom);
  786. padding-bottom: env(safe-area-inset-bottom);
  787. }
  788. .nav-sheet-title {
  789. text-align: center;
  790. padding: 30rpx 0;
  791. font-size: 13px;
  792. color: #999;
  793. border-bottom: 1rpx solid #efefef;
  794. }
  795. .nav-sheet-item {
  796. text-align: center;
  797. padding: 30rpx 0;
  798. font-size: 13px;
  799. color: #333;
  800. background-color: #fff;
  801. border-bottom: 1rpx solid #efefef;
  802. }
  803. .nav-sheet-item.cancel {
  804. border-bottom: none;
  805. color: #666;
  806. }
  807. .nav-sheet-gap {
  808. height: 16rpx;
  809. background-color: #F8F8F8;
  810. }
  811. /* 订单列表:填满剩余高度,实现只有列表内容滚动 */
  812. .order-list {
  813. flex: 1;
  814. overflow-y: auto;
  815. width: 100%;
  816. padding: 0 30rpx;
  817. box-sizing: border-box;
  818. }
  819. .loading-text {
  820. text-align: center;
  821. font-size: 24rpx;
  822. color: #999;
  823. padding: 30rpx 0;
  824. }
  825. /* 宠物档案弹窗头部操作区(备注按钮 + 关闭) */
  826. .pm-header-actions {
  827. display: flex;
  828. align-items: center;
  829. gap: 16rpx;
  830. }
  831. .pm-remark-btn {
  832. font-size: 24rpx;
  833. color: #fff;
  834. background-color: #FF9800;
  835. padding: 6rpx 18rpx;
  836. border-radius: 20rpx;
  837. }
  838. /* 备注输入遮罩与弹窗(图2居中样式) */
  839. .remark-mask {
  840. position: fixed;
  841. top: 0;
  842. left: 0;
  843. right: 0;
  844. bottom: 0;
  845. background-color: rgba(0, 0, 0, 0.5);
  846. z-index: 3000;
  847. display: flex;
  848. align-items: center;
  849. justify-content: center;
  850. }
  851. .remark-sheet {
  852. width: 600rpx;
  853. background-color: #fff;
  854. border-radius: 24rpx;
  855. padding: 40rpx;
  856. box-sizing: border-box;
  857. display: flex;
  858. flex-direction: column;
  859. align-items: center;
  860. }
  861. .remark-sheet-header {
  862. width: 100%;
  863. text-align: center;
  864. margin-bottom: 30rpx;
  865. position: relative;
  866. }
  867. .remark-sheet-header .close-icon-btn {
  868. position: absolute;
  869. right: 0;
  870. top: 50%;
  871. transform: translateY(-50%);
  872. }
  873. .remark-sheet-title {
  874. font-size: 32rpx;
  875. font-weight: bold;
  876. color: #333;
  877. }
  878. .remark-textarea {
  879. width: 100%;
  880. height: 160rpx;
  881. border: 1rpx solid #eee;
  882. border-radius: 12rpx;
  883. padding: 20rpx;
  884. font-size: 28rpx;
  885. color: #333;
  886. box-sizing: border-box;
  887. margin-bottom: 40rpx;
  888. }
  889. .remark-submit-btn {
  890. width: 100%;
  891. background-color: #FF5722;
  892. color: #fff;
  893. font-size: 32rpx;
  894. font-weight: bold;
  895. text-align: center;
  896. padding: 24rpx 0;
  897. border-radius: 16rpx;
  898. }
  899. /* 一键拨号下拉面板 */
  900. .action-left {
  901. position: relative;
  902. z-index: 10;
  903. }
  904. .action-left .btn.normal {
  905. font-size: 26rpx;
  906. }
  907. .call-popover {
  908. position: absolute;
  909. top: calc(100% + 10rpx);
  910. left: 0;
  911. background-color: #fff;
  912. border-radius: 12rpx;
  913. box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
  914. z-index: 999;
  915. display: flex;
  916. flex-direction: column;
  917. width: 200rpx;
  918. }
  919. .call-pop-item {
  920. font-size: 26rpx;
  921. color: #333;
  922. text-align: center;
  923. padding: 24rpx 0;
  924. border-bottom: 1rpx solid #eee;
  925. }
  926. .call-pop-item:last-child {
  927. border-bottom: none;
  928. }
  929. .call-mask {
  930. position: fixed;
  931. top: 0;
  932. left: 0;
  933. right: 0;
  934. bottom: 0;
  935. z-index: 900;
  936. background: transparent;
  937. }