|
@@ -37,6 +37,7 @@ import MusicSheetOwnerDialog from '@views/music-library/music-sheet/modal/musicS
|
|
|
import {sysApplicationPage} from '@views/menu-manage/api'
|
|
|
import {filterPointCategory} from '@views/teaching-manage/unit-test'
|
|
|
import MusicCreateImg from './music-create-img'
|
|
|
+import {TABS_ROUTES} from "@/store/mutation-types";
|
|
|
|
|
|
/**
|
|
|
* 获取指定元素下一个Note元素
|
|
@@ -371,6 +372,46 @@ export default defineComponent({
|
|
|
if (error) {
|
|
|
return
|
|
|
}
|
|
|
+ // 校验合奏时声轨与乐器是否存在不匹配情况
|
|
|
+ if (forms.musicSheetType == 'CONCERT') {
|
|
|
+ let set = [] as any;
|
|
|
+ const {data} = await musicalInstrumentPage({page: 1, rows: 9999})
|
|
|
+ data.rows.map((row: any) => {
|
|
|
+ if (row.code) {
|
|
|
+ row.code.split(',').forEach((code: string) => {
|
|
|
+ let temp = code.replaceAll(' ', '')
|
|
|
+ set.push(temp.toLocaleLowerCase())
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let unDefinedTrack = [] as any
|
|
|
+ forms.multiTracksSelection.forEach((item: any) => {
|
|
|
+ if (item) {
|
|
|
+ let contain = false;
|
|
|
+ let code = item.replaceAll(' ', '').toLocaleLowerCase()
|
|
|
+ for (let i = 0; i < set.length; i++) {
|
|
|
+ if (set[i].startsWith(code) || set[i].endsWith(code)) {
|
|
|
+ contain = true
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!contain) {
|
|
|
+ unDefinedTrack.push(item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (unDefinedTrack.length > 0) {
|
|
|
+ dialog.warning({
|
|
|
+ title: '提示',
|
|
|
+ content: `声轨未配置:${unDefinedTrack.join(',')}`,
|
|
|
+ positiveText: '确定',
|
|
|
+ onPositiveClick: () => {
|
|
|
+ },
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (!state.isAutoSave) {
|
|
|
state.isAutoSave = true
|
|
|
state.productOpen = true
|