|
@@ -13,7 +13,17 @@ 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 { httpAjaxErrMsg } from "@/plugin/httpAjax"
|
|
|
-import { queryPage2_gym, queryPage2_gyt, querySubjectIds_gym, querySubjectIds_gyt, queryTree_gym, queryTree_gyt } from "@/api/cloudPractice.api"
|
|
|
+import {
|
|
|
+ queryPage2_gym,
|
|
|
+ queryPage2_gyt,
|
|
|
+ queryPage2_klx,
|
|
|
+ querySubjectIds_gym,
|
|
|
+ querySubjectIds_gyt,
|
|
|
+ querySubjectIds_klx,
|
|
|
+ queryTree_gym,
|
|
|
+ queryTree_gyt,
|
|
|
+ queryTree_klx
|
|
|
+} from "@/api/cloudPractice.api"
|
|
|
// import { getToken } from "@/libs/auth"
|
|
|
// import { URL_TEACH_GYM } from "@/config"
|
|
|
import axios from "axios"
|
|
@@ -71,19 +81,33 @@ export default defineComponent({
|
|
|
const activeItem = computed(() => {
|
|
|
const list = state.list[state.listActive] || {}
|
|
|
const mp3 = {
|
|
|
- GYT: "",
|
|
|
+ GYT: list?.audioFileUrl,
|
|
|
GYM: list?.musicSheetType === "CONCERT" ? list?.metronomeUrl : list?.metronomeMp3Url || list?.mp3Url,
|
|
|
KLX: ""
|
|
|
}
|
|
|
|
|
|
- return {
|
|
|
- id: list?.id,
|
|
|
- name: list?.name,
|
|
|
- background: list?.background,
|
|
|
- xmlUrl: list?.xmlUrl,
|
|
|
- musicSheetType: list?.musicSheetType,
|
|
|
- audioFileUrl: mp3[userStoreHook.roles!]
|
|
|
+ let tempList: any = {}
|
|
|
+
|
|
|
+ if (userStoreHook.roles === "GYM") {
|
|
|
+ tempList = {
|
|
|
+ id: list?.id,
|
|
|
+ name: list?.name,
|
|
|
+ background: list?.background,
|
|
|
+ xmlUrl: list?.xmlUrl,
|
|
|
+ musicSheetType: list?.musicSheetType,
|
|
|
+ audioFileUrl: mp3[userStoreHook.roles!]
|
|
|
+ }
|
|
|
+ } else if (userStoreHook.roles === "GYT") {
|
|
|
+ tempList = {
|
|
|
+ id: list?.id,
|
|
|
+ name: list?.musicSheetName,
|
|
|
+ background: list?.background,
|
|
|
+ xmlUrl: list?.xmlFileUrl,
|
|
|
+ musicSheetType: list?.musicSheetType,
|
|
|
+ audioFileUrl: mp3[userStoreHook.roles!]
|
|
|
+ }
|
|
|
}
|
|
|
+ return tempList
|
|
|
})
|
|
|
|
|
|
const songPrevNextStatus = computed(() => {
|
|
@@ -185,7 +209,12 @@ export default defineComponent({
|
|
|
/** 管乐团数据查询 */
|
|
|
const handleSearchList_gyt = async () => {
|
|
|
loading.value = true
|
|
|
- await httpAjaxErrMsg(queryTree_gyt).then(res => {
|
|
|
+ await httpAjaxErrMsg(queryTree_gyt, {
|
|
|
+ enable: true,
|
|
|
+ page: 1,
|
|
|
+ parentId: 0,
|
|
|
+ rows: 10
|
|
|
+ }).then(res => {
|
|
|
loading.value = false
|
|
|
if (res.code === 200) {
|
|
|
storeData.value = res.data || []
|
|
@@ -217,6 +246,17 @@ export default defineComponent({
|
|
|
label: "全部声部",
|
|
|
value: -1
|
|
|
})
|
|
|
+
|
|
|
+ const userSubjectId = userStoreHook.userInfo.subjectId
|
|
|
+ if (userSubjectId) {
|
|
|
+ const tempSubjectId = userSubjectId.split(",")[0]
|
|
|
+ state.subjectList.forEach((item: any) => {
|
|
|
+ // 判断是否存在声部编号
|
|
|
+ if (item.value === Number(tempSubjectId)) {
|
|
|
+ state.subjectId = Number(tempSubjectId)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -229,13 +269,14 @@ export default defineComponent({
|
|
|
musicSubject: state.subjectId === -1 ? null : state.subjectId,
|
|
|
musicSheetCategoriesId: state.typeId === -1 ? state.levelId : state.typeId,
|
|
|
keyword: state.queryStr,
|
|
|
+ detailFlag: true,
|
|
|
status: 1
|
|
|
}
|
|
|
console.log(state.typeId, state.levelId, "level")
|
|
|
await httpAjaxErrMsg(queryPage2_gyt, params).then(res => {
|
|
|
loading.value = false
|
|
|
if (res.code === 200) {
|
|
|
- const result = res.data || []
|
|
|
+ const result = res.data || {}
|
|
|
|
|
|
if (state.reshing) {
|
|
|
state.list = []
|
|
@@ -243,8 +284,100 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
if (Array.isArray(result.rows)) {
|
|
|
+ result.rows.forEach((item: any) => {
|
|
|
+ item.name = item.musicSheetName
|
|
|
+ })
|
|
|
state.list = [...state.list, ...result.rows]
|
|
|
- state.finshed = state.page >= result.totalPage
|
|
|
+ state.finshed = state.page >= result.pages
|
|
|
+ } else {
|
|
|
+ state.finshed = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 酷乐秀机构数据查询 */
|
|
|
+ const handleSearchList_klx = async () => {
|
|
|
+ loading.value = true
|
|
|
+ await httpAjaxErrMsg(queryTree_klx, {
|
|
|
+ enable: true,
|
|
|
+ page: 1,
|
|
|
+ parentId: 0,
|
|
|
+ rows: 10
|
|
|
+ }).then(res => {
|
|
|
+ loading.value = false
|
|
|
+ if (res.code === 200) {
|
|
|
+ state.categoryList = res.data || []
|
|
|
+
|
|
|
+ setDefaultData()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleGetSubject_klx = async () => {
|
|
|
+ loading.value = true
|
|
|
+ await httpAjaxErrMsg(querySubjectIds_klx, {
|
|
|
+ queryType: "list",
|
|
|
+ page: 1,
|
|
|
+ rows: 100
|
|
|
+ }).then(res => {
|
|
|
+ loading.value = false
|
|
|
+ if (res.code === 200) {
|
|
|
+ const result = res.data?.rows || []
|
|
|
+ console.log(res, "res")
|
|
|
+ state.subjectList = result.map((item: any) => {
|
|
|
+ return {
|
|
|
+ label: item.name,
|
|
|
+ value: item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ state.subjectList.unshift({
|
|
|
+ label: "全部声部",
|
|
|
+ value: -1
|
|
|
+ })
|
|
|
+
|
|
|
+ const userSubjectId = userStoreHook.userInfo.subjectId
|
|
|
+ if (userSubjectId) {
|
|
|
+ const tempSubjectId = userSubjectId.split(",")[0]
|
|
|
+ state.subjectList.forEach((item: any) => {
|
|
|
+ // 判断是否存在声部编号
|
|
|
+ if (item.value === Number(tempSubjectId)) {
|
|
|
+ state.subjectId = Number(tempSubjectId)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleGetList_klx = async () => {
|
|
|
+ loading.value = true
|
|
|
+ const params = {
|
|
|
+ page: state.page,
|
|
|
+ rows: state.rows,
|
|
|
+ musicSubject: state.subjectId === -1 ? null : state.subjectId,
|
|
|
+ musicSheetCategoriesId: state.typeId === -1 ? state.levelId : state.typeId,
|
|
|
+ keyword: state.queryStr,
|
|
|
+ status: 1
|
|
|
+ }
|
|
|
+ console.log(state.typeId, state.levelId, "level")
|
|
|
+ await httpAjaxErrMsg(queryPage2_klx, params).then(res => {
|
|
|
+ loading.value = false
|
|
|
+ if (res.code === 200) {
|
|
|
+ const result = res.data || {}
|
|
|
+
|
|
|
+ if (state.reshing) {
|
|
|
+ state.list = []
|
|
|
+ state.reshing = false
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Array.isArray(result.rows)) {
|
|
|
+ result.rows.forEach((item: any) => {
|
|
|
+ item.name = item.musicSheetName
|
|
|
+ })
|
|
|
+ state.list = [...state.list, ...result.rows]
|
|
|
+ state.finshed = state.page >= result.pages
|
|
|
} else {
|
|
|
state.finshed = true
|
|
|
}
|
|
@@ -260,7 +393,7 @@ export default defineComponent({
|
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
|
await handleSearchList_gyt()
|
|
|
} else if (userStoreHook.roles === "KLX") {
|
|
|
- //
|
|
|
+ await handleSearchList_klx()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -271,7 +404,7 @@ export default defineComponent({
|
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
|
await handleGetSubject_gyt()
|
|
|
} else if (userStoreHook.roles === "KLX") {
|
|
|
- //
|
|
|
+ await handleGetSubject_klx()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -282,12 +415,22 @@ export default defineComponent({
|
|
|
} else if (userStoreHook.roles === "GYT") {
|
|
|
await handleGetList_gyt()
|
|
|
} else if (userStoreHook.roles === "KLX") {
|
|
|
- //
|
|
|
+ await handleGetList_klx()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/** 初始化数据 */
|
|
|
const setDefaultData = (type?: "first" | "category" | "level" | "type") => {
|
|
|
+ if (userStoreHook.roles === "GYM") {
|
|
|
+ initCategories_gym(type)
|
|
|
+ } else if (userStoreHook.roles === "GYT") {
|
|
|
+ initCategories_gyt(type)
|
|
|
+ } else if (userStoreHook.roles === "KLX") {
|
|
|
+ initCategories_klx(type)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ const initCategories_gym = (type?: "first" | "category" | "level" | "type") => {
|
|
|
if (storeData.value.length > 0 && !["category", "level", "type"].includes(type as any)) {
|
|
|
let result: any = []
|
|
|
if (type === "first" && state.firstTreeId) {
|
|
@@ -345,6 +488,87 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ const initCategories_gyt = (type?: "first" | "category" | "level" | "type") => {
|
|
|
+ if (storeData.value.length > 0 && !["level", "type"].includes(type as any)) {
|
|
|
+ let result: any = []
|
|
|
+ if (type === "first" && state.firstTreeId) {
|
|
|
+ result = storeData.value.find((item: any) => item.id === state.firstTreeId)?.musicSheetCategoriesList || []
|
|
|
+ } else {
|
|
|
+ state.firstTreeId = storeData.value[0]?.id
|
|
|
+ result = storeData.value[0]?.musicSheetCategoriesList || []
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(result, "result -----")
|
|
|
+ state.levelList = result.map((item: any) => {
|
|
|
+ return {
|
|
|
+ label: item.name,
|
|
|
+ value: item.id,
|
|
|
+ musicSheetCategoriesList: item.musicSheetCategoriesList || []
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ if (state.levelList.length > 0) {
|
|
|
+ let result: any = []
|
|
|
+ if (type === "level" && state.levelId) {
|
|
|
+ result = state.levelList.find((item: any) => item.value === state.levelId)?.musicSheetCategoriesList
|
|
|
+ } else {
|
|
|
+ state.levelId = state.levelList[0]?.value
|
|
|
+ result = state.levelList[0]?.musicSheetCategoriesList || []
|
|
|
+ }
|
|
|
+
|
|
|
+ state.typeList = result.map((item: any) => {
|
|
|
+ return {
|
|
|
+ label: item.name,
|
|
|
+ value: item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ state.typeList.unshift({
|
|
|
+ label: "全部",
|
|
|
+ value: -1
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ const initCategories_klx = (type?: "first" | "category" | "level" | "type") => {
|
|
|
+ if (state.categoryList.length > 0 && !["level", "type"].includes(type as any)) {
|
|
|
+ let result: any = []
|
|
|
+ if (type === "category" && state.categoryId) {
|
|
|
+ result = state.categoryList.find((item: any) => item.id === state.categoryId)?.musicSheetCategoriesList || []
|
|
|
+ } else {
|
|
|
+ state.categoryId = state.categoryList[0]?.id
|
|
|
+ result = state.categoryList[0]?.musicSheetCategoriesList || []
|
|
|
+ }
|
|
|
+ console.log(result, "result -----")
|
|
|
+ state.levelList = result.map((item: any) => {
|
|
|
+ return {
|
|
|
+ label: item.name,
|
|
|
+ value: item.id,
|
|
|
+ musicSheetCategoriesList: item.musicSheetCategoriesList || []
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // if (state.levelList.length > 0) {
|
|
|
+ // let result: any = []
|
|
|
+ // if (type === "level" && state.levelId) {
|
|
|
+ // result = state.levelList.find((item: any) => item.value === state.levelId)?.musicSheetCategoriesList
|
|
|
+ // } else {
|
|
|
+ // state.levelId = state.levelList[0]?.value
|
|
|
+ // result = state.levelList[0]?.musicSheetCategoriesList || []
|
|
|
+ // }
|
|
|
+ // state.typeList = result.map((item: any) => {
|
|
|
+ // return {
|
|
|
+ // label: item.name,
|
|
|
+ // value: item.id
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // state.typeList.unshift({
|
|
|
+ // label: "全部",
|
|
|
+ // value: -1
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ }
|
|
|
+
|
|
|
const __init = async () => {
|
|
|
await handleAllSearchList()
|
|
|
await handleAllGetSubject()
|