|
@@ -2,10 +2,11 @@ import Pagination from '@/components/pagination'
|
|
|
import SaveForm from '@/components/save-form'
|
|
|
import { musicSheetPage, musicTagPage } from '@/views/content-manage/api'
|
|
|
import {subjectPage} from '@/views/system-manage/api'
|
|
|
-import { NButton, NImage, NSpace, NTag, NDataTable, NFormItem, NInput, NSelect } from 'naive-ui'
|
|
|
+import {NButton, NImage, NSpace, NTag, NDataTable, NFormItem, NInput, NSelect, NCascader} from 'naive-ui'
|
|
|
import { defineComponent, onMounted, reactive, ref } from 'vue'
|
|
|
import { accompanimentTypeArray, audioTypeArray } from '@/utils/searchArray'
|
|
|
import styles from './index.module.less'
|
|
|
+import {musicSheetCategoriesQueryTree} from "@views/music-library/api";
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'selectMusicSheet',
|
|
@@ -20,16 +21,16 @@ export default defineComponent({
|
|
|
},
|
|
|
searchForm: {
|
|
|
keyword: null,
|
|
|
- musicTag: null,
|
|
|
- musicSubject: null,
|
|
|
- audioType: null,
|
|
|
- accompanimentType: null,
|
|
|
+ musicCategoryId: null,
|
|
|
+ subjectId: null,
|
|
|
+ // playMode: null,
|
|
|
+ // accompanimentType: null,
|
|
|
status: null,
|
|
|
topFlag: null
|
|
|
},
|
|
|
dataList: [] as any,
|
|
|
subjectList: [] as any,
|
|
|
- tagList: [] as any,
|
|
|
+ musicSheetCategories: [] as any,
|
|
|
visiableMusic: false,
|
|
|
musicOperation: 'add',
|
|
|
musicData: {} as any
|
|
@@ -41,55 +42,55 @@ export default defineComponent({
|
|
|
title: '曲目名称',
|
|
|
key: 'id',
|
|
|
render(row: any) {
|
|
|
- return `${row.musicSheetName}(${row.id})`
|
|
|
+ return `${row.name}(${row.id})`
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
title: '曲目封面',
|
|
|
- key: 'titleImg',
|
|
|
+ key: 'musicCover',
|
|
|
render(row: any) {
|
|
|
- return <NImage width={35} height={35} src={row.titleImg} />
|
|
|
+ return <NImage width={35} height={35} src={row.musicCover} />
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
title: '分类',
|
|
|
- key: 'musicSheetCategoriesName'
|
|
|
+ key: 'musicCategoryName'
|
|
|
},
|
|
|
{
|
|
|
title: '伴奏类型',
|
|
|
- key: 'accompanimentType',
|
|
|
+ key: 'audioType',
|
|
|
render(row: any) {
|
|
|
- return row.accompanimentType === 'HOMEMODE' ? '自制伴奏' : '普通伴奏'
|
|
|
+ return row.audioType === 'HOMEMODE' ? '自制伴奏' : '普通伴奏'
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
title: '可用声部',
|
|
|
- key: 'musicSubject',
|
|
|
+ key: 'subjectNames',
|
|
|
render(row: any) {
|
|
|
- return <NTag type="primary">{row.musicSubject}</NTag>
|
|
|
+ return <NTag type="primary">{row.subjectNames}</NTag>
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
title: '播放类型',
|
|
|
- key: 'audioType',
|
|
|
+ key: 'playMode',
|
|
|
render(row: any) {
|
|
|
return (
|
|
|
<>
|
|
|
- {row.audioType === 'MP3' && <NTag type="primary">MP3</NTag>}
|
|
|
- {row.audioType === 'MIDI' && <NTag type="default">MIDI</NTag>}
|
|
|
+ {row.playMode === 'MP3' && <NTag type="primary">MP3</NTag>}
|
|
|
+ {row.playMode === 'MIDI' && <NTag type="default">MIDI</NTag>}
|
|
|
</>
|
|
|
)
|
|
|
}
|
|
|
},
|
|
|
- {
|
|
|
- title: '能否转简谱',
|
|
|
- key: 'notation',
|
|
|
- render(row: any) {
|
|
|
- return (
|
|
|
- <NTag type={row.notation ? 'primary' : 'default'}>{row.notation ? '是' : '否'}</NTag>
|
|
|
- )
|
|
|
- }
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // title: '能否转简谱',
|
|
|
+ // key: 'notation',
|
|
|
+ // render(row: any) {
|
|
|
+ // return (
|
|
|
+ // <NTag type={row.notation ? 'primary' : 'default'}>{row.notation ? '是' : '否'}</NTag>
|
|
|
+ // )
|
|
|
+ // }
|
|
|
+ // },
|
|
|
// {
|
|
|
// title: '排序',
|
|
|
// key: 'sortNumber'
|
|
@@ -130,14 +131,9 @@ export default defineComponent({
|
|
|
// 获取标签
|
|
|
const getTagList = async () => {
|
|
|
try {
|
|
|
- const { data } = await musicTagPage({ page: 1, rows: 999 })
|
|
|
- const tempList = data.rows || []
|
|
|
- tempList.forEach((item: any) => {
|
|
|
- item.label = item.name
|
|
|
- item.value = item.id
|
|
|
- })
|
|
|
- state.tagList = tempList
|
|
|
- } catch {}
|
|
|
+ const { data } = await musicSheetCategoriesQueryTree({})
|
|
|
+ state.musicSheetCategories = data || []
|
|
|
+ } catch (e) {}
|
|
|
}
|
|
|
|
|
|
// 获取声部
|
|
@@ -187,38 +183,41 @@ export default defineComponent({
|
|
|
clearable
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
- <NFormItem label="标签" path="musicTag">
|
|
|
- <NSelect
|
|
|
- placeholder="请选择标签"
|
|
|
- v-model:value={state.searchForm.musicTag}
|
|
|
- options={state.tagList}
|
|
|
- clearable
|
|
|
+ <NFormItem label="曲目分类" path="musicCategoryId">
|
|
|
+ <NCascader
|
|
|
+ valueField="id"
|
|
|
+ labelField="name"
|
|
|
+ children-field="musicSheetCategoriesList"
|
|
|
+ placeholder="请选择曲目分类"
|
|
|
+ v-model:value={state.searchForm.musicCategoryId}
|
|
|
+ options={state.musicSheetCategories}
|
|
|
+ clearable
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
<NFormItem label="声部" path="musicSubject">
|
|
|
<NSelect
|
|
|
placeholder="请选择声部"
|
|
|
- v-model:value={state.searchForm.musicSubject}
|
|
|
+ v-model:value={state.searchForm.subjectId}
|
|
|
options={state.subjectList}
|
|
|
clearable
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
- <NFormItem label="播放类型" path="audioType">
|
|
|
- <NSelect
|
|
|
- placeholder="请选择播放类型"
|
|
|
- v-model:value={state.searchForm.audioType}
|
|
|
- options={audioTypeArray}
|
|
|
- clearable
|
|
|
- />
|
|
|
- </NFormItem>
|
|
|
- <NFormItem label="伴奏类型" path="accompanimentType">
|
|
|
- <NSelect
|
|
|
- placeholder="请选择伴奏类型"
|
|
|
- v-model:value={state.searchForm.accompanimentType}
|
|
|
- options={accompanimentTypeArray}
|
|
|
- clearable
|
|
|
- />
|
|
|
- </NFormItem>
|
|
|
+ {/*<NFormItem label="播放类型" path="playMode">*/}
|
|
|
+ {/* <NSelect*/}
|
|
|
+ {/* placeholder="请选择播放类型"*/}
|
|
|
+ {/* v-model:value={state.searchForm.playMode}*/}
|
|
|
+ {/* options={audioTypeArray}*/}
|
|
|
+ {/* clearable*/}
|
|
|
+ {/* />*/}
|
|
|
+ {/*</NFormItem>*/}
|
|
|
+ {/*<NFormItem label="伴奏类型" path="accompanimentType">*/}
|
|
|
+ {/* <NSelect*/}
|
|
|
+ {/* placeholder="请选择伴奏类型"*/}
|
|
|
+ {/* v-model:value={state.searchForm.accompanimentType}*/}
|
|
|
+ {/* options={accompanimentTypeArray}*/}
|
|
|
+ {/* clearable*/}
|
|
|
+ {/* />*/}
|
|
|
+ {/*</NFormItem>*/}
|
|
|
<NFormItem>
|
|
|
<NSpace>
|
|
|
<NButton type="primary" onClick={onSearch}>
|