feat: implement composite debounced search with prepended select and wipe out duplicate root permission nodes
This commit is contained in:
@ -3,13 +3,24 @@
|
||||
<div class="filter-container">
|
||||
<el-input
|
||||
v-model="listQuery.keyword"
|
||||
placeholder="单号/姓名/SKU/名称/规格"
|
||||
placeholder="请输入关键词"
|
||||
style="width: 250px;"
|
||||
class="filter-item"
|
||||
clearable
|
||||
@input="debouncedSearch"
|
||||
@clear="handleClearSearch"
|
||||
/>
|
||||
>
|
||||
<template #prepend>
|
||||
<el-select v-model="listQuery.search_type" placeholder="搜索类型" style="width: 110px" @change="debouncedSearch">
|
||||
<el-option label="全部" value="all" />
|
||||
<el-option label="单号" value="no" />
|
||||
<el-option label="姓名" value="name" />
|
||||
<el-option label="SKU" value="sku" />
|
||||
<el-option label="物料名称" value="material_name" />
|
||||
<el-option label="规格型号" value="spec_model" />
|
||||
</el-select>
|
||||
</template>
|
||||
</el-input>
|
||||
<el-date-picker
|
||||
v-model="listQuery.dateRange"
|
||||
type="daterange"
|
||||
@ -187,6 +198,7 @@ const listQuery = reactive({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
keyword: '',
|
||||
search_type: 'all',
|
||||
dateRange: []
|
||||
})
|
||||
|
||||
|
||||
@ -7,14 +7,25 @@
|
||||
<el-radio-button label="returned">已归还</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
<el-input
|
||||
v-model="keyword"
|
||||
placeholder="单号/借用人/SKU/名称/规格"
|
||||
style="width: 250px"
|
||||
<el-input
|
||||
v-model="keyword"
|
||||
placeholder="请输入关键词"
|
||||
style="width: 250px"
|
||||
clearable
|
||||
@input="debouncedSearch"
|
||||
@clear="handleClearSearch"
|
||||
/>
|
||||
>
|
||||
<template #prepend>
|
||||
<el-select v-model="searchType" placeholder="类型" style="width: 110px" @change="debouncedSearch">
|
||||
<el-option label="全部" value="all" />
|
||||
<el-option label="单号" value="no" />
|
||||
<el-option label="借用人" value="name" />
|
||||
<el-option label="SKU" value="sku" />
|
||||
<el-option label="物料名称" value="material_name" />
|
||||
<el-option label="规格型号" value="spec_model" />
|
||||
</el-select>
|
||||
</template>
|
||||
</el-input>
|
||||
<el-button type="primary" @click="fetchData">查询</el-button>
|
||||
</div>
|
||||
|
||||
@ -171,6 +182,7 @@ const total = ref(0)
|
||||
// ★ 修改点:默认状态改为 'borrowed' (未归还)
|
||||
const status = ref('borrowed')
|
||||
const keyword = ref('')
|
||||
const searchType = ref('all')
|
||||
const page = ref(1)
|
||||
const loading = ref(false)
|
||||
|
||||
@ -183,7 +195,8 @@ const fetchData = async () => {
|
||||
params: {
|
||||
page: page.value,
|
||||
status: status.value,
|
||||
keyword: keyword.value
|
||||
keyword: keyword.value,
|
||||
search_type: searchType.value
|
||||
}
|
||||
})
|
||||
list.value = res.data.items
|
||||
|
||||
Reference in New Issue
Block a user