|
|
|
<template>
|
|
|
|
<view class="content">
|
|
|
|
<view class="search-box">
|
|
|
|
<!-- mSearch组件 如果使用原样式,删除组件元素-->
|
|
|
|
<mSearch class="mSearch-input-box" :mode="2" button="inside" :placeholder="defaultKeyword"
|
|
|
|
@search="doSearch(false)" @confirm="doSearch(false)" v-model="keyword"></mSearch>
|
|
|
|
<!-- 原样式 如果使用原样式,恢复下方注销代码 -->
|
|
|
|
<!--
|
|
|
|
<view class="input-box">
|
|
|
|
<input type="text" :adjust-position="true" :placeholder="defaultKeyword" @input="inputChange" v-model="keyword" @confirm="doSearch(false)"
|
|
|
|
placeholder-class="placeholder-class" confirm-type="search">
|
|
|
|
</view>
|
|
|
|
<view class="search-btn" @tap="doSearch(false)">搜索</view>
|
|
|
|
-->
|
|
|
|
<!-- 原样式 end -->
|
|
|
|
</view>
|
|
|
|
<view class="search-keyword">
|
|
|
|
<scroll-view class="keyword-list-box" v-show="isShowKeywordList" scroll-y>
|
|
|
|
<block v-for="(row,index) in keywordList" :key="index">
|
|
|
|
<view class="keyword-entry" hover-class="keyword-entry-tap">
|
|
|
|
<view class="keyword-text" @tap.stop="doSearch(keywordList[index].keyword)">
|
|
|
|
<rich-text :nodes="row.htmlStr"></rich-text>
|
|
|
|
</view>
|
|
|
|
<view class="keyword-img" @tap.stop="setKeyword(keywordList[index].keyword)">
|
|
|
|
<image src="/static/HM-search/back.png"></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</block>
|
|
|
|
|
|
|
|
</scroll-view>
|
|
|
|
<scroll-view class="keyword-box" v-show="!isShowKeywordList" scroll-y>
|
|
|
|
<view class="product-list mart15">
|
|
|
|
<view class="product" v-for="product in productList" :key="product.id" @tap="toGoods(product.id)">
|
|
|
|
<image mode="widthFix" :src="imageUrl+product.couponImg"></image>
|
|
|
|
<view class="name">{{ product.couponName }}</view>
|
|
|
|
<view class="info" v-if="product.payType == 1">
|
|
|
|
<view class="price">¥{{ product.discountPrice}}</view>
|
|
|
|
<view class="slogan" v-if="product.discountPrice !== product.salesPrice">
|
|
|
|
¥{{ product.salesPrice}}</view>
|
|
|
|
</view>
|
|
|
|
<view class="info" v-else>
|
|
|
|
<view class="price">
|
|
|
|
<image style="width: 15px;height: 15px;vertical-align: sub;" src="data:image/png;base64,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
|
|
|
|
<view class="slogan" v-if="product.discountPrice !== product.salesPrice">
|
|
|
|
<image style="width: 15px;height: 15px;vertical-align: sub;" src="data:image/png;base64,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
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</scroll-view>
|
|
|
|
</view>
|
|
|
|
<view class="loading-text">{{ loadingText }}</view>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import {
|
|
|
|
getCouponList
|
|
|
|
} from "../../../Utils/Api.js";
|
|
|
|
let app = getApp()
|
|
|
|
//引用mSearch组件,如不需要删除即可
|
|
|
|
import mSearch from '@/components/mehaotian-search-revision/mehaotian-search-revision.vue';
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
defaultKeyword: "",
|
|
|
|
keyword: "",
|
|
|
|
oldKeywordList: [],
|
|
|
|
hotKeywordList: [],
|
|
|
|
keywordList: [],
|
|
|
|
forbid: '',
|
|
|
|
isShowKeywordList: false,
|
|
|
|
imageUrl: app.globalData.imgUrl,
|
|
|
|
productList: [],
|
|
|
|
pageNum: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
isNoMoreData: false,
|
|
|
|
loadingText: ''
|
|
|
|
}
|
|
|
|
},
|
|
|
|
onLoad() {
|
|
|
|
this.init();
|
|
|
|
},
|
|
|
|
components: {
|
|
|
|
//引用mSearch组件,如不需要删除即可
|
|
|
|
mSearch
|
|
|
|
},
|
|
|
|
onReachBottom() {
|
|
|
|
this.getCouponList();
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
toGoods(e) {
|
|
|
|
uni.navigateTo({
|
|
|
|
url:'../../goods/goods?id='+e
|
|
|
|
});
|
|
|
|
},
|
|
|
|
getCouponList() {
|
|
|
|
uni.showLoading({
|
|
|
|
title: '加载中...'
|
|
|
|
})
|
|
|
|
if (this.isNoMoreData) {
|
|
|
|
uni.hideLoading()
|
|
|
|
this.loadingText = '到底了';
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
let pagenum = this.pageNum;
|
|
|
|
let params = {
|
|
|
|
regionId: app.globalData.cityId,
|
|
|
|
pageNum: pagenum,
|
|
|
|
couponName: this.keyword,
|
|
|
|
pageSize: this.pageSize
|
|
|
|
}
|
|
|
|
getCouponList(params).then(res => {
|
|
|
|
if (res.return_code == '000000') {
|
|
|
|
uni.hideLoading();
|
|
|
|
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true;
|
|
|
|
this.productList = this.productList.concat(res.return_data.list);
|
|
|
|
if(res.return_data.total == (this.pageNum * this.pageSize)){
|
|
|
|
this.isNoMoreData = true;
|
|
|
|
}
|
|
|
|
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum;
|
|
|
|
} else {
|
|
|
|
this.productList = [];
|
|
|
|
uni.hideLoading()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
},
|
|
|
|
init() {
|
|
|
|
this.loadDefaultKeyword();
|
|
|
|
|
|
|
|
},
|
|
|
|
blur() {
|
|
|
|
uni.hideKeyboard()
|
|
|
|
},
|
|
|
|
//加载默认搜索关键字
|
|
|
|
loadDefaultKeyword() {
|
|
|
|
//定义默认搜索关键字,可以自己实现ajax请求数据再赋值,用户未输入时,以水印方式显示在输入框,直接不输入内容搜索会搜索默认关键字
|
|
|
|
this.defaultKeyword = "搜索卡券";
|
|
|
|
},
|
|
|
|
//加载历史搜索,自动读取本地Storage
|
|
|
|
loadOldKeyword() {
|
|
|
|
uni.getStorage({
|
|
|
|
key: 'OldKeys',
|
|
|
|
success: (res) => {
|
|
|
|
var OldKeys = JSON.parse(res.data);
|
|
|
|
this.oldKeywordList = OldKeys;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
//监听输入
|
|
|
|
inputChange(event) {
|
|
|
|
//兼容引入组件时传入参数情况
|
|
|
|
var keyword = event.detail ? event.detail.value : event;
|
|
|
|
if (!keyword) {
|
|
|
|
this.keywordList = [];
|
|
|
|
this.isShowKeywordList = false;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
this.isShowKeywordList = true;
|
|
|
|
//以下示例截取淘宝的关键字,请替换成你的接口
|
|
|
|
this.getCouponList();
|
|
|
|
},
|
|
|
|
//高亮关键字
|
|
|
|
drawCorrelativeKeyword(keywords, keyword) {
|
|
|
|
var len = keywords.length,
|
|
|
|
keywordArr = [];
|
|
|
|
for (var i = 0; i < len; i++) {
|
|
|
|
var row = keywords[i];
|
|
|
|
//定义高亮#9f9f9f
|
|
|
|
var html = row[0].replace(keyword, "<span style='color: #9f9f9f;'>" + keyword + "</span>");
|
|
|
|
html = '<div>' + html + '</div>';
|
|
|
|
var tmpObj = {
|
|
|
|
keyword: row[0],
|
|
|
|
htmlStr: html
|
|
|
|
};
|
|
|
|
keywordArr.push(tmpObj)
|
|
|
|
}
|
|
|
|
return keywordArr;
|
|
|
|
},
|
|
|
|
//顶置关键字
|
|
|
|
setKeyword(index) {
|
|
|
|
this.keyword = this.keywordList[index].keyword;
|
|
|
|
},
|
|
|
|
//清除历史搜索
|
|
|
|
oldDelete() {
|
|
|
|
uni.showModal({
|
|
|
|
content: '确定清除历史搜索记录?',
|
|
|
|
success: (res) => {
|
|
|
|
if (res.confirm) {
|
|
|
|
console.log('用户点击确定');
|
|
|
|
this.oldKeywordList = [];
|
|
|
|
uni.removeStorage({
|
|
|
|
key: 'OldKeys'
|
|
|
|
});
|
|
|
|
} else if (res.cancel) {
|
|
|
|
console.log('用户点击取消');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
//热门搜索开关
|
|
|
|
hotToggle() {
|
|
|
|
this.forbid = this.forbid ? '' : '_forbid';
|
|
|
|
},
|
|
|
|
//执行搜索
|
|
|
|
doSearch(keyword) {
|
|
|
|
keyword = keyword === false ? this.keyword : keyword;
|
|
|
|
this.keyword = keyword;
|
|
|
|
this.pageNum = 1;
|
|
|
|
this.getCouponList();
|
|
|
|
},
|
|
|
|
//保存关键字到历史记录
|
|
|
|
saveKeyword(keyword) {
|
|
|
|
uni.getStorage({
|
|
|
|
key: 'OldKeys',
|
|
|
|
success: (res) => {
|
|
|
|
var OldKeys = JSON.parse(res.data);
|
|
|
|
var findIndex = OldKeys.indexOf(keyword);
|
|
|
|
if (findIndex == -1) {
|
|
|
|
OldKeys.unshift(keyword);
|
|
|
|
} else {
|
|
|
|
OldKeys.splice(findIndex, 1);
|
|
|
|
OldKeys.unshift(keyword);
|
|
|
|
}
|
|
|
|
//最多10个纪录
|
|
|
|
OldKeys.length > 10 && OldKeys.pop();
|
|
|
|
uni.setStorage({
|
|
|
|
key: 'OldKeys',
|
|
|
|
data: JSON.stringify(OldKeys)
|
|
|
|
});
|
|
|
|
this.oldKeywordList = OldKeys; //更新历史搜索
|
|
|
|
},
|
|
|
|
fail: (e) => {
|
|
|
|
var OldKeys = [keyword];
|
|
|
|
uni.setStorage({
|
|
|
|
key: 'OldKeys',
|
|
|
|
data: JSON.stringify(OldKeys)
|
|
|
|
});
|
|
|
|
this.oldKeywordList = OldKeys; //更新历史搜索
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
|
|
view {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.loading-text {
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
height: 60upx;
|
|
|
|
color: #979797;
|
|
|
|
font-size: 24upx;
|
|
|
|
}
|
|
|
|
.product-list {
|
|
|
|
width: 92%;
|
|
|
|
padding: 0 4% 3vw 4%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
|
|
.product {
|
|
|
|
width: 48%;
|
|
|
|
border-radius: 20upx;
|
|
|
|
background-color: #fff;
|
|
|
|
margin: 0 0 15upx 0;
|
|
|
|
box-shadow: 0upx 5upx 25upx rgba(0, 0, 0, 0.1);
|
|
|
|
|
|
|
|
image {
|
|
|
|
width: 100%;
|
|
|
|
border-radius: 20upx 20upx 0 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.name {
|
|
|
|
width: 92%;
|
|
|
|
padding: 8upx 4%;
|
|
|
|
display: -webkit-box;
|
|
|
|
-webkit-box-orient: vertical;
|
|
|
|
-webkit-line-clamp: 1;
|
|
|
|
text-align: justify;
|
|
|
|
overflow: hidden;
|
|
|
|
font-size: 30upx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.info {
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: flex-end;
|
|
|
|
width: 92%;
|
|
|
|
padding: 10upx 4% 10upx 4%;
|
|
|
|
|
|
|
|
.price {
|
|
|
|
color: #e65339;
|
|
|
|
font-size: 30upx;
|
|
|
|
font-weight: 600;
|
|
|
|
}
|
|
|
|
|
|
|
|
.slogan {
|
|
|
|
color: #807c87;
|
|
|
|
font-size: 24upx;
|
|
|
|
text-decoration: line-through;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.search-box {
|
|
|
|
width: 95%;
|
|
|
|
background-color: rgb(242, 242, 242);
|
|
|
|
padding: 15upx 2.5%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
position: sticky;
|
|
|
|
top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.search-box .mSearch-input-box {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.search-box .input-box {
|
|
|
|
width: 85%;
|
|
|
|
flex-shrink: 1;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.search-box .search-btn {
|
|
|
|
width: 15%;
|
|
|
|
margin: 0 0 0 2%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
flex-shrink: 0;
|
|
|
|
font-size: 28upx;
|
|
|
|
color: #fff;
|
|
|
|
background: linear-gradient(to right, #ff9801, #ff570a);
|
|
|
|
border-radius: 60upx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.search-box .input-box>input {
|
|
|
|
width: 100%;
|
|
|
|
height: 60upx;
|
|
|
|
font-size: 32upx;
|
|
|
|
border: 0;
|
|
|
|
border-radius: 60upx;
|
|
|
|
-webkit-appearance: none;
|
|
|
|
-moz-appearance: none;
|
|
|
|
appearance: none;
|
|
|
|
padding: 0 3%;
|
|
|
|
margin: 0;
|
|
|
|
background-color: #ffffff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.placeholder-class {
|
|
|
|
color: #9e9e9e;
|
|
|
|
}
|
|
|
|
|
|
|
|
.search-keyword {
|
|
|
|
width: 100%;
|
|
|
|
background-color: rgb(242, 242, 242);
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-list-box {
|
|
|
|
height: calc(100vh - 110upx);
|
|
|
|
padding-top: 10upx;
|
|
|
|
border-radius: 20upx 20upx 0 0;
|
|
|
|
background-color: #fff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-entry-tap {
|
|
|
|
background-color: #eee;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-entry {
|
|
|
|
width: 94%;
|
|
|
|
height: 80upx;
|
|
|
|
margin: 0 3%;
|
|
|
|
font-size: 30upx;
|
|
|
|
color: #333;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
|
|
border-bottom: solid 1upx #e7e7e7;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-entry image {
|
|
|
|
width: 60upx;
|
|
|
|
height: 60upx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-entry .keyword-text,
|
|
|
|
.keyword-entry .keyword-img {
|
|
|
|
height: 80upx;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-entry .keyword-text {
|
|
|
|
width: 90%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-entry .keyword-img {
|
|
|
|
width: 10%;
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box {
|
|
|
|
height: calc(100vh - 110upx);
|
|
|
|
border-radius: 20upx 20upx 0 0;
|
|
|
|
background-color: #fff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box .keyword-block {
|
|
|
|
padding: 10upx 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box .keyword-block .keyword-list-header {
|
|
|
|
width: 94%;
|
|
|
|
padding: 10upx 3%;
|
|
|
|
font-size: 27upx;
|
|
|
|
color: #333;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box .keyword-block .keyword-list-header image {
|
|
|
|
width: 40upx;
|
|
|
|
height: 40upx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box .keyword-block .keyword {
|
|
|
|
width: 94%;
|
|
|
|
padding: 3px 3%;
|
|
|
|
display: flex;
|
|
|
|
flex-flow: wrap;
|
|
|
|
justify-content: flex-start;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box .keyword-block .hide-hot-tis {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
font-size: 28upx;
|
|
|
|
color: #6b6b6b;
|
|
|
|
}
|
|
|
|
|
|
|
|
.keyword-box .keyword-block .keyword>view {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
border-radius: 60upx;
|
|
|
|
padding: 0 20upx;
|
|
|
|
margin: 10upx 20upx 10upx 0;
|
|
|
|
height: 60upx;
|
|
|
|
font-size: 28upx;
|
|
|
|
background-color: rgb(242, 242, 242);
|
|
|
|
color: #6b6b6b;
|
|
|
|
}
|
|
|
|
</style>
|