合伙人运营小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.wxss 9.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570
  1. page {
  2. background-color: #F2F3F5;
  3. font-size: 28rpx;
  4. color: #333;
  5. }
  6. .page-container {
  7. padding: 0 16rpx 20rpx;
  8. }
  9. /* 基础信息 */
  10. .base-info {
  11. background: #fff;
  12. border-radius: 8rpx;
  13. padding: 24rpx;
  14. margin: 20rpx 0;
  15. box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);
  16. }
  17. .car-no {
  18. font-size: 36rpx;
  19. font-weight: 700;
  20. margin-bottom: 20rpx;
  21. color: #165DFF;
  22. }
  23. .car-base {
  24. display: flex;
  25. flex-wrap: wrap;
  26. gap: 24rpx 40rpx;
  27. }
  28. .base-item {
  29. font-size: 26rpx;
  30. color: #666;
  31. }
  32. /* 标签页 */
  33. .tab-bar {
  34. display: flex;
  35. background: #fff;
  36. border-radius: 8rpx;
  37. overflow: hidden;
  38. box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);
  39. }
  40. .tab-item {
  41. flex: 1;
  42. text-align: center;
  43. padding: 20rpx 0;
  44. font-size: 28rpx;
  45. color: #86909C;
  46. border-bottom: 4rpx solid transparent;
  47. }
  48. .tab-item.active {
  49. color: #165DFF;
  50. border-bottom: 4rpx solid #165DFF;
  51. font-weight: 500;
  52. }
  53. /* 面板 */
  54. .panel {
  55. margin-top: 20rpx;
  56. background: #fff;
  57. border-radius: 8rpx;
  58. padding: 24rpx;
  59. box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);
  60. }
  61. .empty-panel {
  62. text-align: center;
  63. padding: 80rpx 0;
  64. color: #86909C;
  65. }
  66. /* 面板 */
  67. .panel1 {
  68. margin-top: 20rpx;
  69. border-radius: 8rpx;
  70. padding:0rpx 0rpx;
  71. }
  72. .empty-panel1 {
  73. text-align: center;
  74. color: #86909C;
  75. }
  76. /* 数据网格 */
  77. .data-grid {
  78. display: grid;
  79. grid-template-columns: 1fr 1fr;
  80. gap: 24rpx;
  81. }
  82. .data-item {
  83. display: flex;
  84. flex-direction: column;
  85. align-items: center;
  86. justify-content: center;
  87. padding: 20rpx;
  88. border: 1rpx solid #f0f0f0;
  89. border-radius: 8rpx;
  90. }
  91. .item-title {
  92. font-size: 26rpx;
  93. color: #86909C;
  94. margin-bottom: 16rpx;
  95. }
  96. .item-value {
  97. font-size: 36rpx;
  98. font-weight: 700;
  99. color: #333;
  100. }
  101. .unit {
  102. font-size: 28rpx;
  103. color: #666;
  104. margin-left: 4rpx;
  105. }
  106. .power-charge {
  107. color: #165DFF;
  108. }
  109. /* 状态标签 */
  110. .status-1 {color: #00B42A;}
  111. .status-2 {color: #165DFF;}
  112. .status-3 {color: #86909C;}
  113. .status-4 {color: #4E5969;}
  114. .status-5 {color: #FF7D00;}
  115. .status-6 {color: #F53F3F;}
  116. /* 深色模式适配 */
  117. page {
  118. width: 100%;
  119. height: 100%;
  120. background-color: #F7F8FA;
  121. font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
  122. box-sizing: border-box;
  123. }
  124. .container {
  125. width: 100%;
  126. min-height: 100%;
  127. padding: 20rpx;
  128. padding-bottom: 120rpx;
  129. box-sizing: border-box;
  130. }
  131. .filter_top{
  132. position: fixed;
  133. top: 0;
  134. left: 0;
  135. right: 0;
  136. z-index: 99;
  137. padding: 20rpx;
  138. box-sizing: border-box;
  139. background-color: #FFFFFF;
  140. }
  141. /* 告警分类筛选栏 */
  142. .filter-bar {
  143. width: 100%;
  144. display: flex;
  145. background: #FFFFFF;
  146. padding: 8rpx 0rpx;
  147. margin-bottom: 16rpx;
  148. box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
  149. overflow-x: auto;
  150. white-space: nowrap;
  151. box-sizing: border-box;
  152. }
  153. .filter-bar::-webkit-scrollbar {
  154. display: none;
  155. }
  156. .filter-item {
  157. display: inline-flex;
  158. align-items: center;
  159. padding: 16rpx 24rpx;
  160. margin: 0 8rpx;
  161. border-radius: 8rpx;
  162. font-size: 28rpx;
  163. color: #4E5969;
  164. position: relative;
  165. }
  166. .filter-active {
  167. background: linear-gradient(135deg, #007545 0%, #007545 100%);
  168. color: #FFFFFF;
  169. }
  170. .filter-badge {
  171. display: inline-flex;
  172. align-items: center;
  173. justify-content: center;
  174. min-width: 32rpx;
  175. height: 32rpx;
  176. background: #F53F3F;
  177. color: #FFFFFF;
  178. font-size: 20rpx;
  179. border-radius: 16rpx;
  180. margin-left: 8rpx;
  181. padding: 0 6rpx;
  182. }
  183. .filter-active .filter-badge {
  184. background: #FFFFFF;
  185. color: #007545;
  186. }
  187. /* 状态筛选栏 */
  188. .status-filter {
  189. width: 100%;
  190. display: flex;
  191. background: #FFFFFF;
  192. padding: 12rpx 16rpx;
  193. margin:16rpx 0rpx;
  194. border-radius: 8rpx;
  195. box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
  196. box-sizing: border-box;
  197. }
  198. .status-item {
  199. flex: 1;
  200. text-align: center;
  201. font-size: 28rpx;
  202. color: #86909C;
  203. padding: 12rpx 0;
  204. border-radius: 6rpx;
  205. }
  206. .status-active {
  207. color: #007545;
  208. font-weight: 600;
  209. background: #EEF7FF;
  210. }
  211. /* 告警列表 */
  212. .alert-list {
  213. width: 100%;
  214. overflow: hidden;
  215. overflow: auto;
  216. box-sizing: border-box;
  217. }
  218. .empty-wrap {
  219. padding: 100rpx 0;
  220. text-align: center;
  221. }
  222. .empty-icon {
  223. font-size: 80rpx;
  224. color: #C9CDD4;
  225. margin-bottom: 20rpx;
  226. }
  227. .empty-text {
  228. font-size: 28rpx;
  229. color: #86909C;
  230. margin-bottom: 8rpx;
  231. }
  232. .empty-subtext {
  233. font-size: 24rpx;
  234. color: #C9CDD4;
  235. }
  236. /* 告警卡片 */
  237. .alert-card {
  238. width: 100%;
  239. display: flex;
  240. align-items: flex-start;
  241. background: #FFFFFF;
  242. border-radius: 12rpx;
  243. padding: 24rpx;
  244. margin-bottom: 16rpx;
  245. box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
  246. position: relative;
  247. box-sizing: border-box;
  248. }
  249. /* 未读角标 */
  250. .unread-tag {
  251. position: absolute;
  252. top: 24rpx;
  253. right: 24rpx;
  254. width: 16rpx;
  255. height: 16rpx;
  256. background: #F53F3F;
  257. border-radius: 50%;
  258. }
  259. /* 左侧图标+类型 */
  260. .alert-left {
  261. flex-shrink: 0;
  262. display: flex;
  263. flex-direction: column;
  264. align-items: center;
  265. margin-right: 20rpx;
  266. }
  267. .alert-icon {
  268. width: 64rpx;
  269. height: 64rpx;
  270. border-radius: 50%;
  271. display: flex;
  272. align-items: center;
  273. justify-content: center;
  274. font-size: 28rpx;
  275. font-weight: 600;
  276. color: #FFFFFF;
  277. margin-bottom: 18rpx;
  278. }
  279. .icon-critical {
  280. background: linear-gradient(135deg, #F53F3F 0%, #D92D2D 100%);
  281. }
  282. .icon-warning {
  283. background: linear-gradient(135deg, #FF7D00 0%, #E66A00 100%);
  284. }
  285. .icon-info {
  286. background: linear-gradient(135deg, #007545 0%, #007545 100%);
  287. }
  288. .alert-type {
  289. font-size: 24rpx;
  290. color: #86909C;
  291. }
  292. /* 中间核心信息 */
  293. .alert-middle {
  294. flex: 1;
  295. display: flex;
  296. flex-direction: column;
  297. gap: 8rpx;
  298. }
  299. .alert-title {
  300. font-size: 30rpx;
  301. font-weight: 600;
  302. color: #1D2129;
  303. line-height: 1.4;
  304. display: -webkit-box;
  305. -webkit-line-clamp: 1;
  306. -webkit-box-orient: vertical;
  307. overflow: hidden;
  308. }
  309. .alert-desc {
  310. font-size: 26rpx;
  311. color: #4E5969;
  312. line-height: 1.4;
  313. display: -webkit-box;
  314. -webkit-line-clamp: 1;
  315. -webkit-box-orient: vertical;
  316. overflow: hidden;
  317. }
  318. .alert-info {
  319. display: flex;
  320. justify-content: space-between;
  321. font-size: 22rpx;
  322. color: #86909C;
  323. margin-top: 8rpx;
  324. }
  325. /* 右侧操作按钮 */
  326. .alert-right {
  327. flex-shrink: 0;
  328. margin-left: 16rpx;
  329. }
  330. .handle-btn {
  331. width: 120rpx;
  332. height: 64rpx;
  333. line-height: 64rpx;
  334. padding: 0;
  335. background: #00B42A;
  336. color: #FFFFFF;
  337. font-size: 26rpx;
  338. border-radius: 8rpx;
  339. border: none;
  340. }
  341. .handle-btn::after {
  342. border: none;
  343. }
  344. .handled-tag {
  345. font-size: 24rpx;
  346. color: #00B42A;
  347. background: #E8FFF3;
  348. padding: 8rpx 16rpx;
  349. border-radius: 6rpx;
  350. }
  351. /* 底部批量操作栏 */
  352. .batch-bar {
  353. position: fixed;
  354. bottom: 0;
  355. left: 0;
  356. right: 0;
  357. display: flex;
  358. gap: 16rpx;
  359. padding: 20rpx 24rpx;
  360. background: #FFFFFF;
  361. box-shadow: 0 -2rpx 12rpx rgba(0, 0, 0, 0.06);
  362. z-index: 99;
  363. }
  364. .batch-read, .batch-handle {
  365. flex: 1;
  366. height: 88rpx;
  367. line-height: 88rpx;
  368. padding: 0;
  369. border-radius: 12rpx;
  370. font-size: 30rpx;
  371. font-weight: 500;
  372. border: none;
  373. }
  374. .batch-read {
  375. background: #EEF7FF;
  376. color: #007545;
  377. }
  378. .batch-read::after {
  379. border: none;
  380. }
  381. .batch-handle {
  382. background: linear-gradient(135deg, #007545 0%, #007545 100%);
  383. color: #FFFFFF;
  384. }
  385. .batch-handle::after {
  386. border: none;
  387. }
  388. /* 深色模式适配 */
  389. @media (prefers-color-scheme: dark) {
  390. page {
  391. background-color: #1D1D1F;
  392. }
  393. .filter-bar, .status-filter, .alert-card, .batch-bar {
  394. background: #2C2C2E;
  395. color: #FFFFFF;
  396. }
  397. .alert-title {
  398. color: #FFFFFF;
  399. }
  400. .alert-desc {
  401. color: #C9CDD4;
  402. }
  403. .alert-info, .alert-type {
  404. color: #8E8E93;
  405. }
  406. .status-active {
  407. background: #007545;
  408. color: #FFFFFF;
  409. }
  410. .batch-read {
  411. background: #007545;
  412. color: #FFFFFF;
  413. }
  414. }
  415. /* */
  416. /* 面板 */
  417. .panel2 {
  418. margin-top: 20rpx;
  419. border-radius: 8rpx;
  420. padding:0rpx 0rpx;
  421. }
  422. .empty-panel2 {
  423. color: #86909C;
  424. }
  425. .order-card {
  426. width: 100%;
  427. position: relative;
  428. background: #FFFFFF;
  429. border-radius: 12rpx;
  430. padding: 24rpx;
  431. margin-top: 16rpx;
  432. box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
  433. box-sizing: border-box;
  434. }
  435. /* 状态标签 */
  436. .order-tag {
  437. position: absolute;
  438. top: 24rpx;
  439. right: 24rpx;
  440. padding: 4rpx 12rpx;
  441. border-radius: 6rpx;
  442. font-size: 22rpx;
  443. color: #222222;
  444. }
  445. .tag-pending {
  446. background: #FF7D00;
  447. }
  448. .tag-processing {
  449. background: #007545;
  450. }
  451. .tag-completed {
  452. background: #00B42A;
  453. }
  454. .tag-rejected {
  455. background: #F53F3F;
  456. }
  457. /* 左侧信息 */
  458. .order-left {
  459. margin-right: 140rpx;
  460. margin-bottom: 20rpx;
  461. }
  462. .order-code {
  463. font-size: 24rpx;
  464. color: #86909C;
  465. margin-bottom: 8rpx;
  466. }
  467. .order-title {
  468. font-size: 30rpx;
  469. font-weight: 600;
  470. color: #1D2129;
  471. line-height: 1.4;
  472. margin-bottom: 8rpx;
  473. }
  474. .order-desc {
  475. font-size: 26rpx;
  476. color: #4E5969;
  477. line-height: 1.4;
  478. display: -webkit-box;
  479. -webkit-line-clamp: 2;
  480. -webkit-box-orient: vertical;
  481. overflow: hidden;
  482. margin-bottom: 12rpx;
  483. }
  484. .order-meta {
  485. display: flex;
  486. flex-direction: column;
  487. justify-content: space-between;
  488. font-size: 22rpx;
  489. color: #86909C;
  490. }
  491. /* 右侧操作区 */
  492. .order-right {
  493. position: absolute;
  494. top: 24rpx;
  495. right: 24rpx;
  496. display: flex;
  497. flex-direction: column;
  498. gap: 8rpx;
  499. align-items: flex-end;
  500. }
  501. .opt-btn {
  502. width: 100rpx;
  503. height: 56rpx;
  504. line-height: 56rpx;
  505. padding: 0;
  506. font-size: 24rpx;
  507. border-radius: 6rpx;
  508. border: none;
  509. }
  510. .opt-btn::after {
  511. border: none;
  512. }
  513. .dispatch-btn {
  514. background: #165DFF;
  515. color: #FFFFFF;
  516. }
  517. .complete-btn {
  518. background: #00B42A;
  519. color: #FFFFFF;
  520. }
  521. .reject-btn {
  522. background: #F53F3F;
  523. color: #FFFFFF;
  524. }
  525. .opt-text {
  526. font-size: 22rpx;
  527. color: #86909C;
  528. margin-top: 8rpx;
  529. }
  530. /* 底部新建工单按钮 */
  531. .add-bar {
  532. position: fixed;
  533. bottom: 0;
  534. left: 0;
  535. right: 0;
  536. padding: 20rpx 24rpx;
  537. background: #FFFFFF;
  538. box-shadow: 0 -2rpx 12rpx rgba(0, 0, 0, 0.06);
  539. z-index: 99;
  540. }
  541. .add-btn {
  542. width: 100%;
  543. height: 88rpx;
  544. line-height: 88rpx;
  545. padding: 0;
  546. background: linear-gradient(135deg, #007545 0%, #007545 100%);
  547. color: #FFFFFF;
  548. font-size: 30rpx;
  549. font-weight: 600;
  550. border-radius: 12rpx;
  551. border: none;
  552. }
  553. .add-btn::after {
  554. border: none;
  555. }