kitchendDevice/pageTwo/me/mymenu.vue

118 lines
2.8 KiB
Vue
Raw Normal View History

2023-09-08 15:17:21 +08:00
<template>
<view class="content">
<!-- 搜索 -->
<search @handleSearch="handleSearch"></search>
<!-- 食谱 -->
2025-03-25 10:17:30 +08:00
<!-- <view class="tab_list">
2023-09-08 15:17:21 +08:00
<view class="tabbar" v-for="(ite,ind) in list" :key="ind" @click="handleToggle(ind)">
<view :class="[index ==ind?'active':'']">{{ite.name}}</view>
</view>
2025-03-25 10:17:30 +08:00
</view> -->
<view class="footbox" v-if="menuList.length">
<view class="footlist">
<view class="list" v-for="(it,id) in menuList" :key="it" @click="handleDetail(it.id)">
<view class="topimg">
<image :src="it.cover_url" class="img" mode="aspectFill"></image>
</view>
<view class="item">
<view class="title">{{it.title}}</view>
<view class="name">
<image :src="it.create_user_head_pic"></image>
<text class="overflow">{{it.create_user_nickname}}</text>
</view>
<view class="zan" @click="handleZan(it)">
2025-04-02 09:49:39 +08:00
<icon class="iconfont" :class="[it.is_me_like_it=='yes'?'icon-icon3':'icon-icon_collect']">
2025-03-25 10:17:30 +08:00
</icon>
<text>{{it.likes_num}}</text>
</view>
</view>
</view>
2023-09-08 15:17:21 +08:00
</view>
2025-03-25 10:17:30 +08:00
<view class="endtext" v-if="!lastPage || page >= lastPage"> 到底了看看别的吧 </view>
</view>
<view v-if="!menuList.length" class="nolist">
<icon class="iconfont icon-wancan"></icon>
<text>还没有记录哦</text>
2023-09-08 15:17:21 +08:00
</view>
</view>
</template>
<script>
2025-03-25 10:17:30 +08:00
import {
mapState
} from "vuex";
2023-09-08 15:17:21 +08:00
import search from "../../components/search.vue"
export default {
data() {
return {
2025-03-25 10:17:30 +08:00
type: "",
name: "",
page: 1,
menuList: [],
lastPage: '',
2023-09-08 15:17:21 +08:00
}
},
components: {
2025-03-25 10:17:30 +08:00
search
2023-09-08 15:17:21 +08:00
},
onLoad(option) {
let that = this
that.type = option.pageName
uni.setNavigationBarTitle({
2025-03-25 10:17:30 +08:00
title: option.pageName
2023-09-08 15:17:21 +08:00
});
2025-04-02 09:49:39 +08:00
},
onShow() {
let that = this
that.name = ""
that.page = 1
that.menuList = []
2025-03-25 10:17:30 +08:00
that.handleCooklist()
},
onReachBottom() {
let that = this
if (!this.lastPage || this.page >= this.lastPage) {
uni.showToast({
title: '没有更多数据!',
icon: 'none'
})
return
}
this.page++
this.handleCooklist(this.page)
2023-09-08 15:17:21 +08:00
},
methods: {
2025-03-25 10:17:30 +08:00
handleCooklist() {
let that = this
let https = that.type == '我的菜谱' ? that.$model.getMyCookbook : that.$model.getUserCollectList
https({
page: that.page,
search_data: that.name
}).then(res => {
if (res.code != 0) return
that.menuList = res.data.content_list
that.lastPage = res.data.page_total
})
},
// 商品详情
handleDetail(id) {
uni.navigateTo({
2025-04-02 09:49:39 +08:00
url: "/pageTwo/me/menudetail?id=" + id + '&title=' + this.type
2025-03-25 10:17:30 +08:00
})
},
2023-09-08 15:17:21 +08:00
// 搜索
handleSearch(ite) {
2025-03-25 10:17:30 +08:00
let that = this
that.name = ite
that.page = 1
that.menuList = []
that.lastPage = ""
that.handleCooklist()
2023-09-08 15:17:21 +08:00
}
}
}
</script>
<style lang="scss" scoped>
2025-03-25 10:17:30 +08:00
</style>