|
@@ -9,7 +9,8 @@ import {
|
|
|
SearchBidBaseSchema,
|
|
|
SearchBidMoreSchema
|
|
|
} from '@/views/search/composables/constant/search-filters'
|
|
|
-import { reactive, ref } from 'vue'
|
|
|
+import { computed, reactive, ref } from 'vue'
|
|
|
+import Adsense from '@/views/order/components/adsense/index.vue'
|
|
|
|
|
|
const filterModel = reactive({
|
|
|
publishtime: 'fiveyear',
|
|
@@ -17,6 +18,34 @@ const filterModel = reactive({
|
|
|
subtype: ''
|
|
|
})
|
|
|
|
|
|
+const activeTab = ref('all')
|
|
|
+const Tabs = [
|
|
|
+ {
|
|
|
+ label: '全部',
|
|
|
+ key: 'all'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '招标采购公告',
|
|
|
+ key: 'bid'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '超前项目',
|
|
|
+ badge: '推荐',
|
|
|
+ key: 'project'
|
|
|
+ }
|
|
|
+]
|
|
|
+const searchTabs = computed(() => {
|
|
|
+ return Tabs.map((v) => {
|
|
|
+ v.active = activeTab.value === v.key
|
|
|
+ return v
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
+const searchState = ref({
|
|
|
+ input: '',
|
|
|
+ matchKeys: []
|
|
|
+})
|
|
|
+
|
|
|
const {
|
|
|
listState,
|
|
|
activeItemStyleType,
|
|
@@ -33,12 +62,28 @@ const {
|
|
|
doQuery()
|
|
|
|
|
|
function doChangeFilter() {}
|
|
|
+
|
|
|
+function doChangeTab(tab) {
|
|
|
+ activeTab.value = tab.key
|
|
|
+}
|
|
|
+
|
|
|
+function doSearch(val) {
|
|
|
+ doQuery({
|
|
|
+ searchvalue: val
|
|
|
+ }).then((res) => {
|
|
|
+ searchState.value.matchKeys = res.origin?.keywords?.split('') || [val]
|
|
|
+ })
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
<div class="search-bidding-page">
|
|
|
<search-header-card
|
|
|
class="search-bidding-header-container b-rd-8px m-t-24px"
|
|
|
+ v-model="searchState.input"
|
|
|
+ :tabs="searchTabs"
|
|
|
+ @change-tab="doChangeTab"
|
|
|
+ @search="doSearch"
|
|
|
>
|
|
|
<div slot="input-suffix" class="aaa">
|
|
|
<el-badge value="限免" type="danger" class="publish-button">
|
|
@@ -71,6 +116,7 @@ function doChangeFilter() {}
|
|
|
class="list-item"
|
|
|
:model="activeItemStyleType"
|
|
|
:class="{ visited: item.visited || item.ca_isvisit }"
|
|
|
+ :match-keys="searchState.matchKeys"
|
|
|
:article="item"
|
|
|
:index="index"
|
|
|
:config="{
|
|
@@ -91,6 +137,7 @@ function doChangeFilter() {}
|
|
|
</div>
|
|
|
</template>
|
|
|
</search-list>
|
|
|
+ <adsense class="footer-look-container" code="jy-pcsearch-bottom"></adsense>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -110,5 +157,14 @@ function doChangeFilter() {}
|
|
|
|
|
|
.search-bidding-list-container {
|
|
|
}
|
|
|
+ .footer-look-container.adsense {
|
|
|
+ padding: 0;
|
|
|
+ padding-bottom: 16px;
|
|
|
+ ::v-deep {
|
|
|
+ .content {
|
|
|
+ border: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|