perry-mall/pagesB/searchPage/searchPage.vue

135 lines
4.1 KiB
Vue

<template>
<view>
<!-- 状态栏 -->
<status-nav :navBarTitle="'搜索'"></status-nav>
<!-- 输入框 -->
<view class="search-input-box bacf" :style="{paddingTop: statusBarHeight+'px'}">
<view class="disac pad-zy30 mar-s20">
<!-- 输入框 -->
<input @confirm="searchEv" v-model="searchStr" placeholder="请输入关键词" class="width100 fon34 radius10" type="text"/>
<!-- 搜索 -->
<view @tap="searchEv" class="search-btn" :style="{background:publicColor}">搜索</view>
</view>
</view>
<!-- 列表 -->
<!-- <view v-if="dataList.length!=0"> -->
<list-two :scrollCate="1"></list-two>
<!-- </view>
<view v-else class="disjcac fc" style="margin-top: 40%;">
<image class="zanw-img" src="/static/public/nothing.png" mode="aspectFill"></image>
<view class="fon24 col3">您搜索的内容暂无结果,换个关键词试试吧</view>
</view> -->
<!-- 返回顶部 -->
<!-- <back-top :showTop="showTop" @backTop="backTop"></back-top> -->
<!-- 弹框授权 -->
<!-- <empower @buttonH="buttonH" :vision="vision" :isWhere="2"></empower> -->
<!-- 弹框 -->
<auth-phone v-if="showAuthPhone"></auth-phone>
</view>
</template>
<script>
import listTwo from '@/components/list/list-two.vue';
import {collectionEV,cancleCollectionEV} from '@/jsFile/publicAPI.js';
export default {
components:{
listTwo
},
data() {
return {
statusBarHeight:uni.getSystemInfoSync().statusBarHeight + 50,
searchStr:'',//输入框的值
publicColor:uni.getStorageSync('publicColor'),//主题颜色
dataList:[//小课堂数据列表
],
showTop:false,//是否显示返回顶部
page:1, // 第几页
size:10, // 数量
total:0, // 总数
pitera:false, // 是否显示暂无数据
vision:false,
showAuthPhone:false,
}
},
onPageScroll(e) {
e.scrollTop > 360 ? this.showTop = true : this.showTop = false
},
onReachBottom() {//触底事件
if(this.total!=this.dataList.length){
this.page++
this.searchEv()//调用自主预约列表事件
} else {
if(this.isZanw) this.$toolAll.tools.showToast('暂无更多列表','none',1000)
this.isZanw = false
}
},
onShareAppMessage() {
var shareObj = {
path: `/pagesB/searchPage/searchPage?invite_code=${uni.getStorageSync('invite_code')}`, // 默认是当前页面,必须是以‘/’开头的完整路径
};
return shareObj;
},
onLoad(options) {
if(uni.getStorageSync('is_active')!=1){this.vision = true;}
if(options.invite_code!='' && options.invite_code!=undefined){
this.loginEv(options.invite_code);
} else if(options.source_code!='' && options.source_code!=undefined){
this.loginEv('',options.source_code,options.channel);
}
if(options.keyWorld!=undefined && options.keyWorld!='') {
this.searchStr = options.keyWorld
this.searchEv()
}
},
onShow() {
this.$toolAll.tools.isLogin()
if(this.searchStr!=undefined && this.searchStr!='') this.searchEv()
},
methods: {
loginEv(invite_code='',source='',channel=''){
uni.login({
provider: 'weixin',
success: (res)=> {
var params = {
code:res.code,
invite_code:invite_code,//用户邀请码
source_code:source,
channel:channel
}
this.$requst.post('user/login',params).then(res => {
if(res.data.token!=''){
if(res.data.is_active==0) {
this.haveImg = false;
this.vision = true;
}
}
},error => {})
},
});
},
buttonH(e){//授权成功
this.haveImg = e
if(e) {
this.vision = false
this.showAuthPhone = true
}
},
searchEv(){//搜索事件
this.$toolAll.tools.showToast('搜索中...')
},
backTop(){//回到顶部事件
uni.pageScrollTo({
scrollTop: 0,
duration: 300
});
},
}
}
</script>
<style>
.search-input-box input{border: 2rpx solid #E0E0E0;padding: 0rpx 20rpx;height: 80rpx;line-height: 80rpx;}
.search-input-box .search-btn {height: 80rpx;line-height: 80rpx;margin-left: 30rpx;border-radius: 10rpx;padding: 0 40rpx;font-size: 34rpx;color: #FFFFFF;flex-shrink: 0;}
</style>