1 |
- var v=Object.defineProperty,P=Object.defineProperties;var A=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;var N=(e,a,s)=>a in e?v(e,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[a]=s,k=(e,a)=>{for(var s in a||(a={}))q.call(a,s)&&N(e,s,a[s]);if(T)for(var s of T(a))D.call(a,s)&&N(e,s,a[s]);return e},L=(e,a)=>P(e,A(a));import{d as E,a as t,a7 as I,B as m,j as h,T as R,a8 as O,a9 as z,m as d,F as $,aa as y,ab as U,z as f,x as X,E as G,S as J,P as S,ac as H,ad as K}from"./vendor.555770a3.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as F,a as c}from"./index.ad576ea6.js";import{S as Q}from"./index.955245ec.js";/* empty css *//* empty css *//* empty css *//* empty css */import{r as p,p as g,e as W}from"./index.124916bb.js";import{S as Y}from"./select-tag.afb02ef7.js";import{t as b}from"./teacherState.f52e751b.js";/* empty css *//* empty css */import"./checkbox_default.403c201d.js";import"./index.479b923c.js";import"./index.926ca9c5.js";const V={2:"\u662F",0:"\u5426"},w={0:"\u5426",1:"\u662F"},B={0:"\u5426",1:"\u662F"},C={0:"\u5426",1:"\u662F"},M=e=>{var n,i;const a={speed:0,title:"",composer:"",partNames:[]},s=new DOMParser().parseFromString(e,"text/xml");a.title=((n=s.getElementsByTagName("work-title")[0])==null?void 0:n.textContent)||"",a.composer=((i=s.getElementsByTagName("creator")[0])==null?void 0:i.textContent)||"";const r=s.getElementsByTagName("measure");for(const o of Array.from(s.getElementsByTagName("part-name")))o.textContent&&a.partNames.push(o.textContent);for(const o of Array.from(r)){const u=o.getElementsByTagName("per-minute");if(u.length&&u[u.length-1]){a.speed=parseFloat(u[u.length-1].textContent||"0");break}}return a};var j=E({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(I,{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(m,{loading:this.uploading},{default:()=>[h("\u4E0A\u4F20\u6587\u4EF6")]})]})}});const Z="_form_1ifdi_1",ee="_container_1ifdi_5",te="_area_1ifdi_10",ae="_rule_1ifdi_18",ie="_radio_1ifdi_34",se="_tags_1ifdi_62",le="_file_1ifdi_67",re="_delbtn_1ifdi_78",oe="_upbtn_1ifdi_83";var l={form:Z,container:ee,area:te,"clear-px":"_clear-px_1ifdi_14",rule:ae,"button-area":"_button-area_1ifdi_29","radio-group":"_radio-group_1ifdi_34",radio:ie,tags:se,file:le,delbtn:re,upbtn:oe},x="./assets/upload.4b2c151a.svg";function _(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!X(e)}var we=E({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,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 r=0;r<s.length;r++)this.tagsNames[this.tags[r]]=s[r];this.xmlFileUrl=a.data.xmlFileUrl,this.audioType=a.data.mp3Type,this.audioType==="MP3"?(this.hasBeat=a.data.hasBeat||0,this.mp3Url=a.data.metronomeUrl||a.data.url):this.midiUrl=a.data.midiUrl,this.backgroundMp3s=(a.data.background||[]).map((r,n)=>(n===0&&(this.bgmp3Url=r.metronomeUrl||r.audioFileUrl),{url:this.hasBeat?r.metronomeUrl:r.audioFileUrl,track:r.track})),this.reason=a.data.reason,console.log(this.bgmp3Url)}catch(a){console.log(a)}},createSubmitData(){var s;const e=this.hasBeat?"MP3_METRONOME":"MP3",a=this.audioType==="MP3"?e:"MIDI";return{audioType:this.audioType,sourceType:"TEACHER",mp3Type:a,hasBeat:this.hasBeat,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(r=>({audioFileUrl:this.hasBeat?"":this.bgmp3Url,track:r.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:L(k({},this.createSubmitData()),{id:this.$route.params.id})}):await p.post("/api-teacher/music/sheet/create",{data:this.createSubmitData()})}catch{}this.submitLoading=!1,R("\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 r of s.subjects)a[r.id]=r.name;return a},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 a=new FileReader;a.onload=()=>{const s=a.result;this.formated=M(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&&K(this.xmlFileUrl).then(a=>this.formated=M(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,r;console.log(this.formated);const n=W();return t(O,{class:l.form,onSubmit:this.submit,onFailed:this.failed},{default:()=>[this.reason&&t(z,{wrapable:!0,scrollable:!1,text:this.reason},null),t("div",{class:l.container},[t(F,{class:l.area},{default:()=>[t(c,{border:!1,required:!0,title:"MusicXML\u6587\u4EF6"},{default:()=>[t(d,{name:"xmlFileUrl",modelValue:this.xmlFileUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MusicXML\u6587\u4EF6"}]},{input:()=>n.isApp?t(m,{icon:x,class:l.upbtn,onClick:this.naiveXMLFile,loading:this.xmlFileLoading},{default:()=>[this.xmlFileUrl?this.fileName(this.xmlFileUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):t(j,{"onUpdate:modelValue":i=>this.xmlFileUrl=i,accept:".xml",formatFile:this.readerFile},null)})]}),this.audioType==="MP3"?t($,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},_(e=Object.keys(C).map(i=>{const o=i===String(this.hasBeat),u=o?"primary":"default";return t(U,{class:l.radio,name:i},{default:()=>[t(f,{size:"large",plain:o,type:u},{default:()=>[C[i]]})]})}))?e:{default:()=>[e]})]}),t(c,{border:!1,title:"\u4F34\u594F\u6587\u4EF6"},{default:()=>[t(d,{name:"mp3Url",modelValue:this.mp3Url},{input:()=>n.isApp?t(m,{icon:x,class:l.upbtn,onClick:this.naiveMp3File,loading:this.mp3Loading},{default:()=>[this.mp3Url?this.fileName(this.mp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):t(j,{"onUpdate:modelValue":i=>this.mp3Url=i,accept:".mp3"},null)})]})]):t(c,{border:!1,required:!0,title:"MIDI\u6587\u4EF6"},{default:()=>[t(d,{name:"midiUrl",modelValue:this.midiUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MIDI\u6587\u4EF6"}]},{input:()=>n.isApp?t(m,{icon:x,class:l.upbtn,onClick:this.naiveMidFile,loading:this.midiLoading},{default:()=>[this.midiUrl?this.fileName(this.midiUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):t(j,{"onUpdate:modelValue":i=>this.midiUrl=i,accept:".mid"},null)})]}),this.backgroundMp3s.map((i,o)=>t(c,{required:!0,border:!1,title:(i.track||"")+"\u539F\u97F3\u6587\u4EF6"},{default:()=>[t(d,{name:"url",modelValue:this.bgmp3Url},{input:()=>n.isApp?t(m,{icon:x,class:l.upbtn,onClick:this.naiveBGMp3File,loading:this.bgmp3Loading},{default:()=>[this.bgmp3Url?this.fileName(this.bgmp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):t(j,{"onUpdate:modelValue":u=>this.bgmp3Url=u,accept:".mp3"},null)})],right:()=>this.backgroundMp3s.length>1?t(m,{onClick:()=>this.removeBackground(o),style:{border:"none"},icon:"cross"},null):null}))]}),t(F,{class:l.area},{default:()=>[t(c,{required:!0,title:"\u66F2\u76EE\u540D\u79F0"},{default:()=>[t(d,{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(d,{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(d,{"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(d,{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(G,{style:{width:"100%"},description:"\u8BF7\u9009\u62E9\u66F2\u76EE\u6807\u7B7E",imageSize:0},null)})],right:()=>t(m,{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},_(a=Object.keys(w).map(i=>{const o=i===String(this.canEvaluate),u=o?"primary":"default";return t(U,{class:l.radio,name:i},{default:()=>[t(f,{size:"large",plain:o,type:u},{default:()=>[w[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=Object.keys(B).map(i=>{const o=i===String(this.showFingering),u=o?"primary":"default";return t(U,{class:l.radio,name:i},{default:()=>[t(f,{size:"large",plain:o,type:u},{default:()=>[B[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)}},_(r=Object.keys(V).map(i=>{const o=i===String(this.chargeType),u=o?"primary":"default";return t(U,{class:l.radio,name:i},{default:()=>[t(f,{size:"large",plain:o,type:u},{default:()=>[V[i]]})]})}))?r:{default:()=>[r]})]}),this.chargeType===2&&t(c,{required:!0,title:"\u6536\u8D39\u4EF7\u683C"},{default:()=>[t(d,{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(J,{offsetBottom:0,position:"bottom"},{default:()=>[t("div",{class:l["button-area"]},[t(m,{type:"primary",block:!0,round:!0,"native-type":"submit",loading:this.submitLoading},{default:()=>[h("\u786E\u8BA4")]})])]}),t(S,{show:this.showPicker,round:!0,position:"bottom",teleport:"body","onUpdate:show":i=>this.showPicker=i},{default:()=>[t(H,{columnsFieldNames:{text:"value"},columns:Object.entries(this.subjectListNames).map(([i,o])=>({label:i,value:o})),onCancel:()=>this.showPicker=!1,onConfirm:i=>{this.selectedSubjectList=i,this.vlewSubjectList=i,this.showPicker=!1}},null)]}),t(S,{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(S,{show:this.tagVisibility,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":i=>this.tagVisibility=i},{default:()=>[t(Y,{onComfirm:this.onComfirm,onCancel:()=>{},rowSingle:!0,defaultValue:this.tags.join(","),needAllButton:!1},null)]})]})}});export{we as default};
|