|
@@ -12,7 +12,7 @@ import iconBtnPlay from "../../img/cloudPractice/icon-btn-play.png"
|
|
|
import btnSubmit from "../../img/cloudPractice/btn-submit.png"
|
|
|
import iconTransfer from "../../img/cloudPractice/icon-transfer.png"
|
|
|
import iconDownload from "../../img/cloudPractice/icon-download.png"
|
|
|
-import { httpAjaxErrMsg } from "@/plugin/httpAjax"
|
|
|
+import { httpAjax, httpAjaxErrMsg } from "@/plugin/httpAjax"
|
|
|
import {
|
|
|
queryPage2_gym,
|
|
|
queryPage2_gyt,
|
|
@@ -23,7 +23,8 @@ import {
|
|
|
queryTree_gym,
|
|
|
queryTree_gyt,
|
|
|
queryTree_klx,
|
|
|
- selectCondition_klx
|
|
|
+ selectCondition_klx,
|
|
|
+ cbsDetail_gym
|
|
|
} from "@/api/cloudPractice.api"
|
|
|
import axios from "axios"
|
|
|
import { getInstrumentName } from "@/libs/instruments"
|
|
@@ -190,7 +191,8 @@ export default defineComponent({
|
|
|
state.subjectList = result.map((item: any) => {
|
|
|
return {
|
|
|
label: item.name,
|
|
|
- value: item.id
|
|
|
+ value: item.id,
|
|
|
+ instrumentIds: item.instrumentIds
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -276,7 +278,8 @@ export default defineComponent({
|
|
|
state.subjectList = result.map((item: any) => {
|
|
|
return {
|
|
|
label: item.name,
|
|
|
- value: item.id
|
|
|
+ value: item.id,
|
|
|
+ instrumentIds: item.instrumentIds
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -402,7 +405,8 @@ export default defineComponent({
|
|
|
state.subjectList = result.map((item: any) => {
|
|
|
return {
|
|
|
label: item.name,
|
|
|
- value: item.id
|
|
|
+ value: item.id,
|
|
|
+ instrumentIds: item.instrumentIds
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -795,10 +799,36 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const defaultShowStaff = partColumns.value.find((item: any) => item.value === state.selectedPartIndex)
|
|
|
+ // gym 现在单独处理 管乐迷根据查询条件来筛选谱面
|
|
|
+ let defaultShowStaff
|
|
|
+ if (userStoreHook.roles === "GYM") {
|
|
|
+ // 这里筛选当前的声轨
|
|
|
+ const soundCodes = await filterSoundCodes()
|
|
|
+ if (soundCodes) {
|
|
|
+ const soundCodesArr = soundCodes.split(",").map((code: string) => {
|
|
|
+ return code
|
|
|
+ .toLowerCase()
|
|
|
+ .replace(/^\d+|\d+$/g, "")
|
|
|
+ .trim()
|
|
|
+ })
|
|
|
+ defaultShowStaff = partColumns.value.find((item: any) =>
|
|
|
+ soundCodesArr.includes(
|
|
|
+ item.track &&
|
|
|
+ item.track
|
|
|
+ .toLowerCase()
|
|
|
+ .replace(/^\d+|\d+$/g, "")
|
|
|
+ .trim()
|
|
|
+ )
|
|
|
+ )
|
|
|
+ }
|
|
|
+ defaultShowStaff || (defaultShowStaff = partColumns.value.find((item: any) => item.value === state.selectedPartIndex))
|
|
|
+ } else {
|
|
|
+ defaultShowStaff = partColumns.value.find((item: any) => item.value === state.selectedPartIndex)
|
|
|
+ }
|
|
|
state.selectedPartName = defaultShowStaff?.instrumentName
|
|
|
state.selectedTrack = defaultShowStaff?.track
|
|
|
state.partXmlIndex = defaultShowStaff?.xmlIndex
|
|
|
+ state.selectedPartIndex = defaultShowStaff?.value
|
|
|
if (row.isScoreRender && row.defaultScoreRender) {
|
|
|
state.musicPdfUrl = row?.musicPdfUrl || ""
|
|
|
} else {
|
|
@@ -1002,6 +1032,35 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 根据当前选中的声部和曲目筛选出对应的声轨
|
|
|
+ async function filterSoundCodes() {
|
|
|
+ const { instrumentIds } =
|
|
|
+ state.subjectList.find((item: any) => {
|
|
|
+ return item.value === state.subjectId
|
|
|
+ }) || {}
|
|
|
+ if (instrumentIds) {
|
|
|
+ const { id } = state.list[state.listActive] || {}
|
|
|
+ // GYM,GYT,KLX 区分 查询声部数据
|
|
|
+ let cbsDetails: any = []
|
|
|
+ if (userStoreHook.roles === "GYM") {
|
|
|
+ const resData = await httpAjax(cbsDetail_gym, id)
|
|
|
+ if (resData.code === 200) {
|
|
|
+ cbsDetails = resData.data.musicalInstruments
|
|
|
+ }
|
|
|
+ } else if (userStoreHook.roles === "GYT") {
|
|
|
+ //
|
|
|
+ } else if (userStoreHook.roles === "KLX") {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ const { code } =
|
|
|
+ cbsDetails.find((item: any) => {
|
|
|
+ return instrumentIds == item.id
|
|
|
+ }) || {}
|
|
|
+ return code
|
|
|
+ }
|
|
|
+ return undefined
|
|
|
+ }
|
|
|
+
|
|
|
// 白板的批注打开时暂停播放
|
|
|
watch(
|
|
|
() => [whitePenShow.value, penShow.value],
|