update: 头部搜索能力补全
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<d-row :gutter="16">
|
||||
<d-col :span="8">
|
||||
<d-form-item field="name" label="软件名称">
|
||||
<d-input placeholder="请输入软件名称" v-model="formData.searchWord"/>
|
||||
<d-input placeholder="请输入软件名称" v-model="formData.softwareName"/>
|
||||
</d-form-item>
|
||||
</d-col>
|
||||
<d-col :span="8">
|
||||
@@ -71,7 +71,7 @@ const props = defineProps({
|
||||
type: Object,
|
||||
default: () => ({
|
||||
licenseName: '',
|
||||
searchWord: '',
|
||||
softwareName: '',
|
||||
softwareVersion: '',
|
||||
dependentSoftware: '',
|
||||
programmingLanguage: '',
|
||||
@@ -105,7 +105,7 @@ const submitForm = () => {
|
||||
const cancel = () => {
|
||||
formData.value = {
|
||||
licenseName: '',
|
||||
searchWord: '',
|
||||
softwareName: '',
|
||||
softwareVersion: '',
|
||||
dependentSoftware: '',
|
||||
programmingLanguage: '',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<d-input
|
||||
:key="$route.path + $route.query?.val" id="golbalSearch" class="g-header-search"
|
||||
v-model.trim="searchStr" placeholder="输入搜索内容..." @clear="handleClear" clearable >
|
||||
v-model.trim="softwareName" placeholder="请输入软件名称搜索" @clear="handleClear" clearable >
|
||||
<template #prepend>
|
||||
<d-dropdown>
|
||||
<div class="flex items-center gap-1 cursor-pointer">
|
||||
@@ -46,7 +46,7 @@ const globalInfo = useGlobalInfoStore();
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
const searchStr = ref(globalInfo.headerSearch.searchWord);
|
||||
const softwareName = ref(globalInfo.headerSearch.softwareName);
|
||||
const searchType = ref(globalInfo.headerSearch.searchType);
|
||||
|
||||
const position = ref(['right-start', 'right-end']);
|
||||
@@ -56,14 +56,15 @@ const placeholder = ref('「开搜」:一搜即达,开发者的AI搜索');
|
||||
|
||||
const onCategoryChange = (event) => {
|
||||
searchType.value = event;
|
||||
globalInfo.updateHeaderSearch({ softwareName: softwareName.value, searchType: searchType.value });
|
||||
}
|
||||
|
||||
const search = () => {
|
||||
globalInfo.updateHeaderSearch({ searchWord: searchStr.value, searchType: searchType.value });
|
||||
window.open(`/repoList?softwareName=${softwareName.value}&searchType=${searchType.value}`, '_blank')
|
||||
};
|
||||
|
||||
const handleClear = () => {
|
||||
globalInfo.updateHeaderSearch({ searchWord: ''.value, searchType: searchType.value });
|
||||
globalInfo.updateHeaderSearch({ softwareName: ''.value, searchType: searchType.value });
|
||||
};
|
||||
|
||||
watch(() => route.query?.val, (newVal) => {
|
||||
@@ -73,7 +74,7 @@ watch(() => route.query?.val, (newVal) => {
|
||||
const handleDataChange = ({ name, type, data }) => {
|
||||
if (name === 'micoro-app-homeweb-app') {
|
||||
if (type === 'keyword-change') {
|
||||
searchStr.value = data;
|
||||
softwareName.value = data;
|
||||
}
|
||||
if (type === 'route-change') {
|
||||
//
|
||||
@@ -82,7 +83,9 @@ const handleDataChange = ({ name, type, data }) => {
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
globalInfo.updateHeaderSearch({ softwareName: route.query.softwareName ? route.query.softwareName : '', searchType: route.query.searchType || '软件' });
|
||||
softwareName.value = route.query.softwareName;
|
||||
searchType.value = route.query.searchType || '软件';
|
||||
});
|
||||
onUnmounted(() => {
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ export const useGlobalInfoStore = defineStore('globalInfo', () => {
|
||||
const globalTheme = ref('light'); // 网站主题
|
||||
const headerSearch = ref({
|
||||
searchType: '软件',
|
||||
searchWord: ''
|
||||
softwareName: ''
|
||||
})
|
||||
|
||||
const menuInfo = computed(() => {
|
||||
|
||||
@@ -144,7 +144,7 @@ const headerSearch = ref(globalInfo.headerSearch)
|
||||
const newFormData = ref({
|
||||
licenseName: '',
|
||||
searchType: headerSearch.value.searchType ? headerSearch.value.searchType : 'software',
|
||||
searchWord: '',
|
||||
softwareName: '',
|
||||
softwareVersion: '',
|
||||
dependentSoftware: '',
|
||||
programmingLanguage: '',
|
||||
@@ -155,7 +155,9 @@ const newFormData = ref({
|
||||
|
||||
watch(() => globalInfo.headerSearch, (newVal: any) => {
|
||||
headerSearch.value = newVal;
|
||||
console.log(newVal)
|
||||
newFormData.value.searchType = newVal.searchType;
|
||||
newFormData.value.softwareName = newVal.softwareName;
|
||||
getReleaseList();
|
||||
}, { deep: true })
|
||||
|
||||
@@ -211,7 +213,7 @@ const clear = () => {
|
||||
newFormData.value = {
|
||||
licenseName: '',
|
||||
searchType: headerSearch.value.searchType ? headerSearch.value.searchType : 'software',
|
||||
searchWord: '',
|
||||
softwareName: '',
|
||||
softwareVersion: '',
|
||||
dependentSoftware: '',
|
||||
programmingLanguage: '',
|
||||
@@ -321,10 +323,8 @@ const signCla = (row: any) => {
|
||||
};
|
||||
|
||||
const getReleaseList = async() => {
|
||||
console.log(newFormData.value.searchWord, headerSearch.value.searchWord)
|
||||
const { data, error } = await releasePage({
|
||||
...newFormData.value,
|
||||
searchWord: newFormData.value.searchWord ? newFormData.value.searchWord : headerSearch.value.searchWord,
|
||||
releaseDateStart: newFormData.value.dateRange&&newFormData.value.dateRange.length>0?newFormData.value.dateRange[0]:'',
|
||||
releaseDateEnd: newFormData.value.dateRange&&newFormData.value.dateRange.length>0?newFormData.value.dateRange[1]:'',
|
||||
current: pager.value.pageIndex,
|
||||
@@ -333,11 +333,13 @@ const getReleaseList = async() => {
|
||||
if (!error && data) {
|
||||
tableData.value = data.data.records;
|
||||
pager.value.total = data.data.total;
|
||||
|
||||
console.log(tableData.value)
|
||||
}
|
||||
};
|
||||
|
||||
onMounted(async() => {
|
||||
getReleaseList();
|
||||
// getReleaseList();
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
Reference in New Issue
Block a user