|
|
@@ -1,9 +1,9 @@
|
|
|
<template>
|
|
|
<div class="search-content com-mobile-header">
|
|
|
<a @click="goLastPage"><i class="iconfont icon-fanhui"></i></a>
|
|
|
- <input type="text" v-model="keyword" @input="getSimilarList()" :placeholder="placeholder" @keyup.13="onSearch">
|
|
|
+ <input type="text" v-model="keyword" @input="getSimilarList()" :placeholder="placeholder" @keyup.13="onSearch()">
|
|
|
<span @click="onSearch()"><i class="iconfont icon-sousuo"></i></span>
|
|
|
- <ul v-if="type == 'supplier' && keyword && keyword !== '' && showSimilarWord">
|
|
|
+ <ul v-if="emptyStatus && type == 'supplier' && keyword && keyword !== '' && showSimilarWord">
|
|
|
<template v-if="similarList.pCmpCode && similarList.pCmpCode.length">
|
|
|
<li class="title text-ellipse">型号</li>
|
|
|
<li class="text-ellipse" v-for="code in similarList.pCmpCode.slice(0, 4)" @click="onSearch(code.pCmpCode, 'pCmpCode', $event)">{{code.pCmpCode}}</li>
|
|
|
@@ -17,7 +17,7 @@
|
|
|
<li class="text-ellipse" v-for="kind in similarList.kind.slice(0, 4)" @click="onSearch(kind.kind, 'kind', $event)">{{kind.kind}}</li>
|
|
|
</template>
|
|
|
</ul>
|
|
|
- <ul v-if="type == 'default' && keyword && keyword !== '' && showSimilarWord">
|
|
|
+ <ul v-if="emptyStatus && type == 'default' && keyword && keyword !== '' && showSimilarWord">
|
|
|
<template v-if="similarList.component && similarList.component.length">
|
|
|
<li class="title text-ellipse">型号</li>
|
|
|
<li class="text-ellipse" v-for="code in similarList.component.slice(0, 4)" @click="onSearch(code.code, 'code', $event)">{{code.code}}</li>
|
|
|
@@ -58,7 +58,8 @@
|
|
|
return {
|
|
|
keyword: '',
|
|
|
similarList: {},
|
|
|
- showSimilarWord: false
|
|
|
+ showSimilarWord: false,
|
|
|
+ searchKeyword: ''
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
|
@@ -68,11 +69,28 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ emptyStatus () {
|
|
|
+ let similarList = this.similarList
|
|
|
+ if (this.type === 'supplier') {
|
|
|
+ return (similarList.pCmpCode && similarList.pCmpCode.length) ||
|
|
|
+ (similarList.pBrandEn && similarList.pBrandEn.length) ||
|
|
|
+ (similarList.kind && similarList.kind.length)
|
|
|
+ } else if (this.type === 'default') {
|
|
|
+ return (similarList.component && similarList.component.length) ||
|
|
|
+ (similarList.brand && similarList.brand.length) ||
|
|
|
+ (similarList.kind && similarList.kind.length)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
onSearch: function (key, type, e) {
|
|
|
if (e) {
|
|
|
e.stopPropagation()
|
|
|
}
|
|
|
+ if (key === this.searchKeyword || this.keyword === this.searchKeyword) {
|
|
|
+ return
|
|
|
+ }
|
|
|
if (key) {
|
|
|
this.keyword = key
|
|
|
this.$emit('searchAction', {
|
|
|
@@ -84,6 +102,7 @@
|
|
|
keyword: this.keyword
|
|
|
})
|
|
|
}
|
|
|
+ this.searchKeyword = this.keyword
|
|
|
scrollTo('body', 10)
|
|
|
this.showSimilarWord = false
|
|
|
},
|