|
|
- <template>
- <view class="search-info flex-1 flex flex-column">
- <view class="search-info-box position-fixed top-0 left-0 w-100 zIndex-1">
- <u-search disabled placeholder="请输入要搜索的商品" height="70" :show-action="false" @click="handleSearch" />
- </view>
- <view class="search-info-scroll flex-1">
- <view class="p-20" v-if="goodsList.length">
- <view class="m-b-20" v-for="item in goodsList" :key="item.id">
- <goods-item :goods="item" thereTo='home' />
- </view>
- </view>
- <view class="w-100 h-100" v-else-if="!loading && !goodsList.length">
- <u-empty icon-size="100" mode="search" text="没有搜索到此商品"></u-empty>
- </view>
- </view>
- </view>
- </template>
-
- <script>
- export default {
- data: () => ({
- title: '',
- pageNo: 1,
- pageSize: 10,
- goodsList: [],
- loading: true,
- total: null,
- isMore: 1
- }),
- onLoad(optios) {
- uni.showLoading()
- this.title = optios.keyword
- this.getGoodsList()
- },
- onReachBottom() {
- if(this.isMore === 1) {
- this.isMore = 2
- this.pageNo+=1;
- this.getGoodsList();
- }
- },
- onPullDownRefresh() {
- this.pageNo= 1;
- uni.showLoading()
- this.isMore = 1
- this.goodsList = []
- this.getGoodsList();
- },
- methods: {
- getGoodsList () {
- this.$api('getGoodsList', {title: this.title, pageNo: this.pageNo, pageSize: this.pageSize })
- .then(res => {
- uni.hideLoading()
- this.loading = false
- let { code, result } = res
- if (res.code === 200) {
- this.isMore = 1
- if(this.pageNo * this.pageSize >= this.total) this.isMore = 0
- result.records.forEach(item => {
- const picArray= item.pic.split(',')
- item.pic= picArray[0]
- })
- this.goodsList = [ ...result.records, ...this.goodsList ]
- }
- })
- .catch(err => {
- uni.hideLoading()
- this.loading = false
- })
- },
- handleSearch () {
- this.$tools.redirectTo({
- url: '/pagesC/search/search'
- })
- },
- }
- }
- </script>
-
- <style lang="scss" scoped>
- .search-info {
- background: #f6f6f6;
- &-box {
- padding: 20rpx;
- background-color: #fff;
- }
- &-scroll {
- padding-top: 110rpx;
- }
- }
- </style>
|