| 1 |
- import{x as Q,U as C,d as E,W as M,V as Y,aR as Z,ap as ee,as as te,a0 as ae,a2 as ie,ah as se,a_ as re,i as t,L as P,aU as le,aS as A,aj as D,K as oe,D as ne,b as g,B as p,w as f,T as ue,p as v,h as ce,F as de,ak as me,be as he,ab as L,bf as pe}from"./index.9a8e7555.js";import"./index.3b6c3426.js";import{F as h}from"./index.cb5d8493.js";import{S as fe}from"./index.e9655eaa.js";import{T as U}from"./index.eefac611.js";import{R as S,a as k}from"./index.7a27846b.js";import"./index.df465582.js";import"./index.7d9da821.js";import{C as x,a as d}from"./index.0b029e32.js";import{S as ge}from"./index.61b2404e.js";import"./index.7f9087a9.js";import"./index.77775083.js";import"./index.7be95ba8.js";import{U as be}from"./index.6df244b6.js";import{S as ye}from"./select-tag.e6f4be6d.js";import{t as w}from"./teacherState.012fbe21.js";import{P as ve}from"./index.0c52a5ac.js";import{F as Ue}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[we,F]=Q("notice-bar"),Fe={text:String,mode:String,color:String,delay:C(1),speed:C(60),leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null}};var _e=E({name:we,props:Fe,emits:["close","replay"],setup(e,{emit:a,slots:s}){let r=0,u=0,i;const o=M(),n=M(),c=Y({show:!0,offset:0,duration:0}),$=()=>{if(s["left-icon"])return s["left-icon"]();if(e.leftIcon)return t(P,{class:F("left-icon"),name:e.leftIcon},null)},X=()=>{if(e.mode==="closeable")return"cross";if(e.mode==="link")return"arrow"},G=m=>{e.mode==="closeable"&&(c.show=!1,a("close",m))},W=()=>{if(s["right-icon"])return s["right-icon"]();const m=X();if(m)return t(P,{name:m,class:F("right-icon"),onClick:G},null)},J=()=>{c.offset=r,c.duration=0,le(()=>{A(()=>{c.offset=-u,c.duration=(u+r)/+e.speed,a("replay")})})},H=()=>{const m=e.scrollable===!1&&!e.wrapable,y={transform:c.offset?`translateX(${c.offset}px)`:"",transitionDuration:`${c.duration}s`};return t("div",{ref:o,role:"marquee",class:F("wrap")},[t("div",{ref:n,style:y,class:[F("content"),{"van-ellipsis":m}],onTransitionend:J},[s.default?s.default():e.text])])},b=()=>{const{delay:m,speed:y,scrollable:_}=e,K=oe(m)?+m*1e3:0;r=0,u=0,c.offset=0,c.duration=0,clearTimeout(i),i=setTimeout(()=>{if(!o.value||!n.value||_===!1)return;const V=D(o).width,B=D(n).width;(_||B>V)&&A(()=>{r=V,u=B,c.offset=-u,c.duration=u/+y})},K)};return Z(b),ee(b),te("pageshow",b),ae({reset:b}),ie(()=>[e.text,e.scrollable],b),()=>{const{color:m,wrapable:y,background:_}=e;return se(t("div",{role:"alert",class:F({wrapable:y}),style:{color:m,background:_}},[$(),H(),W()]),[[re,c.show]])}}});const Se=ne(_e);const q={2:"\u662F",0:"\u5426"},I={0:"\u5426",1:"\u662F"},R={0:"\u5426",1:"\u662F"},z={0:"\u5426",1:"\u662F"},O=e=>{var u,i;const a={speed:0,title:"",composer:"",partNames:[]},s=new DOMParser().parseFromString(e,"text/xml");a.title=((u=s.getElementsByTagName("work-title")[0])==null?void 0:u.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 n=o.getElementsByTagName("per-minute");if(n.length&&n[n.length-1]){a.speed=parseFloat(n[n.length-1].textContent||"0");break}}return a};var T=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 g.post("/api-teacher/uploadFile",{data:a});this.$emit("update:modelValue",s.data.url)}catch{}this.uploading=!1}},render(){return t(be,{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(p,{loading:this.uploading},{default:()=>[f("\u4E0A\u4F20\u6587\u4EF6")]})]})}});const ke="_form_1ifdi_1",xe="_container_1ifdi_5",Te="_area_1ifdi_10",je="_rule_1ifdi_18",Ne="_radio_1ifdi_34",Le="_tags_1ifdi_62",Ee="_file_1ifdi_67",Ve="_delbtn_1ifdi_78",Be="_upbtn_1ifdi_83";var l={form:ke,container:xe,area:Te,"clear-px":"_clear-px_1ifdi_14",rule:je,"button-area":"_button-area_1ifdi_29","radio-group":"_radio-group_1ifdi_34",radio:Ne,tags:Le,file:Ee,delbtn:Ve,upbtn:Be},j="./assets/upload.4b2c151a.svg";function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!me(e)}var rt=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=w.teacherCert.subjectId?w.teacherCert.subjectId.split(","):[];return e=e.map(a=>Number(a)),e},subjectList(){return w.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(){g.get("/api-teacher/sysConfig/queryByParamName",{params:{paramName:"music_sheet_service_fee"}}).then(e=>this.music_sheet_service_fee=e.data.paramValue),g.get("/api-teacher/subject/subjectSelect").then(e=>{w.subjectList=e.data||[],this.subjectListNames=this.getSubjectListNames(w.subjectList)}),this.$route.params.id&&this.setDetail(this.$route.params.id)},methods:{async setDetail(e){try{const a=await g.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,u)=>(u===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 g.post("/api-teacher/music/sheet/update",{data:{...this.createSubmitData(),id:this.$route.params.id}}):await g.post("/api-teacher/music/sheet/create",{data:this.createSubmitData()})}catch{}this.submitLoading=!1,ue("\u4E0A\u4F20\u6210\u529F"),setTimeout(()=>{v({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=O(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,v({api:"chooseFile",content:{type:"xml",bucket:"cloud-coach"}},e=>{this.xmlFileUrl=(e==null?void 0:e.fileUrl)||this.xmlFileUrl||"",this.xmlFileLoading=!1,this.xmlFileUrl&&pe(this.xmlFileUrl).then(a=>this.formated=O(a))})},naiveMidFile(){this.midiLoading=!0,v({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,v({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,v({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 u=ce();return t(Ue,{class:l.form,onSubmit:this.submit,onFailed:this.failed},{default:()=>[this.reason&&t(Se,{wrapable:!0,scrollable:!1,text:this.reason},null),t("div",{class:l.container},[t(x,{class:l.area},{default:()=>[t(d,{border:!1,required:!0,title:"MusicXML\u6587\u4EF6"},{default:()=>[t(h,{name:"xmlFileUrl",modelValue:this.xmlFileUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MusicXML\u6587\u4EF6"}]},{input:()=>u.isApp?t(p,{icon:j,class:l.upbtn,onClick:this.naiveXMLFile,loading:this.xmlFileLoading},{default:()=>[this.xmlFileUrl?this.fileName(this.xmlFileUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):t(T,{"onUpdate:modelValue":i=>this.xmlFileUrl=i,accept:".xml",formatFile:this.readerFile},null)})]}),this.audioType==="MP3"?t(de,null,[t(d,{required:!0,title:"\u662F\u5426\u5E26\u8282\u62CD\u5668",border:!1},{default:()=>[t(S,{class:l["radio-group"],modelValue:this.hasBeat,"onUpdate:modelValue":i=>this.hasBeat=i},N(e=Object.keys(z).map(i=>{const o=i===String(this.hasBeat),n=o?"primary":"default";return t(k,{class:l.radio,name:i},{default:()=>[t(U,{size:"large",plain:o,type:n},{default:()=>[z[i]]})]})}))?e:{default:()=>[e]})]}),t(d,{border:!1,title:"\u4F34\u594F\u6587\u4EF6"},{default:()=>[t(h,{name:"mp3Url",modelValue:this.mp3Url},{input:()=>u.isApp?t(p,{icon:j,class:l.upbtn,onClick:this.naiveMp3File,loading:this.mp3Loading},{default:()=>[this.mp3Url?this.fileName(this.mp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):t(T,{"onUpdate:modelValue":i=>this.mp3Url=i,accept:".mp3"},null)})]})]):t(d,{border:!1,required:!0,title:"MIDI\u6587\u4EF6"},{default:()=>[t(h,{name:"midiUrl",modelValue:this.midiUrl,rules:[{required:!0,message:"\u8BF7\u9009\u62E9MIDI\u6587\u4EF6"}]},{input:()=>u.isApp?t(p,{icon:j,class:l.upbtn,onClick:this.naiveMidFile,loading:this.midiLoading},{default:()=>[this.midiUrl?this.fileName(this.midiUrl):"\u4E0A\u4F20\u6587\u4EF6"]}):t(T,{"onUpdate:modelValue":i=>this.midiUrl=i,accept:".mid"},null)})]}),this.backgroundMp3s.map((i,o)=>t(d,{required:!0,border:!1,title:(i.track||"")+"\u539F\u97F3\u6587\u4EF6"},{default:()=>[t(h,{name:"url",modelValue:this.bgmp3Url},{input:()=>u.isApp?t(p,{icon:j,class:l.upbtn,onClick:this.naiveBGMp3File,loading:this.bgmp3Loading},{default:()=>[this.bgmp3Url?this.fileName(this.bgmp3Url):"\u4E0A\u4F20\u6587\u4EF6"]}):t(T,{"onUpdate:modelValue":n=>this.bgmp3Url=n,accept:".mp3"},null)})],right:()=>this.backgroundMp3s.length>1?t(p,{onClick:()=>this.removeBackground(o),style:{border:"none"},icon:"cross"},null):null}))]}),t(x,{class:l.area},{default:()=>[t(d,{required:!0,title:"\u66F2\u76EE\u540D\u79F0"},{default:()=>[t(h,{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(d,{required:!0,title:"\u4F5C\u66F2\u4EBA"},{default:()=>[t(h,{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(d,{required:!0,title:"\u66F2\u76EE\u58F0\u90E8"},{default:()=>{var i;return[t(h,{"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(x,{class:l.area},{default:()=>[t(d,{border:!1,required:!0,title:"\u66F2\u76EE\u6807\u7B7E"},{default:()=>[t(h,{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(U,{type:"primary",size:"large",class:l.tags},{default:()=>[this.tagsNames[i]]})):t(he,{style:{width:"100%"},description:"\u8BF7\u9009\u62E9\u66F2\u76EE\u6807\u7B7E",imageSize:0},null)})],right:()=>t(p,{class:l.select,round:!0,type:"primary",size:"small",onClick:()=>this.tagVisibility=!0},{default:()=>[f("\u9009\u62E9")]})})]}),t(x,{class:l.area},{default:()=>[t(d,{required:!0,title:"\u662F\u5426\u8BC4\u6D4B",border:!1},{default:()=>[t(S,{class:l["radio-group"],modelValue:this.canEvaluate,"onUpdate:modelValue":i=>this.canEvaluate=i},N(a=Object.keys(I).map(i=>{const o=i===String(this.canEvaluate),n=o?"primary":"default";return t(k,{class:l.radio,name:i},{default:()=>[t(U,{size:"large",plain:o,type:n},{default:()=>[I[i]]})]})}))?a:{default:()=>[a]})]}),t(d,{required:!0,title:"\u6307\u6CD5\u5C55\u793A",border:!1},{default:()=>[t(S,{class:l["radio-group"],modelValue:this.showFingering,"onUpdate:modelValue":i=>this.showFingering=i},N(s=Object.keys(R).map(i=>{const o=i===String(this.showFingering),n=o?"primary":"default";return t(k,{class:l.radio,name:i},{default:()=>[t(U,{size:"large",plain:o,type:n},{default:()=>[R[i]]})]})}))?s:{default:()=>[s]})]}),t(d,{required:!0,title:"\u662F\u5426\u6536\u8D39",border:!1},{default:()=>[t(S,{class:l["radio-group"],modelValue:this.chargeType,"onUpdate:modelValue":i=>{this.chargeType=Number(i)}},N(r=Object.keys(q).map(i=>{const o=i===String(this.chargeType),n=o?"primary":"default";return t(k,{class:l.radio,name:i},{default:()=>[t(U,{size:"large",plain:o,type:n},{default:()=>[q[i]]})]})}))?r:{default:()=>[r]})]}),this.chargeType===2&&t(d,{required:!0,title:"\u6536\u8D39\u4EF7\u683C"},{default:()=>[t(h,{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,[f("\u6263\u9664\u624B\u7EED\u8D39\u540E\u8BE5\u66F2\u76EE\u9884\u8BA1\u6536\u5165\u4E3A\uFF1A")]),t("p",null,[f("\u6BCF\u4EBA\uFF1A"),t("span",null,[(parseFloat(this.musicPrice||"0")||0)*(100-this.music_sheet_service_fee)/100]),f("\u5143/\u4EBA")]),t("p",null,[f("\u60A8\u7684\u4E50\u8C31\u6536\u5165\u5C06\u5728\u5B66\u5458\u8D2D\u4E70\u540E\u7ED3\u7B97\u5230\u60A8\u7684\u8D26\u6237\u4E2D")])])]),t(fe,{offsetBottom:0,position:"bottom"},{default:()=>[t("div",{class:l["button-area"]},[t(p,{type:"primary",block:!0,round:!0,"native-type":"submit",loading:this.submitLoading},{default:()=>[f("\u786E\u8BA4")]})])]}),t(L,{show:this.showPicker,round:!0,position:"bottom",teleport:"body","onUpdate:show":i=>this.showPicker=i},{default:()=>[t(ve,{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(L,{show:this.subJectVisible,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":i=>this.subJectVisible=i},{default:()=>[t(ge,{subjectList:this.subjectList,choiceSubjectIds:this.choiceSubjectIds,onChoice:this.onChoice,selectType:"Radio"},null)]}),t(L,{show:this.tagVisibility,round:!0,closeable:!0,position:"bottom",style:{height:"60%"},teleport:"body","onUpdate:show":i=>this.tagVisibility=i},{default:()=>[t(ye,{onComfirm:this.onComfirm,onCancel:()=>{},rowSingle:!0,defaultValue:this.tags.join(","),needAllButton:!1},null)]})]})}});export{rt as default};
|