- <template>
- <view class="page">
- <navbar title="搜素" leftClick @leftClick="$utils.navigateBack" />
-
- <view class="search">
- <uv-search bgColor="#ffffff"
- placeholder="搜索"
- inputAlign="left"
- @search="getData"
- @clear="getData"
- @custom="getData"
- v-model="queryParams.name"
- showAction="false"></uv-search>
- </view>
-
- <view class="tabs">
- <uv-tabs
- :list="category"
- :activeStyle="{color : '#000', fontWeight : 600}"
- lineColor="#000"
- :inactiveStyle="{color: '#000'}"
- lineHeight="8rpx"
- lineWidth="50rpx"
- :current="current"
- keyName="title"
- @click="clickTabs"></uv-tabs>
- </view>
-
- <view class="novel-list">
- <novel-item v-for="(item, index) in list"
- @click="navigateToDetail(item.id)"
- :key="index" :book="item" />
- </view>
-
- </view>
- </template>
-
- <script>
- import novelItem from '@/components/novel/novelItem.vue'
- import mixinsList from '@/mixins/list.js'
- export default {
- mixins: [mixinsList],
- components: {
- novelItem,
- },
- data() {
- return {
- mixinsListApi : '',
- current : 0,
- category: [],
- }
- },
- onLoad() {
- this.getCategoryList()
- },
- methods: {
- async getCategoryList() {
-
- const data = await this.$fetch('getCategoryList')
-
- data.unshift({
- title : '全部'
- })
-
- this.category = data
-
- this.mixinsListApi = 'getRecommendList'
-
- this.getData()
- },
- beforeGetData(){
- let params = {}
- if(this.category[this.current].id){
- params.shopClass = this.category[this.current].id
- }
- return params
- },
- navigateToDetail(id) {
- // 跳转到小说详情页
- this.$utils.navigateTo(`/pages_order/novel/novelDetail?id=${id}`)
- },
- clickTabs({index}){
- this.current = index
- // 更新对应分类的书籍列表
- this.getData()
- },
- }
- }
- </script>
-
- <style scoped lang="scss">
- .search {
- background-color: #fff;
- border-radius: 40rpx;
- display: flex;
- padding: 20rpx;
- margin: 20rpx;
- :deep(.uv-search__content) {
- box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.1);
- }
- }
- .novel-list{
- padding: 20rpx;
- }
- </style>
|