chore: 删除无用组件
All checks were successful
deploy to server / build-and-deploy (push) Successful in 3m4s
All checks were successful
deploy to server / build-and-deploy (push) Successful in 3m4s
- 文档页与问题页的筛选器分离为两个不同的组件,原先product-filter删除
This commit is contained in:
@ -1,149 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="question-category">
|
|
||||||
<el-row class="hide-on-mobile" :gutter="12">
|
|
||||||
<el-col :span="8">
|
|
||||||
<span class="select-label">{{
|
|
||||||
$t('product-filter.product-type')
|
|
||||||
}}</span>
|
|
||||||
<el-select
|
|
||||||
v-model="model.selectedType"
|
|
||||||
:placeholder="$t('product-filter.select-product-type')"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="type in productTypeOptions"
|
|
||||||
:key="type.id"
|
|
||||||
:label="type.name"
|
|
||||||
:value="type.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :span="8">
|
|
||||||
<span class="select-label">{{
|
|
||||||
$t('product-filter.product-model')
|
|
||||||
}}</span>
|
|
||||||
<el-select
|
|
||||||
v-model="model.selectedProduct"
|
|
||||||
:placeholder="$t('product-filter.select-product-model')"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="product in productOptions"
|
|
||||||
:key="product.id"
|
|
||||||
:label="product.name"
|
|
||||||
:value="product.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :span="8">
|
|
||||||
<span class="select-label">{{ $t('product-filter.keyword') }}</span>
|
|
||||||
<el-input
|
|
||||||
v-model="model.keyword"
|
|
||||||
:placeholder="$t('product-filter.enter-keyword')"
|
|
||||||
clearable
|
|
||||||
:prefix-icon="Search"
|
|
||||||
/>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row class="display-on-mobile" :gutter="12">
|
|
||||||
<el-col :span="12">
|
|
||||||
<span class="select-label">{{
|
|
||||||
$t('product-filter.product-type')
|
|
||||||
}}</span>
|
|
||||||
<el-select
|
|
||||||
v-model="model.selectedType"
|
|
||||||
:placeholder="$t('product-filter.select-product-type')"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="type in productTypeOptions"
|
|
||||||
:key="type.id"
|
|
||||||
:label="type.name"
|
|
||||||
:value="type.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :span="12">
|
|
||||||
<span class="select-label">{{
|
|
||||||
$t('product-filter.product-model')
|
|
||||||
}}</span>
|
|
||||||
<el-select
|
|
||||||
v-model="model.selectedProduct"
|
|
||||||
:placeholder="$t('product-filter.select-product-model')"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="product in productOptions"
|
|
||||||
:key="product.id"
|
|
||||||
:label="product.name"
|
|
||||||
:value="product.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row class="display-on-mobile">
|
|
||||||
<span class="select-label">{{ $t('product-filter.keyword') }}</span>
|
|
||||||
<el-input
|
|
||||||
v-model="model.keyword"
|
|
||||||
:placeholder="$t('product-filter.enter-keyword')"
|
|
||||||
clearable
|
|
||||||
:prefix-icon="Search"
|
|
||||||
/>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
import { Search } from '@element-plus/icons-vue';
|
|
||||||
|
|
||||||
defineProps({
|
|
||||||
productTypeOptions: {
|
|
||||||
type: Array as () => Array<{ id: string; name: string }>,
|
|
||||||
default: () => [],
|
|
||||||
},
|
|
||||||
productOptions: {
|
|
||||||
type: Array as () => Array<{ id: string; name: string }>,
|
|
||||||
default: () => [],
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const model = defineModel<{
|
|
||||||
keyword: string;
|
|
||||||
selectedType: string | null;
|
|
||||||
selectedProduct: string | null;
|
|
||||||
}>();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.question-category {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-label {
|
|
||||||
color: var(--el-text-color-secondary);
|
|
||||||
font-size: 0.9rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.el-select__wrapper),
|
|
||||||
:deep(.el-input__wrapper) {
|
|
||||||
height: 40px;
|
|
||||||
font-size: 0.9rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.display-on-mobile {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.hide-on-mobile {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.display-on-mobile {
|
|
||||||
display: flex;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
Reference in New Issue
Block a user