1 |
- var A=Object.defineProperty,q=Object.defineProperties;var D=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var T=(e,t,i)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,k=(e,t)=>{for(var i in t||(t={}))I.call(t,i)&&T(e,i,t[i]);if(N)for(var i of N(t))O.call(t,i)&&T(e,i,t[i]);return e},E=(e,t)=>q(e,D(t));import{d as L,a,a4 as R,B as m,j as p,T as z,a5 as $,a6 as J,m as n,F as X,a7 as f,a8 as y,z as b,x as G,E as H,S as K,P as S,a9 as Q,aa as W}from"./vendor.75c233d7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as U,a as u}from"./index.a31db217.js";import{S as Y}from"./index.13f52628.js";/* empty css *//* empty css *//* empty css *//* empty css */import{r as g,p as j,e as Z}from"./index.035040a1.js";import{S as ee}from"./select-tag.13bab0ae.js";import{t as V}from"./teacherState.65ca8df4.js";/* empty css *//* empty css */import"./checkbox_default.25179a07.js";import"./index.bf78eddb.js";import"./index.926ca9c5.js";const w={2:"\u662F",0:"\u5426"},M={0:"\u5426",1:"\u662F"},C={0:"\u5426",1:"\u662F"},B={0:"\u5426",1:"\u662F"},v={0:"\u5426",1:"\u662F"},P=e=>{var d,h;const t={speed:0,title:"",composer:"",partNames:[]},i=new DOMParser().parseFromString(e,"text/xml");t.title=((d=i.getElementsByTagName("work-title")[0])==null?void 0:d.textContent)||"",t.composer=((h=i.getElementsByTagName("creator")[0])==null?void 0:h.textContent)||"";const o=i.getElementsByTagName("measure");for(const s of Array.from(i.getElementsByTagName("part-name")))s.textContent&&t.partNames.push(s.textContent);for(const s of Array.from(o)){const r=s.getElementsByTagName("per-minute");if(r.length&&r[r.length-1]){t.speed=parseFloat(r[r.length-1].textContent||"0");break}}return t};var x=L({name:"Upload",props:{accept:{type:String},formatFile:{type:Function,default:e=>e},"onUpdate:modelValue":{type:Function,default:e=>{}}},data(){return{list:[],uploading:!1}},methods:{async beforeRead(e){return console.log("beforeRead",e),!0},async upload(e){this.uploading=!0;const t=new FormData;t.append("file",e);try{const i=await g.post("/api-teacher/uploadFile",{data:t});this.$emit("update:modelValue",i.data.url)}catch{}this.uploading=!1}},render(){return a(R,{accept:this.accept,maxCount:1,modelValue:this.list,beforeDelete:this.beforeRead,"onUpdate:modelValue":async e=>{e[0]&&(await this.upload(e[0].file),this.formatFile(e[0].file)),this.list=e},onDelete:()=>{this.list=[],this.$emit("update:modelValue",null)}},{default:()=>[a(m,{loading:this.uploading},{default:()=>[p("\u4E0A\u4F20\u6587\u4EF6")]})]})}});const te="_form_ehbsy_1",ae="_container_ehbsy_5",se="_area_ehbsy_10",ie="_select_ehbsy_14",le="_rule_ehbsy_22",re="_radio_ehbsy_38",oe="_tags_ehbsy_66",ue="_file_ehbsy_71",ce="_delbtn_ehbsy_82",ne="_upbtn_ehbsy_87";var l={form:te,container:ae,area:se,select:ie,"clear-px":"_clear-px_ehbsy_18",rule:le,"button-area":"_button-area_ehbsy_33","radio-group":"_radio-group_ehbsy_38",radio:re,tags:oe,file:ue,delbtn:ce,upbtn:ne},_="./assets/upload.4b2c151a.svg";function F(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!G(e)}var Be=L({name:"MusicUpload",data(){return{reason:"",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,notation:0,musicPrice:"",subJectIndex:0,selectTagVisible:!1,subJectVisible:!1,tags:[],tagsNames:[],formated:{},tagVisibility:!1,subjectListres:[],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 e=V.teacherCert.subjectId?V.teacherCert.subjectId.split(","):[];return e=e.map(t=>Number(t)),e},subjectList(){return this.subjectListres||[]},choiceSubject(){const e=[];return this.subjectList.forEach(t=>{t.subjects&&t.subjects.forEach(i=>{this.choiceSubjectIds.includes(i.id)&&e.push(i)})}),e}},async mounted(){g.get("/api-teacher/sysConfig/queryByParamName",{params:{paramName:"music_sheet_service_fee"}}).then(e=>this.music_sheet_service_fee=e.data.paramValue),await g.get("/api-teacher/subject/subjectSelect").then(e=>{const t=[];for(const i of e.data||[]){const o=i.subjects||[];t.push(...o)}this.subjectListres=t,this.subjectListNames=this.getSubjectListNames(t)}),this.$route.params.id&&this.setDetail(this.$route.params.id)},methods:{async setDetail(e){try{const t=await g.get("/api-teacher/music/sheet/detail/"+e);this.chargeType=t.data.chargeType==="FREE"?0:2,this.showFingering=t.data.showFingering,this.canEvaluate=t.data.canEvaluate,this.chargeType&&(this.musicPrice=t.data.musicPrice),this.composer=t.data.composer,this.musicSheetName=t.data.musicSheetName,this.audioType=t.data.audioType,this.notation=t.data.notation,this.selectedSubjectList={label:t.data.musicSubject,value:t.data.subjectNames},this.vlewSubjectList={label:t.data.musicSubject,value:t.data.subjectNames},this.subJectIndex=Object.keys(this.subjectListNames).findIndex(o=>o===t.data.musicSubject);const i=t.data.musicTagNames.split(",");this.tags=t.data.musicTag.split(",");for(let o=0;o<i.length;o++)this.tagsNames[this.tags[o]]=i[o];this.xmlFileUrl=t.data.xmlFileUrl,this.audioType==="MP3"?(this.hasBeat=t.data.audioType==="MP3"&&t.data.mp3Type==="MP3_METRONOME"||t.data.audioType==="MIDI"?1:0,this.mp3Url=t.data.audioFileUrl):this.midiUrl=t.data.midiUrl,this.backgroundMp3s=(t.data.background||[]).map((o,d)=>(d===0&&(this.bgmp3Url=o.audioFileUrl),{url:o.audioFileUrl,track:o.track})),this.reason=t.data.reason,console.log(this.bgmp3Url)}catch(t){console.log(t)}},createSubmitData(){var i;const e=this.hasBeat?"MP3_METRONOME":"MP3",t=this.audioType==="MP3"?e:"MIDI";return{audioType:this.audioType,sourceType:"TEACHER",mp3Type:t,hasBeat:this.hasBeat,audioFileUrl:this.mp3Url,showFingering:Number(this.showFingering),musicTag:this.tags.join(","),musicSubject:Number((i=this.selectedSubjectList)==null?void 0:i.label)||void 0,musicSheetName:this.musicSheetName,midiUrl:this.midiUrl,notation:Number(this.notation),xmlFileUrl:this.xmlFileUrl,canEvaluate:Number(this.canEvaluate),chargeType:this.chargeType===0?"FREE":"CHARGE",composer:this.composer,musicPrice:this.musicPrice,background:this.backgroundMp3s.map(o=>({audioFileUrl:this.bgmp3Url,track:o.track}))}},async submit(e){this.submitLoading=!0;try{this.$route.params.id?await g.post("/api-teacher/music/sheet/update",{data:E(k({},this.createSubmitData()),{id:this.$route.params.id})}):await g.post("/api-teacher/music/sheet/create",{data:this.createSubmitData()})}catch{}this.submitLoading=!1,z("\u4E0A\u4F20\u6210\u529F"),setTimeout(()=>{j({api:"back"})},800),console.log(e)},getSubjectListNames(e){const t={};for(const i of e)if(t[i.id]=i.name,i.subjects)for(const o of i.subjects)t[o.id]=o.name;return t},failed(){console.log("failed",this.backgroundMp3s)},mergeXmlData(e){this.formated=e,this.musicSheetName||(this.musicSheetName=e.title),this.composer||(this.composer=e.composer)},readerFile(e){const t=new FileReader;t.onload=()=>{const i=t.result;this.formated=P(i)},t.readAsText(e)},onChoice(e){this.subJectVisible=!1,this.selectedSubjectList=[e]},onComfirm(e,t){this.tagsNames=t,this.tagVisibility=!1;const i=Object.values(e).flat().filter(Boolean);console.log(i),this.tags=i},naiveXMLFile(){this.xmlFileLoading=!0,j({api:"chooseFile",content:{type:"xml",bucket:"cloud-coach"}},e=>{this.xmlFileUrl=(e==null?void 0:e.fileUrl)||this.xmlFileUrl||"",this.xmlFileLoading=!1,this.xmlFileUrl&&W(this.xmlFileUrl).then(t=>this.formated=P(t))})},naiveMidFile(){this.midiLoading=!0,j({api:"chooseFile",content:{type:"midi",bucket:"cloud-coach"}},e=>{this.midiUrl=(e==null?void 0:e.fileUrl)||this.midiUrl||"",this.midiLoading=!1})},naiveMp3File(){this.mp3Loading=!0,j({api:"chooseFile",content:{type:"mp3",bucket:"cloud-coach"}},e=>{this.mp3Url=(e==null?void 0:e.fileUrl)||this.mp3Url||"",this.mp3Loading=!1})},naiveBGMp3File(){this.bgmp3Loading=!0,j({api:"chooseFile",content:{type:"mp3",bucket:"cloud-coach"}},e=>{this.bgmp3Url,this.bgmp3Url=(e==null?void 0:e.fileUrl)||this.bgmp3Url||"",this.bgmp3Loading=!1})},fileName(e=""){return e.split("/").pop()},removeBackground(e){this.backgroundMp3s.splice(e,1)}},render(){let e,t,i,o,d;console.log(this.formated);const h=Z();return a($,{class:l.form,onSubmit:this.submit,onFailed:this.failed},{default:()=>[this.reason&&a(J,{wrapable:!0,scrollable:!1,text:this.reason},null),a("div",{class:l.container},[a(U,{class:l.area},{default:()=>[a(u,{border:!1,required:!0,title:"MusicXML\u6587\u4EF6"},{default:()=>[a(n,{name:"xmlFileUrl",modelValue:this.xmlFileUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MusicXML\u6587\u4EF6"}]},{input:()=>h.isApp?a(m,{icon:_,class:l.upbtn,onClick:this.naiveXMLFile,loading:this.xmlFileLoading},{default:()=>[this.xmlFileUrl?this.fileName(this.xmlFileUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):a(x,{"onUpdate:modelValue":s=>this.xmlFileUrl=s,accept:".xml",formatFile:this.readerFile},null)})]}),this.audioType==="MP3"?a(X,null,[a(u,{required:!0,title:"\u662F\u5426\u5E26\u8282\u62CD\u5668",border:!1},{default:()=>[a(f,{class:l["radio-group"],modelValue:this.hasBeat,"onUpdate:modelValue":s=>this.hasBeat=s},F(e=Object.keys(v).map(s=>{const r=s===String(this.hasBeat),c=r?"primary":"default";return a(y,{class:l.radio,name:s},{default:()=>[a(b,{size:"large",plain:r,type:c},{default:()=>[v[s]]})]})}))?e:{default:()=>[e]})]}),a(u,{border:!1,title:"\u4F34\u594F\u6587\u4EF6"},{default:()=>[a(n,{name:"mp3Url",modelValue:this.mp3Url},{input:()=>h.isApp?a(m,{icon:_,class:l.upbtn,onClick:this.naiveMp3File,loading:this.mp3Loading},{default:()=>[this.mp3Url?this.fileName(this.mp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):a(x,{"onUpdate:modelValue":s=>this.mp3Url=s,accept:".mp3"},null)})]})]):a(u,{border:!1,required:!0,title:"MIDI\u6587\u4EF6"},{default:()=>[a(n,{name:"midiUrl",modelValue:this.midiUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MIDI\u6587\u4EF6"}]},{input:()=>h.isApp?a(m,{icon:_,class:l.upbtn,onClick:this.naiveMidFile,loading:this.midiLoading},{default:()=>[this.midiUrl?this.fileName(this.midiUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):a(x,{"onUpdate:modelValue":s=>this.midiUrl=s,accept:".mid"},null)})]}),this.backgroundMp3s.map((s,r)=>a(u,{required:!0,border:!1,title:(s.track||"")+"\u539F\u97F3\u6587\u4EF6"},{default:()=>[a(n,{name:"url",modelValue:this.bgmp3Url},{input:()=>h.isApp?a(m,{icon:_,class:l.upbtn,onClick:this.naiveBGMp3File,loading:this.bgmp3Loading},{default:()=>[this.bgmp3Url?this.fileName(this.bgmp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):a(x,{"onUpdate:modelValue":c=>this.bgmp3Url=c,accept:".mp3"},null)})],right:()=>this.backgroundMp3s.length>1?a(m,{onClick:()=>this.removeBackground(r),style:{border:"none"},icon:"cross"},null):null}))]}),a(U,{class:l.area},{default:()=>[a(u,{required:!0,title:"\u66F2\u76EE\u540D\u79F0"},{default:()=>[a(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)]}),a(u,{required:!0,title:"\u4F5C\u66F2\u4EBA"},{default:()=>[a(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)]}),a(u,{required:!0,title:"\u66F2\u76EE\u58F0\u90E8"},{default:()=>{var s;return[a(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)]}})]}),a(U,{class:l.area},{default:()=>[a(u,{border:!1,required:!0,title:"\u66F2\u76EE\u6807\u7B7E"},{default:()=>[a(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=>a(b,{type:"primary",size:"large",class:l.tags},{default:()=>[this.tagsNames[s]]})):a(H,{style:{width:"100%"},description:"\u8BF7\u9009\u62E9\u66F2\u76EE\u6807\u7B7E",imageSize:0},null)})],right:()=>a(m,{class:l.select,round:!0,type:"primary",size:"small",onClick:()=>this.tagVisibility=!0},{default:()=>[p("\u9009\u62E9")]})})]}),a(U,{class:l.area},{default:()=>[a(u,{required:!0,title:"\u662F\u5426\u8BC4\u6D4B",border:!1},{default:()=>[a(f,{class:l["radio-group"],modelValue:this.canEvaluate,"onUpdate:modelValue":s=>this.canEvaluate=s},F(t=Object.keys(C).map(s=>{const r=s===String(this.canEvaluate),c=r?"primary":"default";return a(y,{class:l.radio,name:s},{default:()=>[a(b,{size:"large",plain:r,type:c},{default:()=>[C[s]]})]})}))?t:{default:()=>[t]})]}),a(u,{required:!0,title:"\u6307\u6CD5\u5C55\u793A",border:!1},{default:()=>[a(f,{class:l["radio-group"],modelValue:this.showFingering,"onUpdate:modelValue":s=>this.showFingering=s},F(i=Object.keys(B).map(s=>{const r=s===String(this.showFingering),c=r?"primary":"default";return a(y,{class:l.radio,name:s},{default:()=>[a(b,{size:"large",plain:r,type:c},{default:()=>[B[s]]})]})}))?i:{default:()=>[i]})]}),a(u,{required:!0,title:"\u662F\u5426\u6536\u8D39",border:!1},{default:()=>[a(f,{class:l["radio-group"],modelValue:this.chargeType,"onUpdate:modelValue":s=>{this.chargeType=Number(s)}},F(o=Object.keys(w).map(s=>{const r=s===String(this.chargeType),c=r?"primary":"default";return a(y,{class:l.radio,name:s},{default:()=>[a(b,{size:"large",plain:r,type:c},{default:()=>[w[s]]})]})}))?o:{default:()=>[o]})]}),a(u,{required:!0,title:"\u652F\u6301\u7B80\u8C31",border:!1},{default:()=>[a(f,{class:l["radio-group"],modelValue:this.notation,"onUpdate:modelValue":s=>{this.notation=Number(s)}},F(d=Object.keys(M).map(s=>{const r=s===String(this.notation),c=r?"primary":"default";return a(y,{class:l.radio,name:s},{default:()=>[a(b,{size:"large",plain:r,type:c},{default:()=>[M[s]]})]})}))?d:{default:()=>[d]})]}),this.chargeType===2&&a(u,{required:!0,title:"\u6536\u8D39\u4EF7\u683C"},{default:()=>[a(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&&a("div",{class:l.rule},[a("p",null,[p("\u6263\u9664\u624B\u7EED\u8D39\u540E\u8BE5\u66F2\u76EE\u9884\u8BA1\u6536\u5165\u4E3A\uFF1A")]),a("p",null,[p("\u6BCF\u4EBA\uFF1A"),a("span",null,[((parseFloat(this.musicPrice||"0")||0)*(100-this.music_sheet_service_fee)/100).toFixed(2)]),p("\u5143/\u4EBA")]),a("p",null,[p("\u60A8\u7684\u4E50\u8C31\u6536\u5165\u5C06\u5728\u5B66\u5458\u8D2D\u4E70\u540E\u7ED3\u7B97\u5230\u60A8\u7684\u8D26\u6237\u4E2D")])])]),a(K,{offsetBottom:0,position:"bottom"},{default:()=>[a("div",{class:l["button-area"]},[a(m,{type:"primary",block:!0,round:!0,"native-type":"submit",loading:this.submitLoading},{default:()=>[p("\u786E\u8BA4")]})])]}),a(S,{show:this.showPicker,round:!0,position:"bottom",teleport:"body","onUpdate:show":s=>this.showPicker=s},{default:()=>[a(Q,{defaultIndex:this.subJectIndex,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)]}),a(S,{show:this.subJectVisible,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":s=>this.subJectVisible=s},{default:()=>[a(Y,{subjectList:this.subjectList,choiceSubjectIds:this.choiceSubjectIds,onChoice:this.onChoice,selectType:"Radio"},null)]}),a(S,{show:this.tagVisibility,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":s=>this.tagVisibility=s},{default:()=>[a(ee,{onConfirm:this.onComfirm,onCancel:()=>{},rowSingle:!0,defaultValue:this.tags.join(","),needAllButton:!1},null)]})]})}});export{Be as default};
|