1 |
- import{d as T,b as j,i as e,B as m,w as p,T as w,p as h,h as C,F as B,ak as M,be as q,ab as V,bf as A}from"./index.2557005b.js";import"./index.8d2bbd78.js";import{F as n}from"./index.633c65ff.js";import{S as P}from"./index.148eaba9.js";import{T as f}from"./index.6294c5aa.js";import{R as b,a as y}from"./index.96aa86f7.js";import"./index.b327a5f4.js";import"./index.a5c8fdfe.js";import{C as F,a as o}from"./index.bcf0ea57.js";import{S as v}from"./index.3c4d6676.js";import"./index.ba997053.js";import"./index.061c46ec.js";import"./index.0214317a.js";import{U as D}from"./index.1dbe6260.js";import{S as I}from"./select-tag.e19fc3bc.js";import{t as g}from"./teacherState.723d55e0.js";import{P as R}from"./index.c9e4980c.js";import{F as O}from"./index.eebd2be8.js";import"./use-id.5ece45a3.js";import"./index.1764b0fc.js";import"./index.0cf71d6f.js";import"./checkbox_default.403c201d.js";import"./index.ceb43316.js";import"./index.98a02db0.js";import"./index.926ca9c5.js";const L={2:"\u662F",0:"\u5426"},S={0:"\u5426",1:"\u662F"},N={0:"\u5426",1:"\u662F"},x={0:"\u5426",1:"\u662F"},E=t=>{var d,s;const i={speed:0,title:"",composer:"",partNames:[]},a=new DOMParser().parseFromString(t,"text/xml");i.title=((d=a.getElementsByTagName("work-title")[0])==null?void 0:d.textContent)||"",i.composer=((s=a.getElementsByTagName("creator")[0])==null?void 0:s.textContent)||"";const c=a.getElementsByTagName("measure");for(const r of Array.from(a.getElementsByTagName("part-name")))r.textContent&&i.partNames.push(r.textContent);for(const r of Array.from(c)){const u=r.getElementsByTagName("per-minute");if(u.length&&u[u.length-1]){i.speed=parseFloat(u[u.length-1].textContent||"0");break}}return i};var U=T({name:"Upload",props:{accept:{type:String},formatFile:{type:Function,default:t=>t},"onUpdate:modelValue":{type:Function,default:t=>{}}},data(){return{list:[],uploading:!1}},methods:{async beforeRead(t){return console.log("beforeRead",t),!0},async upload(t){this.uploading=!0;const i=new FormData;i.append("file",t);try{const a=await j.post("/api-teacher/uploadFile",{data:i});this.$emit("update:modelValue",a.data.url)}catch{}this.uploading=!1}},render(){return e(D,{accept:this.accept,maxCount:1,modelValue:this.list,beforeDelete:this.beforeRead,"onUpdate:modelValue":async t=>{t[0]&&(await this.upload(t[0].file),this.formatFile(t[0].file)),this.list=t},onDelete:()=>{this.list=[],this.$emit("update:modelValue",null)}},{default:()=>[e(m,{loading:this.uploading},{default:()=>[p("\u4E0A\u4F20\u6587\u4EF6")]})]})}});const z="_container_dsk0r_1",X="_area_dsk0r_6",G="_rule_dsk0r_14",J="_radio_dsk0r_30",H="_tags_dsk0r_58",$="_file_dsk0r_63",K="_delbtn_dsk0r_74",Q="_upbtn_dsk0r_79";var l={container:z,area:X,"clear-px":"_clear-px_dsk0r_10",rule:G,"button-area":"_button-area_dsk0r_25","radio-group":"_radio-group_dsk0r_30",radio:J,tags:H,file:$,delbtn:K,upbtn:Q},_="./assets/upload.4b2c151a.svg";function k(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!M(t)}var ke=T({name:"MusicUpload",data(){return{audioType:"MP3",xmlFileUrl:"",xmlFileLoading:!1,midiUrl:"",midiLoading:!1,mp3Url:"",bgmp3Url:"",mp3Loading:!1,bgmp3Loading:!1,musicSheetName:"",composer:"",speed:"",hasBeat:0,chargeType:0,showFingering:1,canEvaluate:1,musicPrice:"",selectTagVisible:!1,subJectVisible:!1,tags:[],tagsNames:[],formated:{},tagVisibility:!1,subjectListNames:{},selectedSubjectList:null,vlewSubjectList:null,submitLoading:!1,showPicker:!1,music_sheet_service_fee:0,backgroundMp3s:[{url:"",track:""}]}},watch:{formated(){this.mergeXmlData(this.formated)},chargeType(){this.chargeType===0&&(this.musicPrice="")}},computed:{choiceSubjectIds(){let t=g.teacherCert.subjectId?g.teacherCert.subjectId.split(","):[];return t=t.map(i=>Number(i)),t},subjectList(){return g.subjectList||[]},choiceSubject(){let t=[];return this.subjectList.forEach(i=>{i.subjects&&i.subjects.forEach(a=>{this.choiceSubjectIds.includes(a.id)&&t.push(a)})}),t}},async mounted(){j.get("/api-teacher/sysConfig/queryByParamName",{params:{paramName:"music_sheet_service_fee"}}).then(t=>this.music_sheet_service_fee=t.data.paramValue),j.get("/api-teacher/subject/subjectSelect").then(t=>{g.subjectList=t.data||[],this.subjectListNames=this.getSubjectListNames(g.subjectList)})},methods:{async submit(t){var i;this.submitLoading=!0;try{const a=this.hasBeat?"MP3_METRONOME":"MP3",c=this.audioType==="MP3"?a:"MIDI";await j.post("/api-teacher/music/sheet/create",{data:{audioType:this.audioType,sourceType:"TEACHER",mp3Type:c,url:this.hasBeat?"":this.mp3Url,metronomeUrl:this.hasBeat?this.mp3Url:"",showFingering:Number(this.showFingering)||void 0,musicTag:this.tags.join(","),musicSubject:Number((i=this.selectedSubjectList)==null?void 0:i.label)||void 0,musicSheetName:this.musicSheetName,midiUrl:this.midiUrl,xmlFileUrl:this.xmlFileUrl,canEvaluate:Number(this.canEvaluate)||void 0,chargeType:this.chargeType===0?"FREE":"CHARGE",composer:this.composer,musicPrice:this.musicPrice,background:this.backgroundMp3s.map(d=>({audioFileUrl:this.hasBeat?"":this.bgmp3Url,track:d.track,metronomeUrl:this.hasBeat?this.bgmp3Url:""}))}})}catch{}this.submitLoading=!1,w("\u4E0A\u4F20\u6210\u529F"),setTimeout(()=>{h({api:"back"})},800),console.log(t)},getSubjectListNames(t){const i={};for(const a of t)if(i[a.id]=a.name,a.subjects)for(const c of a.subjects)i[c.id]=c.name;return i},failed(){console.log("failed",this.backgroundMp3s)},mergeXmlData(t){this.formated=t,this.backgroundMp3s=t.partNames.map(i=>({track:i})),this.musicSheetName||(this.musicSheetName=t.title),this.composer||(this.composer=t.composer),!this.speed&&t.speed&&(this.speed=""+t.speed)},readerFile(t){const i=new FileReader;i.onload=()=>{const a=i.result;this.formated=E(a)},i.readAsText(t)},onChoice(t){this.subJectVisible=!1,this.selectedSubjectList=[t]},onComfirm(t,i){this.tagsNames=i,this.tagVisibility=!1;const a=Object.values(t).flat().filter(Boolean);console.log(a),this.tags=a},naiveXMLFile(){this.xmlFileLoading=!0,h({api:"chooseFile",content:{type:"xml",bucket:"cloud-coach"}},t=>{this.xmlFileUrl=(t==null?void 0:t.fileUrl)||this.xmlFileUrl||"",this.xmlFileLoading=!1,this.xmlFileUrl&&A(this.xmlFileUrl).then(i=>this.formated=E(i))})},naiveMidFile(){this.midiLoading=!0,h({api:"chooseFile",content:{type:"midi",bucket:"cloud-coach"}},t=>{this.midiUrl=(t==null?void 0:t.fileUrl)||this.midiUrl||"",this.midiLoading=!1})},naiveMp3File(){this.mp3Loading=!0,h({api:"chooseFile",content:{type:"mp3",bucket:"cloud-coach"}},t=>{this.mp3Url=(t==null?void 0:t.fileUrl)||this.mp3Url||"",this.mp3Loading=!1})},naiveBGMp3File(){this.bgmp3Loading=!0,h({api:"chooseFile",content:{type:"mp3",bucket:"cloud-coach"}},t=>{this.bgmp3Url,this.bgmp3Url=(t==null?void 0:t.fileUrl)||this.bgmp3Url||"",this.bgmp3Loading=!1})},fileName(t=""){return t.split("/").pop()}},render(){let t,i,a,c;console.log(this.formated);const d=C();return e(O,{onSubmit:this.submit,onFailed:this.failed},{default:()=>[e("div",{class:l.container},[e(F,{class:l.area},{default:()=>[e(o,{border:!1,required:!0,title:"MusicXML\u6587\u4EF6"},{default:()=>[e(n,{name:"xmlFileUrl",modelValue:this.xmlFileUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MusicXML\u6587\u4EF6"}]},{input:()=>d.isApp?e(m,{icon:_,class:l.upbtn,onClick:this.naiveXMLFile,loading:this.xmlFileLoading},{default:()=>[this.xmlFileUrl?this.fileName(this.xmlFileUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):e(U,{"onUpdate:modelValue":s=>this.xmlFileUrl=s,accept:".xml",formatFile:this.readerFile},null)})]}),this.audioType==="MP3"?e(B,null,[e(o,{required:!0,title:"\u662F\u5426\u5E26\u8282\u62CD\u5668",border:!1},{default:()=>[e(b,{class:l["radio-group"],modelValue:this.hasBeat,"onUpdate:modelValue":s=>this.hasBeat=s},k(t=Object.keys(x).map(s=>{const r=s===String(this.hasBeat),u=r?"primary":"default";return e(y,{class:l.radio,name:s},{default:()=>[e(f,{size:"large",plain:r,type:u},{default:()=>[x[s]]})]})}))?t:{default:()=>[t]})]}),e(o,{border:!1,title:"\u4F34\u594F\u6587\u4EF6"},{default:()=>[e(n,{name:"mp3Url",modelValue:this.mp3Url},{input:()=>d.isApp?e(m,{icon:_,class:l.upbtn,onClick:this.naiveMp3File,loading:this.mp3Loading},{default:()=>[this.mp3Url?this.fileName(this.mp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):e(U,{"onUpdate:modelValue":s=>this.mp3Url=s,accept:".mp3"},null)})]})]):e(o,{border:!1,required:!0,title:"MIDI\u6587\u4EF6"},{default:()=>[e(n,{name:"midiUrl",modelValue:this.midiUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MIDI\u6587\u4EF6"}]},{input:()=>d.isApp?e(m,{icon:_,class:l.upbtn,onClick:this.naiveMidFile,loading:this.midiLoading},{default:()=>[this.midiUrl?this.fileName(this.midiUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):e(U,{"onUpdate:modelValue":s=>this.midiUrl=s,accept:".mid"},null)})]}),this.backgroundMp3s.map(s=>e(o,{required:!0,border:!1,title:"\u539F\u97F3\u6587\u4EF6"},{default:()=>[e(n,{name:"url",modelValue:this.bgmp3Url,rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u539F\u97F3\u6587\u4EF6"}]},{input:()=>d.isApp?e(m,{icon:_,class:l.upbtn,onClick:this.naiveBGMp3File,loading:this.bgmp3Loading},{default:()=>[this.bgmp3Url?this.fileName(this.bgmp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):e(U,{"onUpdate:modelValue":r=>this.bgmp3Url=r,accept:".mp3"},null)})]}))]}),e(F,{class:l.area},{default:()=>[e(o,{required:!0,title:"\u66F2\u76EE\u540D\u79F0"},{default:()=>[e(n,{clearable:!0,name:"musicSheetName",modelValue:this.musicSheetName,rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u66F2\u76EE\u540D\u79F0"}],class:l["clear-px"],placeholder:"\u8BF7\u8F93\u5165\u66F2\u76EE\u540D\u79F0","onUpdate:modelValue":s=>this.musicSheetName=s},null)]}),e(o,{required:!0,title:"\u4F5C\u66F2\u4EBA"},{default:()=>[e(n,{clearable:!0,class:l["clear-px"],placeholder:"\u8BF7\u8F93\u5165\u4F5C\u66F2\u4EBA\u59D3\u540D",name:"composer",modelValue:this.composer,rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4F5C\u66F2\u4EBA\u59D3\u540D"}],"onUpdate:modelValue":s=>this.composer=s},null)]}),e(o,{required:!0,title:"\u9ED8\u8BA4\u901F\u5EA6"},{default:()=>[e(n,{clearable:!0,name:"playSpeed",modelValue:this.speed,rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u9ED8\u8BA4\u901F\u5EA6"}],"onUpdate:modelValue":s=>this.speed=s,class:l["clear-px"],placeholder:"\u8BF7\u8F93\u5165\u9ED8\u8BA4\u901F\u5EA6"},null)]}),e(o,{required:!0,title:"\u66F2\u76EE\u58F0\u90E8"},{default:()=>{var s;return[e(n,{"is-link":!0,readonly:!0,class:l["clear-px"],placeholder:"\u8BF7\u9009\u62E9\u66F2\u76EE\u58F0\u90E8",name:"vlewSubjectList",modelValue:(s=this.vlewSubjectList)==null?void 0:s.value,rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u66F2\u76EE\u58F0\u90E8"}],onClick:()=>this.showPicker=!0},null)]}})]}),e(F,{class:l.area},{default:()=>[e(o,{border:!1,required:!0,title:"\u66F2\u76EE\u6807\u7B7E"},{default:()=>[e(n,{name:"tags",modelValue:this.tags.length?1:void 0,rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u66F2\u76EE\u6807\u7B7E"}]},{input:()=>this.tags.length>0?this.tags.map(s=>e(f,{type:"primary",size:"large",class:l.tags},{default:()=>[this.tagsNames[s]]})):e(q,{style:{width:"100%"},description:"\u8BF7\u9009\u62E9\u66F2\u76EE\u6807\u7B7E",imageSize:0},null)})],right:()=>e(m,{class:l.select,round:!0,type:"primary",size:"small",onClick:()=>this.tagVisibility=!0},{default:()=>[p("\u9009\u62E9")]})})]}),e(F,{class:l.area},{default:()=>[e(o,{required:!0,title:"\u662F\u5426\u8BC4\u6D4B",border:!1},{default:()=>[e(b,{class:l["radio-group"],modelValue:this.canEvaluate,"onUpdate:modelValue":s=>this.canEvaluate=s},k(i=Object.keys(S).map(s=>{const r=s===String(this.canEvaluate),u=r?"primary":"default";return e(y,{class:l.radio,name:s},{default:()=>[e(f,{size:"large",plain:r,type:u},{default:()=>[S[s]]})]})}))?i:{default:()=>[i]})]}),e(o,{required:!0,title:"\u6307\u6CD5\u5C55\u793A",border:!1},{default:()=>[e(b,{class:l["radio-group"],modelValue:this.showFingering,"onUpdate:modelValue":s=>this.showFingering=s},k(a=Object.keys(N).map(s=>{const r=s===String(this.showFingering),u=r?"primary":"default";return e(y,{class:l.radio,name:s},{default:()=>[e(f,{size:"large",plain:r,type:u},{default:()=>[N[s]]})]})}))?a:{default:()=>[a]})]}),e(o,{required:!0,title:"\u662F\u5426\u6536\u8D39",border:!1},{default:()=>[e(b,{class:l["radio-group"],modelValue:this.chargeType,"onUpdate:modelValue":s=>{this.chargeType=Number(s)}},k(c=Object.keys(L).map(s=>{const r=s===String(this.chargeType),u=r?"primary":"default";return e(y,{class:l.radio,name:s},{default:()=>[e(f,{size:"large",plain:r,type:u},{default:()=>[L[s]]})]})}))?c:{default:()=>[c]})]}),this.chargeType===2&&e(o,{required:!0,title:"\u6536\u8D39\u4EF7\u683C"},{default:()=>[e(n,{clearable:!0,class:l["clear-px"],placeholder:"\u8BF7\u8F93\u5165\u6536\u8D39\u4EF7\u683C",modelValue:this.musicPrice,rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6536\u8D39\u4EF7\u683C"}],"onUpdate:modelValue":s=>this.musicPrice=s},{button:()=>"\u5143"})]})]}),this.chargeType===2&&e("div",{class:l.rule},[e("p",null,[p("\u6263\u9664\u624B\u7EED\u8D39\u540E\u8BE5\u66F2\u76EE\u9884\u8BA1\u6536\u5165\u4E3A\uFF1A")]),e("p",null,[p("\u6BCF\u4EBA\uFF1A"),e("span",null,[(parseFloat(this.musicPrice||"0")||0)*(100-this.music_sheet_service_fee)/100]),p("\u5143/\u4EBA")]),e("p",null,[p("\u60A8\u7684\u4E50\u8C31\u6536\u5165\u5C06\u5728\u5B66\u5458\u8D2D\u4E70\u540E\u7ED3\u7B97\u5230\u60A8\u7684\u8D26\u6237\u4E2D")])])]),e(P,{offsetBottom:0,position:"bottom"},{default:()=>[e("div",{class:l["button-area"]},[e(m,{type:"primary",block:!0,round:!0,"native-type":"submit",loading:this.submitLoading},{default:()=>[p("\u786E\u8BA4")]})])]}),e(V,{show:this.showPicker,round:!0,position:"bottom",teleport:"body","onUpdate:show":s=>this.showPicker=s},{default:()=>[e(R,{columnsFieldNames:{text:"value"},columns:Object.entries(this.subjectListNames).map(([s,r])=>({label:s,value:r})),onCancel:()=>this.showPicker=!1,onConfirm:s=>{this.selectedSubjectList=s,this.vlewSubjectList=s,this.showPicker=!1}},null)]}),e(V,{show:this.subJectVisible,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":s=>this.subJectVisible=s},{default:()=>[e(v,{subjectList:this.subjectList,choiceSubjectIds:this.choiceSubjectIds,onChoice:this.onChoice,selectType:"Radio"},null)]}),e(V,{show:this.tagVisibility,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":s=>this.tagVisibility=s},{default:()=>[e(I,{onComfirm:this.onComfirm,onCancel:()=>{},rowSingle:!0,needAllButton:!1},null)]})]})}});export{ke as default};
|