customers.scss 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918
  1. .customers-page{padding:24px}
  2. .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-title{font-size:20px;margin:0 0 6px}.page-description{color:#64748b;margin:0}.btn{padding:8px 12px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}.btn.primary{background:#165DFF;color:#fff;border-color:#165DFF}
  3. .stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:16px}.stat-label{color:#64748b;font-size:12px}.stat-value{font-size:22px;font-weight:700;margin-top:6px}
  4. .toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06);margin-bottom:12px}.search input{width:320px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px}.filters{display:flex;gap:8px;align-items:center}.filters select{padding:8px;border:1px solid #e5e7eb;border-radius:8px}
  5. .table-card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.table{display:grid;grid-template-columns:2fr 1.2fr 1.6fr 1fr 1fr 1.1fr;align-items:center;padding:12px 16px;border-bottom:1px solid #f1f5f9}.table.header{color:#64748b;font-weight:600;background:#f8fafc;border-top-left-radius:12px;border-top-right-radius:12px}.table.row{background:#fff}.table .name .title{font-weight:600;display:flex;align-items:center;gap:6px}
  6. .tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-weight:600;font-size:12px}.tag.vip{background:#fff7ed;color:#f97316}.tag.svip{background:#fff1f2;color:#ef4444}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#94a3b8}.dot.green{background:#10b981}.dot.gray{background:#94a3b8}.actions{display:flex;gap:6px;justify-content:flex-end}.icon{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer}.icon.danger{color:#ef4444;border-color:#fecaca}
  7. .empty{padding:24px;text-align:center;color:#94a3b8}
  8. @media (max-width: 992px){.stats-cards{grid-template-columns:repeat(2,1fr)}.search input{width:100%}.toolbar{flex-direction:column;gap:10px;align-items:flex-start}.table{grid-template-columns:1.6fr 1fr 1.4fr .9fr .9fr 1fr}}
  9. /* 客户画像弹窗样式 */
  10. .customer-panel-overlay {
  11. position: fixed;
  12. inset: 0;
  13. background: rgba(0, 0, 0, 0.6);
  14. backdrop-filter: blur(4px);
  15. display: flex;
  16. align-items: center;
  17. justify-content: center;
  18. z-index: 2000;
  19. animation: fadeIn 0.3s ease-out;
  20. padding: 20px;
  21. }
  22. .customer-panel {
  23. width: 100%;
  24. max-width: 1000px;
  25. max-height: 90vh;
  26. background: #fff;
  27. border-radius: 16px;
  28. box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  29. display: flex;
  30. flex-direction: column;
  31. animation: slideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  32. overflow: hidden;
  33. }
  34. .panel-header {
  35. display: flex;
  36. justify-content: space-between;
  37. align-items: center;
  38. padding: 20px 24px;
  39. border-bottom: 1px solid #e5e7eb;
  40. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  41. color: white;
  42. .header-left {
  43. display: flex;
  44. align-items: center;
  45. gap: 12px;
  46. svg {
  47. flex-shrink: 0;
  48. }
  49. h3 {
  50. margin: 0;
  51. font-size: 18px;
  52. font-weight: 600;
  53. }
  54. }
  55. .close-btn {
  56. width: 32px;
  57. height: 32px;
  58. border-radius: 8px;
  59. border: none;
  60. background: rgba(255, 255, 255, 0.2);
  61. color: white;
  62. cursor: pointer;
  63. display: flex;
  64. align-items: center;
  65. justify-content: center;
  66. transition: all 0.2s;
  67. &:hover {
  68. background: rgba(255, 255, 255, 0.3);
  69. transform: rotate(90deg);
  70. }
  71. }
  72. }
  73. .panel-body {
  74. flex: 1;
  75. overflow-y: auto;
  76. padding: 24px;
  77. background: #fafafa;
  78. /* 自定义滚动条 */
  79. &::-webkit-scrollbar {
  80. width: 8px;
  81. }
  82. &::-webkit-scrollbar-track {
  83. background: #f1f1f1;
  84. }
  85. &::-webkit-scrollbar-thumb {
  86. background: #c1c1c1;
  87. border-radius: 4px;
  88. &:hover {
  89. background: #a1a1a1;
  90. }
  91. }
  92. }
  93. /* 基本信息卡片 */
  94. .profile-card {
  95. background: white;
  96. border-radius: 12px;
  97. padding: 24px;
  98. margin-bottom: 20px;
  99. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  100. }
  101. .profile-header {
  102. display: flex;
  103. gap: 20px;
  104. align-items: flex-start;
  105. }
  106. .profile-avatar {
  107. width: 80px;
  108. height: 80px;
  109. border-radius: 12px;
  110. object-fit: cover;
  111. border: 3px solid #f0f0f0;
  112. flex-shrink: 0;
  113. }
  114. .profile-info {
  115. flex: 1;
  116. }
  117. .profile-name {
  118. margin: 0 0 12px 0;
  119. font-size: 24px;
  120. font-weight: 600;
  121. color: #333;
  122. }
  123. .profile-meta {
  124. display: flex;
  125. gap: 20px;
  126. margin-bottom: 12px;
  127. flex-wrap: wrap;
  128. .meta-item {
  129. display: flex;
  130. align-items: center;
  131. gap: 6px;
  132. font-size: 14px;
  133. color: #666;
  134. svg {
  135. color: #999;
  136. flex-shrink: 0;
  137. }
  138. }
  139. }
  140. .profile-tags {
  141. display: flex;
  142. gap: 8px;
  143. flex-wrap: wrap;
  144. .tag {
  145. padding: 4px 12px;
  146. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  147. color: white;
  148. border-radius: 16px;
  149. font-size: 12px;
  150. font-weight: 500;
  151. }
  152. }
  153. /* 信息网格 */
  154. .info-grid {
  155. display: grid;
  156. grid-template-columns: repeat(2, 1fr);
  157. gap: 20px;
  158. margin-bottom: 20px;
  159. @media (max-width: 768px) {
  160. grid-template-columns: 1fr;
  161. }
  162. }
  163. .info-section {
  164. background: white;
  165. border-radius: 12px;
  166. padding: 20px;
  167. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  168. }
  169. .section-title {
  170. display: flex;
  171. align-items: center;
  172. gap: 8px;
  173. font-size: 15px;
  174. font-weight: 600;
  175. color: #333;
  176. margin-bottom: 16px;
  177. padding-bottom: 12px;
  178. border-bottom: 2px solid #f0f0f0;
  179. svg {
  180. color: #165DFF;
  181. flex-shrink: 0;
  182. }
  183. }
  184. .info-items {
  185. display: flex;
  186. flex-direction: column;
  187. gap: 12px;
  188. }
  189. .info-item {
  190. label {
  191. display: block;
  192. font-size: 12px;
  193. color: #888;
  194. margin-bottom: 4px;
  195. font-weight: 500;
  196. }
  197. .info-value {
  198. font-size: 14px;
  199. color: #333;
  200. font-weight: 500;
  201. &.phone {
  202. font-family: 'Courier New', monospace;
  203. letter-spacing: 0.5px;
  204. }
  205. &.budget {
  206. color: #00B42A;
  207. font-weight: 600;
  208. }
  209. }
  210. .badge {
  211. display: inline-block;
  212. padding: 4px 10px;
  213. background: #eef2ff;
  214. color: #4f46e5;
  215. border-radius: 12px;
  216. font-size: 12px;
  217. font-weight: 600;
  218. &.badge-enterprise {
  219. background: #fff7ed;
  220. color: #f97316;
  221. }
  222. }
  223. }
  224. /* 客户画像区块 */
  225. .profile-section {
  226. background: white;
  227. border-radius: 12px;
  228. padding: 24px;
  229. margin-bottom: 20px;
  230. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  231. }
  232. .section-title-large {
  233. display: flex;
  234. align-items: center;
  235. gap: 10px;
  236. font-size: 16px;
  237. font-weight: 600;
  238. color: #333;
  239. margin-bottom: 20px;
  240. padding-bottom: 12px;
  241. border-bottom: 2px solid #f0f0f0;
  242. svg {
  243. color: #165DFF;
  244. flex-shrink: 0;
  245. }
  246. }
  247. .profile-details {
  248. display: flex;
  249. flex-direction: column;
  250. gap: 16px;
  251. }
  252. .profile-item {
  253. label {
  254. display: block;
  255. font-size: 13px;
  256. color: #666;
  257. margin-bottom: 8px;
  258. font-weight: 500;
  259. }
  260. .tag-list {
  261. display: flex;
  262. gap: 8px;
  263. flex-wrap: wrap;
  264. .tag {
  265. padding: 6px 14px;
  266. background: #f0f7ff;
  267. color: #165DFF;
  268. border-radius: 16px;
  269. font-size: 13px;
  270. font-weight: 500;
  271. border: 1px solid #d4e6ff;
  272. &.tag-style {
  273. background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
  274. color: #d63031;
  275. border: none;
  276. }
  277. }
  278. }
  279. }
  280. /* 群聊列表区块 */
  281. .groups-section {
  282. background: white;
  283. border-radius: 12px;
  284. padding: 24px;
  285. margin-bottom: 20px;
  286. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  287. .section-subtitle {
  288. font-size: 13px;
  289. color: #999;
  290. margin: -8px 0 16px;
  291. }
  292. .groups-grid {
  293. display: grid;
  294. grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  295. gap: 12px;
  296. .group-card {
  297. display: flex;
  298. align-items: center;
  299. gap: 12px;
  300. padding: 14px;
  301. background: linear-gradient(135deg, #f8f9ff 0%, #fff 100%);
  302. border: 1px solid #e8e9ff;
  303. border-radius: 12px;
  304. cursor: pointer;
  305. transition: all 0.2s ease;
  306. &:hover {
  307. transform: translateY(-2px);
  308. box-shadow: 0 4px 12px rgba(99, 102, 241, 0.1);
  309. border-color: #6366f1;
  310. }
  311. .group-icon {
  312. width: 40px;
  313. height: 40px;
  314. display: flex;
  315. align-items: center;
  316. justify-content: center;
  317. background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  318. border-radius: 10px;
  319. flex-shrink: 0;
  320. svg {
  321. stroke: white;
  322. width: 20px;
  323. height: 20px;
  324. }
  325. }
  326. .group-info {
  327. flex: 1;
  328. min-width: 0;
  329. .group-name {
  330. margin: 0 0 4px;
  331. font-size: 14px;
  332. font-weight: 500;
  333. color: #1a1a1a;
  334. overflow: hidden;
  335. text-overflow: ellipsis;
  336. white-space: nowrap;
  337. }
  338. .group-project {
  339. display: flex;
  340. align-items: center;
  341. gap: 4px;
  342. font-size: 12px;
  343. color: #6366f1;
  344. margin: 0;
  345. svg {
  346. width: 14px;
  347. height: 14px;
  348. stroke: currentColor;
  349. }
  350. }
  351. .group-no-project {
  352. font-size: 12px;
  353. color: #999;
  354. margin: 0;
  355. }
  356. }
  357. }
  358. }
  359. }
  360. /* 相关项目区块 */
  361. .projects-section {
  362. background: white;
  363. border-radius: 12px;
  364. padding: 24px;
  365. margin-bottom: 20px;
  366. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  367. }
  368. .projects-list {
  369. display: flex;
  370. flex-direction: column;
  371. gap: 12px;
  372. }
  373. .project-card {
  374. display: flex;
  375. align-items: center;
  376. justify-content: space-between;
  377. padding: 16px;
  378. background: linear-gradient(135deg, #fafcff 0%, #fff 100%);
  379. border-radius: 10px;
  380. border: 1px solid #e8eeff;
  381. transition: all 0.2s;
  382. &:hover {
  383. border-color: #3b82f6;
  384. box-shadow: 0 4px 12px rgba(59, 130, 246, 0.08);
  385. transform: translateX(4px);
  386. }
  387. .project-content {
  388. flex: 1;
  389. min-width: 0;
  390. .project-header {
  391. display: flex;
  392. align-items: center;
  393. gap: 12px;
  394. margin-bottom: 10px;
  395. h4 {
  396. margin: 0;
  397. font-size: 15px;
  398. font-weight: 600;
  399. color: #333;
  400. overflow: hidden;
  401. text-overflow: ellipsis;
  402. white-space: nowrap;
  403. }
  404. .project-status {
  405. padding: 4px 10px;
  406. border-radius: 12px;
  407. font-size: 12px;
  408. font-weight: 600;
  409. flex-shrink: 0;
  410. &.status-待分配 {
  411. background: linear-gradient(135deg, #e0f2fe 0%, #dbeafe 100%);
  412. color: #0284c7;
  413. }
  414. &.status-进行中 {
  415. background: linear-gradient(135deg, #fef3c7 0%, #fed7aa 100%);
  416. color: #ea580c;
  417. }
  418. &.status-已完成 {
  419. background: linear-gradient(135deg, #dcfce7 0%, #d1fae5 100%);
  420. color: #16a34a;
  421. }
  422. &.status-已暂停 {
  423. background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
  424. color: #6b7280;
  425. }
  426. }
  427. }
  428. .project-details {
  429. display: flex;
  430. align-items: center;
  431. gap: 16px;
  432. font-size: 13px;
  433. .project-stage {
  434. display: flex;
  435. align-items: center;
  436. gap: 4px;
  437. color: #3b82f6;
  438. svg {
  439. width: 14px;
  440. height: 14px;
  441. stroke: currentColor;
  442. }
  443. }
  444. .project-time {
  445. color: #888;
  446. }
  447. }
  448. }
  449. .project-arrow {
  450. width: 32px;
  451. height: 32px;
  452. display: flex;
  453. align-items: center;
  454. justify-content: center;
  455. background: #f8fafc;
  456. border: 1px solid #e2e8f0;
  457. border-radius: 8px;
  458. flex-shrink: 0;
  459. cursor: pointer;
  460. transition: all 0.2s ease;
  461. &:hover {
  462. background: #3b82f6;
  463. border-color: #3b82f6;
  464. svg {
  465. stroke: white;
  466. }
  467. }
  468. svg {
  469. width: 16px;
  470. height: 16px;
  471. stroke: #94a3b8;
  472. transition: stroke 0.2s ease;
  473. }
  474. }
  475. }
  476. /* 跟进记录时间线 */
  477. .timeline-section {
  478. background: white;
  479. border-radius: 12px;
  480. padding: 24px;
  481. margin-bottom: 20px;
  482. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  483. .timeline {
  484. margin-top: 16px;
  485. position: relative;
  486. .timeline-item {
  487. display: flex;
  488. gap: 16px;
  489. position: relative;
  490. &:not(:last-child) {
  491. margin-bottom: 20px;
  492. }
  493. .timeline-marker {
  494. position: relative;
  495. display: flex;
  496. flex-direction: column;
  497. align-items: center;
  498. flex-shrink: 0;
  499. .timeline-dot {
  500. width: 12px;
  501. height: 12px;
  502. border-radius: 50%;
  503. background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  504. border: 3px solid #ede9fe;
  505. flex-shrink: 0;
  506. z-index: 2;
  507. }
  508. .timeline-line {
  509. width: 2px;
  510. flex: 1;
  511. background: linear-gradient(180deg, #e9d5ff 0%, #f3f4f6 100%);
  512. margin-top: 4px;
  513. min-height: 20px;
  514. }
  515. }
  516. .timeline-content {
  517. flex: 1;
  518. min-width: 0;
  519. padding: 12px 16px;
  520. background: linear-gradient(135deg, #fafafa 0%, #fff 100%);
  521. border: 1px solid #f0f0f0;
  522. border-radius: 10px;
  523. transition: all 0.2s ease;
  524. &:hover {
  525. border-color: #e9d5ff;
  526. background: linear-gradient(135deg, #faf5ff 0%, #fff 100%);
  527. }
  528. .timeline-header {
  529. display: flex;
  530. justify-content: space-between;
  531. align-items: center;
  532. margin-bottom: 8px;
  533. .timeline-operator {
  534. font-weight: 500;
  535. font-size: 14px;
  536. color: #1a1a1a;
  537. }
  538. .timeline-time {
  539. font-size: 12px;
  540. color: #999;
  541. }
  542. }
  543. .timeline-body {
  544. .timeline-type {
  545. display: inline-block;
  546. padding: 2px 8px;
  547. background: linear-gradient(135deg, #ede9fe 0%, #e9d5ff 100%);
  548. color: #7c3aed;
  549. font-size: 12px;
  550. border-radius: 8px;
  551. margin-bottom: 6px;
  552. font-weight: 500;
  553. }
  554. .timeline-text {
  555. margin: 8px 0 0;
  556. font-size: 13px;
  557. color: #666;
  558. line-height: 1.6;
  559. }
  560. }
  561. }
  562. }
  563. }
  564. }
  565. /* 空状态 */
  566. .empty-state {
  567. display: flex;
  568. flex-direction: column;
  569. align-items: center;
  570. justify-content: center;
  571. padding: 60px 20px;
  572. text-align: center;
  573. svg {
  574. color: #ccc;
  575. margin-bottom: 16px;
  576. }
  577. p {
  578. margin: 0;
  579. font-size: 14px;
  580. color: #999;
  581. }
  582. }
  583. /* 动画 */
  584. @keyframes fadeIn {
  585. from {
  586. opacity: 0;
  587. }
  588. to {
  589. opacity: 1;
  590. }
  591. }
  592. @keyframes slideUp {
  593. from {
  594. transform: translateY(40px) scale(0.95);
  595. opacity: 0;
  596. }
  597. to {
  598. transform: translateY(0) scale(1);
  599. opacity: 1;
  600. }
  601. }
  602. // ========================================
  603. // 客户管理移动端适配
  604. // ========================================
  605. @media (max-width: 768px) {
  606. // 客户画像面板移动端全屏显示
  607. .customer-panel-overlay {
  608. padding: 0;
  609. }
  610. .customer-panel {
  611. width: 100vw;
  612. max-width: 100vw;
  613. height: 100vh;
  614. max-height: 100vh;
  615. border-radius: 0;
  616. margin: 0;
  617. .panel-header {
  618. padding: 16px;
  619. position: sticky;
  620. top: 0;
  621. z-index: 10;
  622. h2 {
  623. font-size: 18px;
  624. }
  625. .close-btn {
  626. width: 36px;
  627. height: 36px;
  628. }
  629. }
  630. .panel-body {
  631. padding: 16px;
  632. height: calc(100vh - 60px);
  633. overflow-y: auto;
  634. }
  635. // 个人信息卡片
  636. .profile-card {
  637. padding: 16px;
  638. .profile-avatar {
  639. width: 60px;
  640. height: 60px;
  641. }
  642. .profile-name {
  643. font-size: 18px;
  644. }
  645. .profile-meta {
  646. flex-direction: column;
  647. gap: 8px;
  648. .meta-item {
  649. font-size: 12px;
  650. }
  651. }
  652. .profile-tags {
  653. flex-wrap: wrap;
  654. gap: 6px;
  655. .tag {
  656. font-size: 11px;
  657. padding: 3px 8px;
  658. }
  659. }
  660. }
  661. // 信息网格
  662. .info-grid {
  663. grid-template-columns: 1fr;
  664. gap: 16px;
  665. }
  666. .info-section {
  667. padding: 16px;
  668. .section-title {
  669. font-size: 14px;
  670. }
  671. .info-item {
  672. padding: 10px 0;
  673. .label {
  674. font-size: 12px;
  675. }
  676. .value {
  677. font-size: 13px;
  678. }
  679. }
  680. }
  681. // 客户画像详情
  682. .profile-section {
  683. padding: 16px;
  684. .section-title-large {
  685. font-size: 16px;
  686. }
  687. .profile-item {
  688. font-size: 13px;
  689. strong {
  690. font-size: 12px;
  691. }
  692. }
  693. }
  694. // 群聊部分
  695. .groups-section {
  696. padding: 16px;
  697. .section-title-large {
  698. font-size: 16px;
  699. }
  700. .groups-grid {
  701. grid-template-columns: 1fr;
  702. gap: 12px;
  703. }
  704. .group-card {
  705. padding: 12px;
  706. .group-name {
  707. font-size: 14px;
  708. }
  709. .group-project {
  710. font-size: 12px;
  711. }
  712. }
  713. }
  714. // 项目部分
  715. .projects-section {
  716. padding: 16px;
  717. .section-title-large {
  718. font-size: 16px;
  719. }
  720. .projects-list {
  721. gap: 12px;
  722. }
  723. .project-card {
  724. padding: 12px;
  725. .project-title {
  726. font-size: 14px;
  727. }
  728. .project-status {
  729. font-size: 11px;
  730. padding: 3px 8px;
  731. }
  732. .project-meta {
  733. flex-direction: column;
  734. gap: 6px;
  735. .meta-item {
  736. font-size: 12px;
  737. }
  738. }
  739. }
  740. }
  741. // 跟进记录时间线
  742. .timeline-section {
  743. padding: 16px;
  744. .section-title-large {
  745. font-size: 16px;
  746. }
  747. .timeline {
  748. padding-left: 24px;
  749. }
  750. .timeline-item {
  751. padding-left: 24px;
  752. .timeline-dot {
  753. width: 10px;
  754. height: 10px;
  755. left: -5px;
  756. }
  757. .timeline-content {
  758. padding: 12px;
  759. .timeline-operator {
  760. font-size: 13px;
  761. }
  762. .timeline-time {
  763. font-size: 11px;
  764. }
  765. .timeline-type {
  766. font-size: 12px;
  767. padding: 3px 8px;
  768. }
  769. .timeline-text {
  770. font-size: 12px;
  771. }
  772. }
  773. }
  774. }
  775. }
  776. }