|
|
@@ -64,19 +64,27 @@
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<tr *ngFor="let emp of filtered" [class.disabled]="emp.isDisabled">
|
|
|
- <td>{{ emp.name }}</td>
|
|
|
+ <td>
|
|
|
+ <div style="display:flex;align-items:center;gap:8px;">
|
|
|
+ <img *ngIf="emp.avatar" [src]="emp.avatar" alt="" style="width:28px;height:28px;border-radius:50%;"/>
|
|
|
+ <div>
|
|
|
+ <div style="font-weight:600;">{{ emp.name }}</div>
|
|
|
+ <div style="font-size:12px;color:#888;" *ngIf="emp.position">{{ emp.position }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
<td>{{ emp.mobile }}</td>
|
|
|
<td>{{ emp.userid }}</td>
|
|
|
<td><span class="badge">{{ emp.roleName }}</span></td>
|
|
|
<td>
|
|
|
@if(emp.roleName=="客服"){
|
|
|
客服部
|
|
|
- }@else if(emp.roleName=="管理员"){
|
|
|
+ } @else if(emp.roleName=="管理员") {
|
|
|
总部
|
|
|
- }@else{
|
|
|
+ } @else {
|
|
|
{{ emp.department }}
|
|
|
}
|
|
|
- </td>
|
|
|
+ </td>
|
|
|
<td><span [class]="'status ' + (emp.isDisabled ? 'disabled' : 'active')">{{ emp.isDisabled ? '已禁用' : '正常' }}</span></td>
|
|
|
<td>
|
|
|
<button class="btn-icon" (click)="viewEmployee(emp)" title="查看">👁</button>
|
|
|
@@ -103,20 +111,44 @@
|
|
|
</div>
|
|
|
<div class="panel-body" *ngIf="currentEmployee">
|
|
|
<div *ngIf="panelMode === 'detail'" class="detail-view">
|
|
|
- <div class="detail-item"><label>姓名</label><div>{{ currentEmployee.name }}</div></div>
|
|
|
- <div class="detail-item"><label>手机号</label><div>{{ currentEmployee.mobile }}</div></div>
|
|
|
- <div class="detail-item"><label>企微ID</label><div>{{ currentEmployee.userid }}</div></div>
|
|
|
- <div class="detail-item"><label>身份</label><div>{{ currentEmployee.roleName }}</div></div>
|
|
|
- <div class="detail-item"><label>部门</label><div>
|
|
|
- @if(currentEmployee.roleName=="客服"){
|
|
|
- 客服部
|
|
|
- }@else if(currentEmployee.roleName=="管理员"){
|
|
|
- 总部
|
|
|
- }@else{
|
|
|
- {{ currentEmployee.department }}
|
|
|
- }
|
|
|
- </div></div>
|
|
|
- <div class="detail-item"><label>状态</label><div>{{ currentEmployee.isDisabled ? '已禁用' : '正常' }}</div></div>
|
|
|
+ <div class="detail-row">
|
|
|
+ <img [src]="currentEmployee.avatar || '/assets/images/default-avatar.svg'" class="avatar"/>
|
|
|
+ <div class="title-block">
|
|
|
+ <div class="name">{{ currentEmployee.name }}</div>
|
|
|
+ <div class="position" *ngIf="currentEmployee.position">{{ currentEmployee.position }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="grid">
|
|
|
+ <div class="detail-item"><label>手机号</label><div>{{ currentEmployee.mobile || '-' }}</div></div>
|
|
|
+ <div class="detail-item"><label>邮箱</label><div>{{ currentEmployee.email || '-' }}</div></div>
|
|
|
+ <div class="detail-item"><label>企微ID</label><div>{{ currentEmployee.userid || '-' }}</div></div>
|
|
|
+ <div class="detail-item"><label>身份</label><div>{{ currentEmployee.roleName }}</div></div>
|
|
|
+ <div class="detail-item"><label>部门</label><div>
|
|
|
+ @if(currentEmployee.roleName=="客服") {
|
|
|
+ 客服部
|
|
|
+ } @else if(currentEmployee.roleName=="管理员") {
|
|
|
+ 总部
|
|
|
+ } @else {
|
|
|
+ {{ currentEmployee.department }}
|
|
|
+ }
|
|
|
+ </div></div>
|
|
|
+ <div class="detail-item"><label>入职</label><div>{{ currentEmployee.joinDate || '-' }}</div></div>
|
|
|
+ <div class="detail-item"><label>状态</label><div>{{ currentEmployee.isDisabled ? '已禁用' : '正常' }}</div></div>
|
|
|
+ </div>
|
|
|
+ <div class="skills" *ngIf="currentEmployee.skills?.length">
|
|
|
+ <label>技能</label>
|
|
|
+ <div class="tags">
|
|
|
+ <span class="tag" *ngFor="let s of currentEmployee.skills">{{ s }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="workload" *ngIf="currentEmployee.workload">
|
|
|
+ <label>工作量</label>
|
|
|
+ <div class="grid">
|
|
|
+ <div class="detail-item"><label>当前项目</label><div>{{ currentEmployee.workload?.currentProjects || 0 }}</div></div>
|
|
|
+ <div class="detail-item"><label>已完成</label><div>{{ currentEmployee.workload?.completedProjects || 0 }}</div></div>
|
|
|
+ <div class="detail-item"><label>平均质量</label><div>{{ currentEmployee.workload?.averageQuality || 0 }}</div></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div *ngIf="panelMode === 'edit'" class="form-view">
|
|
|
<div class="form-group">
|