|
@@ -12,7 +12,7 @@ import iconBtnPlay from "../../img/cloudPractice/icon-btn-play.png"
|
|
import btnSubmit from "../../img/cloudPractice/btn-submit.png"
|
|
import btnSubmit from "../../img/cloudPractice/btn-submit.png"
|
|
import iconTransfer from "../../img/cloudPractice/icon-transfer.png"
|
|
import iconTransfer from "../../img/cloudPractice/icon-transfer.png"
|
|
import iconDownload from "../../img/cloudPractice/icon-download.png"
|
|
import iconDownload from "../../img/cloudPractice/icon-download.png"
|
|
-import { httpAjax, httpAjaxErrMsg } from "@/plugin/httpAjax"
|
|
|
|
|
|
+import { httpAjaxErrMsg } from "@/plugin/httpAjax"
|
|
import {
|
|
import {
|
|
queryPage2_gym,
|
|
queryPage2_gym,
|
|
queryPage2_gyt,
|
|
queryPage2_gyt,
|
|
@@ -35,7 +35,7 @@ import PlayLoading from "./component/play-loading"
|
|
import PracticeForm from "@/businessComponents/practiceForm"
|
|
import PracticeForm from "@/businessComponents/practiceForm"
|
|
import { saveAs } from "file-saver"
|
|
import { saveAs } from "file-saver"
|
|
import JSZip from "jszip"
|
|
import JSZip from "jszip"
|
|
-import { canvasAddTitle, imgToCanvas, svgtoblob } from "./formatSvgToImg"
|
|
|
|
|
|
+import { svgtoblob } from "./formatSvgToImg"
|
|
import { penShow, whitePenShow } from "@/businessComponents/globalTools/globalTools"
|
|
import { penShow, whitePenShow } from "@/businessComponents/globalTools/globalTools"
|
|
import { handleFullscreen } from "@/libs/fullscreen"
|
|
import { handleFullscreen } from "@/libs/fullscreen"
|
|
|
|
|
|
@@ -59,6 +59,7 @@ export default defineComponent({
|
|
reshing: false,
|
|
reshing: false,
|
|
page: 1,
|
|
page: 1,
|
|
rows: 20,
|
|
rows: 20,
|
|
|
|
+ details: {} as any,
|
|
iframeSrc: "",
|
|
iframeSrc: "",
|
|
listActive: 0, // 当前选中的对象
|
|
listActive: 0, // 当前选中的对象
|
|
firstTreeId: null as any, // 左侧
|
|
firstTreeId: null as any, // 左侧
|
|
@@ -94,22 +95,22 @@ export default defineComponent({
|
|
let tempList: any = {}
|
|
let tempList: any = {}
|
|
|
|
|
|
if (userStoreHook.roles === "GYM") {
|
|
if (userStoreHook.roles === "GYM") {
|
|
- const item = list.background?.[0]
|
|
|
|
- const audioFileUrl = item?.musicSheetType === "CONCERT" ? item?.metronomeUrl : item?.metronomeMp3Url || item?.mp3Url
|
|
|
|
|
|
+ // const item = list.background?.[0]
|
|
|
|
+ // const audioFileUrl = item?.musicSheetType === "CONCERT" ? item?.metronomeUrl : item?.metronomeMp3Url || item?.mp3Url
|
|
tempList = {
|
|
tempList = {
|
|
- id: item?.id,
|
|
|
|
- name: item?.examSongName,
|
|
|
|
- background: list?.background,
|
|
|
|
- xmlUrl: item?.xmlUrl,
|
|
|
|
- musicSheetType: item?.musicSheetType,
|
|
|
|
- audioFileUrl,
|
|
|
|
- // titleImg: list?.titleImg,
|
|
|
|
- musicImg: list.musicImg,
|
|
|
|
- musicJianImg: list.musicJianSvg,
|
|
|
|
- musicFirstImg: list.musicFirstSvg,
|
|
|
|
- isScoreRender: item?.isScoreRender,
|
|
|
|
- defaultScoreRender: item?.defaultScoreRender,
|
|
|
|
- musicPdfUrl: item?.musicPdfUrl // 独奏使用PDF
|
|
|
|
|
|
+ id: list?.id,
|
|
|
|
+ name: list?.name,
|
|
|
|
+ // background: list?.background,
|
|
|
|
+ // xmlUrl: item?.xmlUrl,
|
|
|
|
+ // musicSheetType: item?.musicSheetType,
|
|
|
|
+ audioFileUrl: list.audioFileUrl,
|
|
|
|
+ titleImg: list?.titleImg
|
|
|
|
+ // musicImg: list.titleImg
|
|
|
|
+ // musicJianImg: list.musicJianSvg,
|
|
|
|
+ // musicFirstImg: list.musicFirstSvg,
|
|
|
|
+ // isScoreRender: item?.isScoreRender,
|
|
|
|
+ // defaultScoreRender: item?.defaultScoreRender,
|
|
|
|
+ // musicPdfUrl: item?.musicPdfUrl // 独奏使用PDF
|
|
}
|
|
}
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
tempList = {
|
|
tempList = {
|
|
@@ -246,6 +247,19 @@ export default defineComponent({
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ const handleGetDetail_gym = async () => {
|
|
|
|
+ loading.value = true
|
|
|
|
+ const { id } = state.list[state.listActive] || {}
|
|
|
|
+ if (!id) return
|
|
|
|
+ await httpAjaxErrMsg(cbsDetail_gym, id, { simpleFlag: "1" }).then(res => {
|
|
|
|
+ loading.value = false
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ const result = res.data || {}
|
|
|
|
+ state.details = result
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
/** 管乐团数据查询 */
|
|
/** 管乐团数据查询 */
|
|
const handleSearchList_gyt = async () => {
|
|
const handleSearchList_gyt = async () => {
|
|
loading.value = true
|
|
loading.value = true
|
|
@@ -550,6 +564,17 @@ export default defineComponent({
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ const handleGetDetail = async () => {
|
|
|
|
+ // GYM,GYT,KLX 区分 查询声部数据·
|
|
|
|
+ if (userStoreHook.roles === "GYM") {
|
|
|
|
+ await handleGetDetail_gym()
|
|
|
|
+ } else if (userStoreHook.roles === "GYT") {
|
|
|
|
+ // await handleGetList_gyt()
|
|
|
|
+ } else if (userStoreHook.roles === "KLX") {
|
|
|
|
+ // await handleGetList_klx()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/** 初始化数据 */
|
|
/** 初始化数据 */
|
|
const setDefaultData = async (type?: "first" | "category" | "level" | "type") => {
|
|
const setDefaultData = async (type?: "first" | "category" | "level" | "type") => {
|
|
if (userStoreHook.roles === "GYM") {
|
|
if (userStoreHook.roles === "GYM") {
|
|
@@ -600,7 +625,7 @@ export default defineComponent({
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
|
|
- await handleGetSubject_gym()
|
|
|
|
|
|
+ type && (await handleGetSubject_gym())
|
|
}
|
|
}
|
|
|
|
|
|
if (state.levelList.length > 0) {
|
|
if (state.levelList.length > 0) {
|
|
@@ -705,6 +730,7 @@ export default defineComponent({
|
|
await handleAllSearchList()
|
|
await handleAllSearchList()
|
|
await handleAllGetSubject()
|
|
await handleAllGetSubject()
|
|
await handleAllGetList()
|
|
await handleAllGetList()
|
|
|
|
+ await handleGetDetail() // 默认获取数据
|
|
await toDetail()
|
|
await toDetail()
|
|
renderStaff()
|
|
renderStaff()
|
|
}
|
|
}
|
|
@@ -726,6 +752,7 @@ export default defineComponent({
|
|
state.playState = "pause"
|
|
state.playState = "pause"
|
|
state.partNames = []
|
|
state.partNames = []
|
|
state.partList = []
|
|
state.partList = []
|
|
|
|
+ state.details = {}
|
|
state.selectedPartName = ""
|
|
state.selectedPartName = ""
|
|
state.selectedTrack = ""
|
|
state.selectedTrack = ""
|
|
state.selectedPartIndex = 0
|
|
state.selectedPartIndex = 0
|
|
@@ -739,25 +766,106 @@ export default defineComponent({
|
|
await handleAllGetList()
|
|
await handleAllGetList()
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ const toDetailGYM = async () => {
|
|
|
|
+ const row: any = activeItem.value
|
|
|
|
+ const details: any = state.details
|
|
|
|
+ state.imgs = []
|
|
|
|
+ if (details.musicSheetType === "SINGLE") {
|
|
|
|
+ loading.value = false
|
|
|
|
+ state.musicPdfUrl = details.musicPdfUrl
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // state.partNames = await getPartNames(row.xmlUrl)
|
|
|
|
+ let partList = details.musicSheetSoundList || []
|
|
|
|
+ partList = partList.filter((item: any) => item.audioPlayType === "PLAY")
|
|
|
|
+ partList = partList.filter((item: any) => !item.track?.toLocaleUpperCase()?.includes("COMMON"))
|
|
|
|
+ partColumns.value = partList.map((item: any, index: number) => {
|
|
|
|
+ const instrumentName = getInstrumentName(item.track)
|
|
|
|
+ // const xmlIndex = state.partNames.findIndex((name: any) => name.trim() === item.track)
|
|
|
|
+ return {
|
|
|
|
+ label: item.track + (instrumentName ? `(${instrumentName})` : ""),
|
|
|
|
+ instrumentName: instrumentName,
|
|
|
|
+ track: item.track,
|
|
|
|
+ musicPdfUrl: item.musicPdfUrl,
|
|
|
|
+ // xmlIndex: -1,
|
|
|
|
+ value: index
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ // 初始化数据
|
|
|
|
+ // 是否显示总谱
|
|
|
|
+ if (row.isScoreRender) {
|
|
|
|
+ partColumns.value.unshift({
|
|
|
|
+ label: "总谱",
|
|
|
|
+ instrumentName: null,
|
|
|
|
+ track: null,
|
|
|
|
+ musicPdfUrl: "",
|
|
|
|
+ xmlIndex: 999,
|
|
|
|
+ value: 999
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ if (row.defaultScoreRender) {
|
|
|
|
+ state.selectedPartIndex = 999
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ console.log(partColumns.value, "partColumns.value")
|
|
|
|
+ // gym 现在单独处理 管乐迷根据查询条件来筛选谱面
|
|
|
|
+ let defaultShowStaff
|
|
|
|
+ // 这里筛选当前的声轨
|
|
|
|
+ const soundCodes = 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))
|
|
|
|
+
|
|
|
|
+ state.selectedPartName = defaultShowStaff?.instrumentName
|
|
|
|
+ state.selectedTrack = defaultShowStaff?.track
|
|
|
|
+ state.partXmlIndex = defaultShowStaff?.xmlIndex
|
|
|
|
+ state.selectedPartIndex = defaultShowStaff?.value
|
|
|
|
+ if (details.isScoreRender && details.defaultScoreRender) {
|
|
|
|
+ state.musicPdfUrl = details?.musicPdfUrl || ""
|
|
|
|
+ } else {
|
|
|
|
+ state.musicPdfUrl = defaultShowStaff?.musicPdfUrl || ""
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
const toDetail = async () => {
|
|
const toDetail = async () => {
|
|
|
|
+ if (userStoreHook.roles === "GYM") {
|
|
|
|
+ await toDetailGYM()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
const row: any = activeItem.value
|
|
const row: any = activeItem.value
|
|
state.imgs = []
|
|
state.imgs = []
|
|
if (row.musicSheetType === "SINGLE") {
|
|
if (row.musicSheetType === "SINGLE") {
|
|
loading.value = false
|
|
loading.value = false
|
|
state.musicPdfUrl = row.musicPdfUrl
|
|
state.musicPdfUrl = row.musicPdfUrl
|
|
|
|
|
|
- if (userStoreHook.roles === "GYM") {
|
|
|
|
- const imgs = row.musicImg ? row.musicImg.split(",") : []
|
|
|
|
- imgs.forEach(async (item: string, index: number) => {
|
|
|
|
- const imgCanvas = await imgToCanvas(item)
|
|
|
|
- const img = await canvasAddTitle(imgCanvas, row.name)
|
|
|
|
- state.imgs.push({
|
|
|
|
- name: index + 1 + ".png",
|
|
|
|
- url: img
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- return
|
|
|
|
|
|
+ // if (userStoreHook.roles === "GYM") {
|
|
|
|
+ // const imgs = row.musicImg ? row.musicImg.split(",") : []
|
|
|
|
+ // imgs.forEach(async (item: string, index: number) => {
|
|
|
|
+ // const imgCanvas = await imgToCanvas(item)
|
|
|
|
+ // const img = await canvasAddTitle(imgCanvas, row.name)
|
|
|
|
+ // state.imgs.push({
|
|
|
|
+ // name: index + 1 + ".png",
|
|
|
|
+ // url: img
|
|
|
|
+ // })
|
|
|
|
+ // })
|
|
|
|
+ // }
|
|
}
|
|
}
|
|
state.partNames = await getPartNames(row.xmlUrl)
|
|
state.partNames = await getPartNames(row.xmlUrl)
|
|
let partList = row.background || []
|
|
let partList = row.background || []
|
|
@@ -800,31 +908,31 @@ export default defineComponent({
|
|
}
|
|
}
|
|
|
|
|
|
// gym 现在单独处理 管乐迷根据查询条件来筛选谱面
|
|
// 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)
|
|
|
|
- }
|
|
|
|
|
|
+ // 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 {
|
|
|
|
+ const defaultShowStaff = partColumns.value.find((item: any) => item.value === state.selectedPartIndex)
|
|
|
|
+ // }
|
|
state.selectedPartName = defaultShowStaff?.instrumentName
|
|
state.selectedPartName = defaultShowStaff?.instrumentName
|
|
state.selectedTrack = defaultShowStaff?.track
|
|
state.selectedTrack = defaultShowStaff?.track
|
|
state.partXmlIndex = defaultShowStaff?.xmlIndex
|
|
state.partXmlIndex = defaultShowStaff?.xmlIndex
|
|
@@ -865,7 +973,6 @@ export default defineComponent({
|
|
const res: any = await axios.get(activeItem.value.xmlUrl)
|
|
const res: any = await axios.get(activeItem.value.xmlUrl)
|
|
const parseXmlInfo = getCustomInfo(res.data)
|
|
const parseXmlInfo = getCustomInfo(res.data)
|
|
const xml = formatXML(parseXmlInfo.parsedXML)
|
|
const xml = formatXML(parseXmlInfo.parsedXML)
|
|
- console.log(activeItem.value, "activeItem.value")
|
|
|
|
if (activeItem.value.isScoreRender) {
|
|
if (activeItem.value.isScoreRender) {
|
|
const canSelectTracks: any = []
|
|
const canSelectTracks: any = []
|
|
const background = activeItem.value.background || []
|
|
const background = activeItem.value.background || []
|
|
@@ -882,7 +989,7 @@ export default defineComponent({
|
|
const resetRender = async () => {
|
|
const resetRender = async () => {
|
|
const iframeRef: any = document.getElementById("staffIframeRef")
|
|
const iframeRef: any = document.getElementById("staffIframeRef")
|
|
if (userStoreHook.roles === "GYM") {
|
|
if (userStoreHook.roles === "GYM") {
|
|
- iframeRef.contentWindow.location.replace(getPreViewCloud(activeItem.value.id, state.partXmlIndex))
|
|
|
|
|
|
+ iframeRef.contentWindow.location.replace(getPreViewCloud(activeItem.value.id, state.partXmlIndex, state.selectedTrack))
|
|
// state.iframeSrc = getPreViewCloud(activeItem.value.id, state.partXmlIndex)
|
|
// state.iframeSrc = getPreViewCloud(activeItem.value.id, state.partXmlIndex)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -910,7 +1017,7 @@ export default defineComponent({
|
|
// https://cdn.oss.dayaedu.com/daya202409/UODQffO.pdf
|
|
// https://cdn.oss.dayaedu.com/daya202409/UODQffO.pdf
|
|
} else {
|
|
} else {
|
|
if (userStoreHook.roles === "GYM") {
|
|
if (userStoreHook.roles === "GYM") {
|
|
- state.iframeSrc = getPreViewCloud(activeItem.value.id, state.partXmlIndex)
|
|
|
|
|
|
+ state.iframeSrc = getPreViewCloud(activeItem.value.id, state.partXmlIndex, state.selectedTrack)
|
|
} else {
|
|
} else {
|
|
state.iframeSrc = `/osmd/index.html`
|
|
state.iframeSrc = `/osmd/index.html`
|
|
}
|
|
}
|
|
@@ -967,7 +1074,8 @@ export default defineComponent({
|
|
if (e.data?.api === "musicStaffRender") {
|
|
if (e.data?.api === "musicStaffRender") {
|
|
const musicName =
|
|
const musicName =
|
|
activeItem.value.name +
|
|
activeItem.value.name +
|
|
- ((activeItem.value.musicSheetType === "CONCERT" && state.selectedPartName) || state.selectedTrack
|
|
|
|
|
|
+ (((activeItem.value.musicSheetType === "CONCERT" || state.details.musicSheetType === "CONCERT") && state.selectedPartName) ||
|
|
|
|
+ state.selectedTrack
|
|
? `(${state.selectedPartName || state.selectedTrack})`
|
|
? `(${state.selectedPartName || state.selectedTrack})`
|
|
: "")
|
|
: "")
|
|
try {
|
|
try {
|
|
@@ -1033,11 +1141,11 @@ export default defineComponent({
|
|
}
|
|
}
|
|
|
|
|
|
// 根据当前选中的声部和曲目筛选出对应的声轨
|
|
// 根据当前选中的声部和曲目筛选出对应的声轨
|
|
- async function filterSoundCodes() {
|
|
|
|
- const { id } = state.list[state.listActive] || {}
|
|
|
|
- if (!id) {
|
|
|
|
- return undefined
|
|
|
|
- }
|
|
|
|
|
|
+ function filterSoundCodes() {
|
|
|
|
+ // const { id } = state.list[state.listActive] || {}
|
|
|
|
+ // if (!id) {
|
|
|
|
+ // return undefined
|
|
|
|
+ // }
|
|
const { instrumentIds } =
|
|
const { instrumentIds } =
|
|
state.subjectList.find((item: any) => {
|
|
state.subjectList.find((item: any) => {
|
|
return item.value === state.subjectId
|
|
return item.value === state.subjectId
|
|
@@ -1046,10 +1154,7 @@ export default defineComponent({
|
|
// GYM,GYT,KLX 区分 查询声部数据
|
|
// GYM,GYT,KLX 区分 查询声部数据
|
|
let cbsDetails: any = []
|
|
let cbsDetails: any = []
|
|
if (userStoreHook.roles === "GYM") {
|
|
if (userStoreHook.roles === "GYM") {
|
|
- const resData = await httpAjax(cbsDetail_gym, id)
|
|
|
|
- if (resData.code === 200) {
|
|
|
|
- cbsDetails = resData.data.musicalInstruments
|
|
|
|
- }
|
|
|
|
|
|
+ cbsDetails = state.details.musicalInstruments || []
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
//
|
|
//
|
|
} else if (userStoreHook.roles === "KLX") {
|
|
} else if (userStoreHook.roles === "KLX") {
|
|
@@ -1101,6 +1206,7 @@ export default defineComponent({
|
|
state.firstTreeId = item.id
|
|
state.firstTreeId = item.id
|
|
await setDefaultData("first")
|
|
await setDefaultData("first")
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
@@ -1126,6 +1232,7 @@ export default defineComponent({
|
|
state.categoryId = item.value
|
|
state.categoryId = item.value
|
|
await setDefaultData("category")
|
|
await setDefaultData("category")
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}
|
|
}
|
|
}}
|
|
}}
|
|
@@ -1154,6 +1261,7 @@ export default defineComponent({
|
|
placeholder="全部声部"
|
|
placeholder="全部声部"
|
|
onChange={async () => {
|
|
onChange={async () => {
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
@@ -1169,6 +1277,7 @@ export default defineComponent({
|
|
onChange={async () => {
|
|
onChange={async () => {
|
|
setDefaultData("level")
|
|
setDefaultData("level")
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
@@ -1188,6 +1297,7 @@ export default defineComponent({
|
|
placeholder="分类"
|
|
placeholder="分类"
|
|
onChange={async () => {
|
|
onChange={async () => {
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
@@ -1207,11 +1317,13 @@ export default defineComponent({
|
|
onKeyup={async (e: any) => {
|
|
onKeyup={async (e: any) => {
|
|
if (e.code === "Enter" || e.key === "Enter") {
|
|
if (e.code === "Enter" || e.key === "Enter") {
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}
|
|
}
|
|
}}
|
|
}}
|
|
onHandleQuery={async () => {
|
|
onHandleQuery={async () => {
|
|
await handleGetList()
|
|
await handleGetList()
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}}
|
|
}}
|
|
clearable
|
|
clearable
|
|
@@ -1230,6 +1342,7 @@ export default defineComponent({
|
|
state.listActive = index
|
|
state.listActive = index
|
|
state.selectedPartIndex = 0
|
|
state.selectedPartIndex = 0
|
|
state.partXmlIndex = 0
|
|
state.partXmlIndex = 0
|
|
|
|
+ await handleGetDetail()
|
|
searchContent()
|
|
searchContent()
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
@@ -1371,7 +1484,9 @@ export default defineComponent({
|
|
}}
|
|
}}
|
|
</NTooltip>
|
|
</NTooltip>
|
|
</div>
|
|
</div>
|
|
- <div style={{ display: activeItem.value.musicSheetType === "CONCERT" ? "" : "none" }}>
|
|
|
|
|
|
+ <div
|
|
|
|
+ style={{ display: activeItem.value.musicSheetType === "CONCERT" || state.details.musicSheetType === "CONCERT" ? "" : "none" }}
|
|
|
|
+ >
|
|
<NPopselect
|
|
<NPopselect
|
|
options={partColumns.value}
|
|
options={partColumns.value}
|
|
placement="bottom-end"
|
|
placement="bottom-end"
|