|
@@ -5,25 +5,28 @@ import tagItem from '@/components/tagItem'
|
|
|
import hot from './images/hot.png'
|
|
|
import arrow from '@/components/musicLIstItem/images/arrow.png'
|
|
|
import search from '@/components/hotSearch/images/search.png'
|
|
|
+
|
|
|
import request from '@/helpers/request'
|
|
|
+import arrows from './images/arrow.png'
|
|
|
import clearIcon from './images/clearIcon.png'
|
|
|
import item from '@/views/user-info/components/item'
|
|
|
import { useRouter } from 'vue-router'
|
|
|
+import { spawn } from 'child_process'
|
|
|
export default defineComponent({
|
|
|
name: 'hotSearch',
|
|
|
components: { tagItem },
|
|
|
- emits:['searchRust','hotTag'],
|
|
|
+ emits: ['searchRust', 'hotTag'],
|
|
|
props: {
|
|
|
type: {
|
|
|
type: String,
|
|
|
default: 'more'
|
|
|
},
|
|
|
- searchType:{
|
|
|
+ searchType: {
|
|
|
type: String,
|
|
|
default: 'MUSIC'
|
|
|
}
|
|
|
},
|
|
|
- setup(props,conent) {
|
|
|
+ setup(props, conent) {
|
|
|
const state = reactive({
|
|
|
hotList: [],
|
|
|
type: props.type,
|
|
@@ -32,12 +35,13 @@ export default defineComponent({
|
|
|
chioseTagList: [],
|
|
|
chioseParentList: [],
|
|
|
searchTagList: [],
|
|
|
- searchType:props.searchType
|
|
|
+ searchType: props.searchType
|
|
|
})
|
|
|
const router = useRouter()
|
|
|
const getHotList = async () => {
|
|
|
try {
|
|
|
- const res = await request.get(`/api-website/open/music/sheet/hotTag/${state.searchType}`
|
|
|
+ const res = await request.get(
|
|
|
+ `/api-website/open/music/sheet/hotTag/${state.searchType}`
|
|
|
)
|
|
|
|
|
|
state.hotList = res.data
|
|
@@ -110,7 +114,8 @@ export default defineComponent({
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
- console.log(state.searchTagList, 'searchTagList')
|
|
|
+ // console.log(state.searchTagList, 'searchTagList')
|
|
|
+ searchSubmit()
|
|
|
}
|
|
|
const isChiose = (tag: any) => {
|
|
|
if (tag.isCheck) {
|
|
@@ -133,17 +138,17 @@ export default defineComponent({
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
- const searchSubmit = ()=>{
|
|
|
+ const searchSubmit = () => {
|
|
|
// 请求
|
|
|
- conent.emit('searchRust',state.chioseTagList)
|
|
|
- state.showDetail = true
|
|
|
+ conent.emit('searchRust', state.chioseTagList)
|
|
|
+ // state.showDetail = true
|
|
|
}
|
|
|
|
|
|
- const clickHotTag = (key:string)=>{
|
|
|
- conent.emit('hotTag',key)
|
|
|
+ const clickHotTag = (key: string) => {
|
|
|
+ conent.emit('hotTag', key)
|
|
|
}
|
|
|
- const gotoSearch = ()=>{
|
|
|
- router.push({path:'/searchdetail'})
|
|
|
+ const gotoSearch = () => {
|
|
|
+ router.push({ path: '/searchdetail' })
|
|
|
}
|
|
|
onMounted(() => {
|
|
|
getHotList()
|
|
@@ -159,7 +164,14 @@ export default defineComponent({
|
|
|
<div class={classes.tagWrap}>
|
|
|
{state.hotList.map((item: any) => {
|
|
|
//
|
|
|
- return <tagItem title={item.key} onSearchTag={(key)=>clickHotTag(key)}>{item.key}</tagItem>
|
|
|
+ return (
|
|
|
+ <tagItem
|
|
|
+ title={item.key}
|
|
|
+ onSearchTag={key => clickHotTag(key)}
|
|
|
+ >
|
|
|
+ {item.key}
|
|
|
+ </tagItem>
|
|
|
+ )
|
|
|
})}
|
|
|
</div>
|
|
|
</div>
|
|
@@ -170,7 +182,10 @@ export default defineComponent({
|
|
|
</div>
|
|
|
) : null}
|
|
|
{state.type == 'search' ? (
|
|
|
- <div class={[classes.wrapRight, classes.searchWrap]} onClick={()=>state.showDetail = false}>
|
|
|
+ <div
|
|
|
+ class={[classes.wrapRight, classes.searchWrap]}
|
|
|
+ onClick={() => (state.showDetail = false)}
|
|
|
+ >
|
|
|
<span>筛选</span>
|
|
|
<img class={classes.search} src={search} alt="" />
|
|
|
</div>
|
|
@@ -180,7 +195,7 @@ export default defineComponent({
|
|
|
<div class={classes.searchDetail}>
|
|
|
<div class={classes.searchResult}>
|
|
|
<div class={classes.resultTitle}>
|
|
|
- <span>搜索结果</span>
|
|
|
+ <span>已选类型</span>
|
|
|
<img src={arrow} alt="" />
|
|
|
</div>
|
|
|
<div class={classes.tagList}>
|
|
@@ -190,16 +205,22 @@ export default defineComponent({
|
|
|
closable
|
|
|
onClose={() => closeChioseTag(item)}
|
|
|
class="chioseTag"
|
|
|
- size="large"
|
|
|
+
|
|
|
>
|
|
|
{item.name}
|
|
|
</ElTag>
|
|
|
)
|
|
|
})}
|
|
|
</div>
|
|
|
- <div class={classes.clearBtn} onClick={clearSearch}>
|
|
|
- <span>清空</span>
|
|
|
- <img src={clearIcon} class={classes.clearIcon} alt="" />
|
|
|
+ <div class={classes.searchResultRight}>
|
|
|
+ <div class={classes.clearBtn} onClick={()=>{state.showDetail = true}}>
|
|
|
+ <span>收起</span>
|
|
|
+ <img src={arrows} class={classes.clearIcon} alt="" />
|
|
|
+ </div>
|
|
|
+ <div class={classes.clearBtn} onClick={clearSearch}>
|
|
|
+ <span>清空</span>
|
|
|
+ <img src={clearIcon} class={classes.clearIcon} alt="" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class={classes.searchChioseWrap}>
|
|
@@ -211,16 +232,27 @@ export default defineComponent({
|
|
|
<div class={[classes.chioseTagWrap, 'chioseTagWrap']}>
|
|
|
{tree.children.map((tag: any) => {
|
|
|
return (
|
|
|
- <ElTag
|
|
|
- class={classes.tags}
|
|
|
- size="large"
|
|
|
- effect={isChiose(tag)}
|
|
|
- onClick={() => {
|
|
|
- chioseTag(tag)
|
|
|
- }}
|
|
|
- >
|
|
|
- {tag.name}
|
|
|
- </ElTag>
|
|
|
+ // effect={isChiose(tag)}
|
|
|
+ tag.isCheck ? (
|
|
|
+ <div
|
|
|
+ class={classes.tags}
|
|
|
+ onClick={() => {
|
|
|
+ chioseTag(tag)
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {' '}
|
|
|
+ {tag.name}
|
|
|
+ </div>
|
|
|
+ ) : (
|
|
|
+ <span
|
|
|
+ onClick={() => {
|
|
|
+ chioseTag(tag)
|
|
|
+ }}
|
|
|
+ class={classes.tagText}
|
|
|
+ >
|
|
|
+ {tag.name}
|
|
|
+ </span>
|
|
|
+ )
|
|
|
)
|
|
|
})}
|
|
|
</div>
|
|
@@ -228,7 +260,9 @@ export default defineComponent({
|
|
|
)
|
|
|
})}
|
|
|
</div>
|
|
|
- <div class={classes.submitBtn} onClick={searchSubmit}>搜索</div>
|
|
|
+ {/* <div class={classes.submitBtn} onClick={searchSubmit}>
|
|
|
+ 搜索
|
|
|
+ </div> */}
|
|
|
</div>
|
|
|
</div>
|
|
|
)}
|