customers.html 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <div class="customers-page">
  2. <div class="page-header">
  3. <div class="header-left">
  4. <h2 class="page-title">客户管理</h2>
  5. <p class="page-description">管理客户档案</p>
  6. </div>
  7. <div class="header-actions">
  8. <button class="btn" (click)="exportCustomers()">导出</button>
  9. </div>
  10. </div>
  11. <div class="stats-cards">
  12. <div class="stat-card">
  13. <div class="stat-label">客户总数</div>
  14. <div class="stat-value">{{ total() }}</div>
  15. </div>
  16. </div>
  17. <div class="toolbar">
  18. <div class="search">
  19. <input placeholder="搜索客户名称/手机号" (input)="keyword.set($any($event.target).value)" [value]="keyword()"/>
  20. </div>
  21. <div class="filters">
  22. <button class="btn" (click)="resetFilters()">重置</button>
  23. </div>
  24. </div>
  25. <div class="table-card">
  26. <div class="table header">
  27. <div>客户名称</div>
  28. <div>手机号</div>
  29. <div>企微ID</div>
  30. <div>来源</div>
  31. <div>创建时间</div>
  32. </div>
  33. <div class="table row" *ngFor="let c of filtered">
  34. <div class="name">
  35. <div class="title">{{ c.name }}</div>
  36. </div>
  37. <div>{{ c.mobile }}</div>
  38. <div>{{ c.external_userid || '-' }}</div>
  39. <div>{{ c.source || '-' }}</div>
  40. <div>{{ c.createdAt ? (c.createdAt | date:'yyyy-MM-dd') : '-' }}</div>
  41. </div>
  42. <div class="empty" *ngIf="filtered.length === 0">
  43. @if (loading()) {
  44. <span>加载中...</span>
  45. } @else {
  46. <span>暂无数据</span>
  47. }
  48. </div>
  49. </div>
  50. </div>