feat(web-admin): default pending storage release to QC-complete samples

Add QC work-order completion filter on the pending tab (default yes) and
pass qcWorkOrderCompleted to the list API.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-07-16 12:15:50 +08:00
1 parent 1ec3d0d775
commit 27355b5a5d
2 files changed
+36 -2

No files matched your search

@@ -145,6 +145,7 @@ export function fetchStorageReleaseReviewList(params?: {
storageStatus?: string
keyword?: string
reviewPhase?: 'pending' | 'reviewed'
qcWorkOrderCompleted?: boolean
}) {
return request.get<PageList<StorageReleaseReview>>({
url: '/web/admin/storage-release-reviews',
@@ -79,6 +79,20 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="activeTab === 'pending'" label="质检工单是否完成">
<el-select
v-model="searchForm.qcWorkOrderCompleted"
placeholder="全部"
style="width: 100%"
>
<el-option
v-for="item in qcWorkOrderCompletedOptions"
:key="String(item.value)"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</div>
<div class="filter-actions-row">
<div class="filter-actions-end">
@@ -386,11 +400,19 @@
{ value: 'yrk', label: '已入库' }
]
/** '' = 全部;'true'/'false' 避免 el-select 对 boolean 的歧义 */
const qcWorkOrderCompletedOptions = [
{ value: 'true', label: '是' },
{ value: 'false', label: '否' },
{ value: '', label: '全部' }
]
const searchForm = reactive({
receptionSource: '',
reviewConclusion: '',
storageStatus: '',
keyword: ''
keyword: '',
qcWorkOrderCompleted: 'true' as '' | 'true' | 'false'
})
const tableData = ref<StorageReleaseReview[]>([])
const selectedRows = ref<StorageReleaseReview[]>([])
@@ -412,6 +434,12 @@
async function loadData() {
loading.value = true
try {
const qcParam =
activeTab.value === 'pending' && searchForm.qcWorkOrderCompleted === 'true'
? true
: activeTab.value === 'pending' && searchForm.qcWorkOrderCompleted === 'false'
? false
: undefined
const res = await fetchStorageReleaseReviewList({
page: pagination.page,
pageSize: pagination.pageSize,
@@ -419,7 +447,8 @@
reviewConclusion: searchForm.reviewConclusion || undefined,
storageStatus: searchForm.storageStatus || undefined,
keyword: searchForm.keyword || undefined,
reviewPhase: activeTab.value
reviewPhase: activeTab.value,
qcWorkOrderCompleted: qcParam
})
tableData.value = res.list || []
pagination.total = res.total ?? 0
@@ -433,6 +462,9 @@
activeTab.value = name
pagination.page = 1
selectedRows.value = []
if (name === 'pending') {
searchForm.qcWorkOrderCompleted = 'true'
}
loadData()
}
@@ -446,6 +478,7 @@
searchForm.reviewConclusion = ''
searchForm.storageStatus = ''
searchForm.keyword = ''
searchForm.qcWorkOrderCompleted = 'true'
pagination.page = 1
loadData()
}