|
@@ -40,6 +40,7 @@ export default defineComponent({
|
|
|
emits: ['close', 'select'],
|
|
|
setup(props, { emit }) {
|
|
|
const route = useRoute();
|
|
|
+ const initDone = ref(false);
|
|
|
const forms = reactive({
|
|
|
detailId: route.query.detailId,
|
|
|
loading: false,
|
|
@@ -48,7 +49,7 @@ export default defineComponent({
|
|
|
title: ' ',
|
|
|
playState: 'pause' as 'play' | 'pause',
|
|
|
showPlayer: false,
|
|
|
- listActive: null as any,
|
|
|
+ listActive: 0,
|
|
|
});
|
|
|
/** 选中的item */
|
|
|
const activeItem = computed(() => {
|
|
@@ -79,6 +80,7 @@ export default defineComponent({
|
|
|
|
|
|
/** 播放曲目 */
|
|
|
const handlePlay = (item: any) => {
|
|
|
+ if (!initDone.value) initDone.value = true
|
|
|
const index = forms.musicList.findIndex(
|
|
|
(_item: any) => _item.id === item.id
|
|
|
);
|
|
@@ -158,6 +160,7 @@ export default defineComponent({
|
|
|
text={forms.dataInfo.name}
|
|
|
color="#000"
|
|
|
class={styles.songName}
|
|
|
+ delay={1.5}
|
|
|
background="none"
|
|
|
/>
|
|
|
<div class={styles.songWords}>
|
|
@@ -175,7 +178,7 @@ export default defineComponent({
|
|
|
<img src={forms.dataInfo.avatar} />
|
|
|
<div class={styles.insName}>{forms.dataInfo.name || ''}</div>
|
|
|
<div class={styles.insTro}>
|
|
|
- {forms.dataInfo.knowledgeWikiCategoryName || ''}
|
|
|
+ {forms.dataInfo.knowledgeWikiCategories?.[0]?.knowledgeWikiCategoryTypeName || ''}
|
|
|
</div>
|
|
|
</div>
|
|
|
)}
|
|
@@ -184,13 +187,13 @@ export default defineComponent({
|
|
|
<img class={styles.musician} src={forms.dataInfo.avatar} />
|
|
|
<div class={styles.insName}>{forms.dataInfo.name || ''}</div>
|
|
|
<div class={styles.insTro}>
|
|
|
- {forms.dataInfo.knowledgeWikiCategoryName || ''}
|
|
|
+ {forms.dataInfo.knowledgeWikiCategories?.[0]?.knowledgeWikiCategoryTypeName || ''}
|
|
|
</div>
|
|
|
</div>
|
|
|
)}
|
|
|
<div class={styles.songColumn}>
|
|
|
<img src={songIcon} />
|
|
|
- <span>{props.type === 'instrument' ? '名曲鉴赏' : '代表作'}</span>
|
|
|
+ <span>{props.type === 'wiki' ? '名曲鉴赏' : '代表作'}</span>
|
|
|
</div>
|
|
|
<div class={styles.insList}>
|
|
|
{forms.musicList.length ? (
|
|
@@ -198,27 +201,23 @@ export default defineComponent({
|
|
|
{forms.musicList.map((item: any, index: number) => {
|
|
|
return (
|
|
|
<div
|
|
|
- class={[styles.li, forms.listActive === index ? styles.liActive : '']}
|
|
|
+ class={[styles.li, initDone.value && forms.listActive === index ? styles.liActive : '']}
|
|
|
onClick={(e: Event) => {
|
|
|
e.stopPropagation();
|
|
|
handlePlay(item);
|
|
|
}}>
|
|
|
<div class={styles.liBg}>
|
|
|
<img src={musicBg} />
|
|
|
- <PlayLoading
|
|
|
- class={[
|
|
|
- forms.listActive === index &&
|
|
|
- forms.playState === 'play'
|
|
|
- ? ''
|
|
|
- : styles.hidePlayLoading
|
|
|
- ]}
|
|
|
- />
|
|
|
+ <div class={[forms.listActive === index && forms.playState === 'play' ? styles.playingIcon : styles.hidePlayLoading]}>
|
|
|
+ <PlayLoading />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
{/* <div class={styles.liName}>{item.name || '--'}</div> */}
|
|
|
<NoticeBar
|
|
|
text={item.name}
|
|
|
color="#131415"
|
|
|
class={styles.liName}
|
|
|
+ delay={1.5}
|
|
|
background="none"
|
|
|
/>
|
|
|
{/* <img
|
|
@@ -249,9 +248,9 @@ export default defineComponent({
|
|
|
src={props.type === 'musician' ? titleIcon2 : titleIcon1}
|
|
|
/>
|
|
|
{props.type === 'wiki'
|
|
|
- ? '乐器简介'
|
|
|
- : props.type === 'instrument'
|
|
|
? '名曲故事'
|
|
|
+ : props.type === 'instrument'
|
|
|
+ ? '乐器简介'
|
|
|
: props.type === 'musician'
|
|
|
? '个人简介'
|
|
|
: ''}
|