feat(topone): 实现任务下发功能并优化界面布局
- 添加任务下发API接口并在任务列表组件中引入 - 修改任务创建逻辑,对接后端API - 获取下属人员列表用于任务分配 - 优化表格布局,移除总业绩列 - 删除不必要的指导建议模块
This commit is contained in:
@@ -26,10 +26,6 @@
|
||||
<div class="detail-label">成交单数</div>
|
||||
<div class="detail-value">{{ selectedMember.deals || 0 }} 单</div>
|
||||
</div>
|
||||
<div class="detail-card">
|
||||
<div class="detail-label">总业绩</div>
|
||||
<div class="detail-value">¥{{ formatAmount(selectedMember.week_amount || selectedMember.performance) }}</div>
|
||||
</div>
|
||||
<div class="detail-card">
|
||||
<div class="detail-label">转化率</div>
|
||||
<div class="detail-value">{{ selectedMember.conversion_rate || selectedMember.conversion || '0%' }}</div>
|
||||
@@ -38,7 +34,7 @@
|
||||
</div>
|
||||
|
||||
<!-- 指导建议 -->
|
||||
<div class="guidance-section">
|
||||
<!-- <div class="guidance-section">
|
||||
<div class="guidance-header" @click="toggleGuidanceCollapse">
|
||||
<h3>💡 指导建议</h3>
|
||||
<div class="collapse-toggle" :class="{ 'collapsed': isGuidanceCollapsed }">
|
||||
@@ -69,7 +65,7 @@
|
||||
<p>{{ selectedMember.user_name || selectedMember.name }} 的各项指标都很不错,继续保持这种状态!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- 录音列表 -->
|
||||
<div class="recordings-section">
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
<div class="table-header">
|
||||
<span>排名</span>
|
||||
<span>姓名</span>
|
||||
<span>总业绩</span>
|
||||
<span>转化率</span>
|
||||
<span>加微率</span>
|
||||
<span>入群率</span>
|
||||
@@ -21,7 +20,6 @@
|
||||
>
|
||||
<span class="rank">{{ index + 1 }}</span>
|
||||
<span class="name">{{ member.user_name || member.name }}</span>
|
||||
<span class="performance">¥{{ formatAmount(member.week_amount || member.performance) }}</span>
|
||||
<span class="conversion">{{ member.conversion_rate || member.conversion || '0%' }}</span>
|
||||
<span class="wechat-rate">{{ member.plus_v_rate || member.wechatRate || '0%' }}</span>
|
||||
<span class="group-rate">{{ member.group_rate || member.groupRate || '0%' }}</span>
|
||||
@@ -164,7 +162,7 @@ const handleDoubleClick = (member) => {
|
||||
|
||||
.table-header {
|
||||
display: grid;
|
||||
grid-template-columns: 60px 1fr 120px 80px 90px 90px;
|
||||
grid-template-columns: 60px 1fr 80px 90px 90px;
|
||||
gap: 0.8rem;
|
||||
padding: 0.75rem 0;
|
||||
border-bottom: 1px solid #e2e8f0;
|
||||
@@ -176,7 +174,7 @@ const handleDoubleClick = (member) => {
|
||||
|
||||
.table-row {
|
||||
display: grid;
|
||||
grid-template-columns: 60px 1fr 120px 80px 90px 90px;
|
||||
grid-template-columns: 60px 1fr 80px 90px 90px;
|
||||
gap: 0.8rem;
|
||||
padding: 0.75rem 0;
|
||||
border-bottom: 1px solid #f1f5f9;
|
||||
@@ -243,7 +241,7 @@ const handleDoubleClick = (member) => {
|
||||
|
||||
.ranking-table {
|
||||
.table-header {
|
||||
grid-template-columns: 40px 1fr 70px 55px 55px 55px;
|
||||
grid-template-columns: 40px 1fr 70px 55px 55px;
|
||||
gap: 0.3rem;
|
||||
font-size: 0.75rem;
|
||||
padding: 0.5rem 0;
|
||||
@@ -251,7 +249,7 @@ const handleDoubleClick = (member) => {
|
||||
}
|
||||
|
||||
.table-row {
|
||||
grid-template-columns: 40px 1fr 70px 55px 55px 55px;
|
||||
grid-template-columns: 40px 1fr 70px 55px 55px;
|
||||
gap: 0.3rem;
|
||||
font-size: 0.8rem;
|
||||
padding: 0.5rem 0;
|
||||
@@ -292,14 +290,14 @@ const handleDoubleClick = (member) => {
|
||||
|
||||
.ranking-table {
|
||||
.table-header {
|
||||
grid-template-columns: 30px 1fr 55px 45px 45px 45px;
|
||||
grid-template-columns: 30px 1fr 55px 45px 45px;
|
||||
gap: 0.2rem;
|
||||
font-size: 0.7rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
grid-template-columns: 30px 1fr 55px 45px 45px 45px;
|
||||
grid-template-columns: 30px 1fr 55px 45px 45px;
|
||||
gap: 0.2rem;
|
||||
font-size: 0.75rem;
|
||||
white-space: nowrap;
|
||||
|
||||
@@ -1288,7 +1288,7 @@ onMounted(async () => {
|
||||
|
||||
// PC端保持一致布局
|
||||
@media (min-width: 1024px) {
|
||||
grid-template-columns: 50px 1fr 100px 80px 90px 90px;
|
||||
grid-template-columns: 50px 1fr 80px 90px 90px;
|
||||
gap: 1rem;
|
||||
font-size: 0.875rem;
|
||||
padding: 1rem 0;
|
||||
@@ -1296,7 +1296,7 @@ onMounted(async () => {
|
||||
|
||||
// 平板端适配
|
||||
@media (max-width: 1023px) and (min-width: 769px) {
|
||||
grid-template-columns: 45px 1fr 90px 70px 90px 90px;
|
||||
grid-template-columns: 45px 1fr 70px 90px 90px;
|
||||
|
||||
gap: 0.75rem;
|
||||
font-size: 0.8125rem;
|
||||
@@ -1305,7 +1305,7 @@ onMounted(async () => {
|
||||
|
||||
// 移动端适配
|
||||
@media (max-width: 768px) {
|
||||
grid-template-columns: 40px 1fr 80px 60px 90px 90px;
|
||||
grid-template-columns: 40px 1fr 60px 90px 90px;
|
||||
|
||||
gap: 0.5rem;
|
||||
font-size: 0.75rem;
|
||||
@@ -1343,7 +1343,7 @@ onMounted(async () => {
|
||||
|
||||
// PC端保持一致布局
|
||||
@media (min-width: 1024px) {
|
||||
grid-template-columns: 50px 1fr 100px 80px 90px 90px;
|
||||
grid-template-columns: 50px 1fr 80px 90px 90px;
|
||||
|
||||
gap: 1rem;
|
||||
font-size: 0.875rem;
|
||||
|
||||
Reference in New Issue
Block a user