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