feat(M08-B): 补联调状态筛选
This commit is contained in:
@@ -9,6 +9,13 @@
|
||||
</div>
|
||||
<div class="toolbar-actions">
|
||||
<el-segmented v-model="category" :options="categoryOptions" />
|
||||
<el-select v-model="statusFilter" class="handoff-status-select" placeholder="状态">
|
||||
<el-option label="全部状态" value="ALL" />
|
||||
<el-option label="待处理" value="PENDING" />
|
||||
<el-option label="通过" value="PASS" />
|
||||
<el-option label="阻断" value="BLOCKED" />
|
||||
<el-option label="不适用" value="SKIP" />
|
||||
</el-select>
|
||||
<el-button :icon="Download" @click="exportChecklist">导出</el-button>
|
||||
<el-button :icon="RotateCcw" @click="resetDraft">重置</el-button>
|
||||
</div>
|
||||
@@ -94,6 +101,7 @@ interface HandoffDraft {
|
||||
|
||||
const storageKey = 'qipai.cleaning.field-handoff';
|
||||
const category = ref<'全部' | HandoffItem['category']>('全部');
|
||||
const statusFilter = ref<'ALL' | FieldStatus>('ALL');
|
||||
const checklist: HandoffItem[] = [
|
||||
{
|
||||
id: 'merchant-credential',
|
||||
@@ -155,9 +163,11 @@ const checklist: HandoffItem[] = [
|
||||
const categoryOptions = ['全部', '商户', '微信', '转账', '硬件'];
|
||||
const draft = reactive<Record<string, HandoffDraft>>(createInitialDraft());
|
||||
|
||||
const filteredChecklist = computed(() => category.value === '全部'
|
||||
? checklist
|
||||
: checklist.filter((item) => item.category === category.value));
|
||||
const filteredChecklist = computed(() => checklist.filter((item) => {
|
||||
const categoryMatched = category.value === '全部' || item.category === category.value;
|
||||
const statusMatched = statusFilter.value === 'ALL' || draft[item.id].status === statusFilter.value;
|
||||
return categoryMatched && statusMatched;
|
||||
}));
|
||||
const passedCount = computed(() => checklist.filter((item) => draft[item.id].status === 'PASS').length);
|
||||
const blockedCount = computed(() => checklist.filter((item) => draft[item.id].status === 'BLOCKED').length);
|
||||
const pendingCount = computed(() => checklist.filter((item) => draft[item.id].status === 'PENDING').length);
|
||||
|
||||
@@ -522,6 +522,10 @@ textarea {
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.handoff-status-select {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.stats-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
|
||||
Reference in New Issue
Block a user