skyblued 2 년 전
부모
커밋
945974f88a
69개의 변경된 파일246개의 추가작업 그리고 101개의 파일을 삭제
  1. 0 0
      dist/assets/index-legacy.a4f1e3e2.js
  2. 0 0
      dist/assets/index-legacy.f0c2788c.js
  3. 0 0
      dist/assets/index-legacy.f6be1126.js
  4. 0 0
      dist/assets/index-legacy.f914af11.js
  5. 1 0
      dist/assets/index.08c6078a.js
  6. 0 0
      dist/assets/index.218e7f8e.js
  7. 1 0
      dist/assets/index.294940d0.js
  8. 0 0
      dist/assets/index.2b4ecb15.js
  9. 0 0
      dist/assets/index.37111194.js
  10. 1 0
      dist/assets/index.3ed994dc.js
  11. 0 0
      dist/assets/index.41e73d03.js
  12. 0 0
      dist/assets/index.4567da60.js
  13. 0 0
      dist/assets/index.521d76b5.js
  14. 0 0
      dist/assets/index.58aa467a.js
  15. 1 0
      dist/assets/index.638ac2b8.js
  16. 0 0
      dist/assets/index.669cf072.js
  17. 0 0
      dist/assets/index.6cfe2028.js
  18. 1 0
      dist/assets/index.6d28ff89.js
  19. 0 0
      dist/assets/index.7584496f.js
  20. 0 0
      dist/assets/index.7d497328.js
  21. 0 0
      dist/assets/index.84733c90.js
  22. 0 0
      dist/assets/index.8bf1d87e.js
  23. 0 0
      dist/assets/index.8f38bf14.js
  24. 0 0
      dist/assets/index.918584eb.js
  25. 0 0
      dist/assets/index.9b7400fe.js
  26. 0 0
      dist/assets/index.a144f6f9.js
  27. 0 0
      dist/assets/index.a708846e.js
  28. 0 0
      dist/assets/index.a8a46546.js
  29. 0 0
      dist/assets/index.aa456c96.js
  30. 1 0
      dist/assets/index.acd6582d.js
  31. 0 0
      dist/assets/index.afec24b4.js
  32. 1 0
      dist/assets/index.b23d3604.js
  33. 0 0
      dist/assets/index.b7c2a228.js
  34. 0 0
      dist/assets/index.c32b6429.js
  35. 0 0
      dist/assets/index.c440c029.js
  36. 0 0
      dist/assets/index.d5b4cf02.js
  37. 0 0
      dist/assets/index.e3e11409.js
  38. 0 0
      dist/assets/index.e4531355.js
  39. 1 0
      dist/assets/index.e4af021b.js
  40. 0 0
      dist/assets/index.e6924844.js
  41. 0 0
      dist/assets/index.e9c51733.js
  42. 0 0
      dist/assets/item-legacy.00cb2c14.js
  43. 0 0
      dist/assets/item.85430bc7.js
  44. 0 0
      dist/assets/moreArrow-legacy.a7671809.js
  45. 1 0
      dist/assets/moreArrow.999b8fe7.js
  46. 0 0
      dist/assets/scrollbar.min-legacy.7ed50895.js
  47. 0 0
      dist/assets/scrollbar.min.e0ad5789.js
  48. 0 0
      dist/assets/searchdetail-legacy.01dce802.js
  49. 0 0
      dist/assets/searchdetail.afce55d4.js
  50. 0 0
      dist/assets/vendor-legacy.5aa82c98.js
  51. 0 0
      dist/assets/vendor.51d22f40.js
  52. 0 0
      dist/assets/videoDetail-legacy.ec5040de.js
  53. 0 0
      dist/assets/videoDetail.7f2ac6fb.js
  54. 11 0
      dist/index.html
  55. 14 3
      src/components/col-calendar/index.tsx
  56. 1 1
      src/components/col-steps/index.tsx
  57. 9 0
      src/views/user-info/components/item/index.tsx
  58. 1 1
      src/views/user-info/live-class/index.tsx
  59. 76 44
      src/views/user-info/live-operation/course-class/index.tsx
  60. 24 14
      src/views/user-info/live-operation/course-content/index.tsx
  61. 39 23
      src/views/user-info/live-operation/course-info/index.tsx
  62. 3 1
      src/views/user-info/live-operation/course-plan/index.tsx
  63. 3 0
      src/views/user-info/live-operation/createState.ts
  64. 37 0
      src/views/user-info/live-operation/index.tsx
  65. 1 1
      src/views/user-info/music-class/index.tsx
  66. 2 1
      src/views/user-info/music-class/item.tsx
  67. 4 2
      src/views/user-info/music-class/list.tsx
  68. 1 1
      src/views/user-info/video-operation/course-content/index.tsx
  69. 11 9
      src/views/user-info/video-operation/course-info/index.tsx

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index-legacy.a4f1e3e2.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index-legacy.f0c2788c.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index-legacy.f6be1126.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index-legacy.f914af11.js


+ 1 - 0
dist/assets/index.08c6078a.js

@@ -0,0 +1 @@
+import{h as r}from"./hold.c2fff6ac.js";import{l as u,s as d}from"./lineStart.fb76406f.js";import{p as n}from"./player.8b5ee2bb.js";import{d as c,r as h,S as _,f as p,c as t,F as b,a as o}from"./vendor.51d22f40.js";const v="_itemWrap_1h7x4_1",f="_hold_1h7x4_7",g="_masker_1h7x4_11",B="_showPaly_1h7x4_1",x="_startImage_1h7x4_64",C="_itemBottom_1h7x4_88",y="_itemBottomR_1h7x4_97",F="_itemBottomL_1h7x4_100";var e={itemWrap:v,hold:f,masker:g,showPaly:B,startImage:x,itemBottom:C,itemBottomR:y,itemBottomL:F},k=c({name:"albumItem",props:{detail:{type:Object,default:{albumCoverUrl:"",albumDesc:"",albumFavoriteCount:0,albumName:"",albumStatus:0,albumTag:"",auditVersion:0,createBy:0,createTime:"",delFlag:null,hotFlag:null,id:0,musicSheetCount:0,musicTagNames:"",sortNumber:0,topFlag:null,updateBy:34,updateTime:"",favorite:0}}},setup(l){const a=h({detail:l.detail});_(()=>l.detail,i=>{a.detail=i});const m=p(),s=()=>{m.push({path:"/albumDetail",query:{id:a.detail.id}})};return()=>t(b,null,[t("div",{class:e.itemWrap,onClick:()=>{s()}},[t("img",{class:e.startImage,src:a.detail.favorite?u:d,alt:""},null),t("div",{class:e.hold},[t("div",{class:e.masker},[t("img",{src:n,alt:""},null)]),t("img",{src:a.detail.albumCoverUrl?a.detail.albumCoverUrl:r,alt:""},null)]),t("h2",null,[a.detail.albumName]),t("div",{class:e.itemBottom},[t("div",{class:e.itemBottomL},[t("span",null,[a.detail.musicSheetCount,o("\u9996")])]),t("div",{class:e.itemBottomR},[t("span",null,[a.detail.albumFavoriteCount,o("\u6536\u85CF")])])])])])}});export{k as a};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.218e7f8e.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
dist/assets/index.294940d0.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.2b4ecb15.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.37111194.js


+ 1 - 0
dist/assets/index.3ed994dc.js

@@ -0,0 +1 @@
+import{_ as i,a as g,b as n,c as l,d as t,e as m,f as r,g as p,h as c,i as d,j as u,k as b,l as f,m as x,n as v,o as A}from"./music_default.03358cd5.js";import{_ as D}from"./icon_timer.e5c284b0.js";import{_ as T,a as j}from"./icon_vip_default.947b22a2.js";import{g as _,z as h,c as w}from"./index.b7c2a228.js";import{d as E,c as e,a as o}from"./vendor.51d22f40.js";const F=s=>{const a=`../../images/${s}`;return{"../../images/course_bg.png":i,"../../images/entry_active.png":g,"../../images/entry_default.png":n,"../../images/icon_cert.png":l,"../../images/icon_cert_default.png":t,"../../images/icon_king.png":m,"../../images/icon_live.png":r,"../../images/icon_live_default.png":p,"../../images/icon_member.png":c,"../../images/icon_member_default.png":d,"../../images/icon_music.png":u,"../../images/icon_music_default.png":b,"../../images/icon_timer.png":D,"../../images/icon_video.png":f,"../../images/icon_video_default.png":x,"../../images/icon_vip.png":T,"../../images/icon_vip_default.png":j,"../../images/music_active.png":v,"../../images/music_default.png":A}[a].default};var H=E({name:"open-member",render(){return console.log(_()),e("div",null,[e("img",{src:F("icon_king.png"),class:"w-[318px] absolute -top-10 left-1/2 -ml-[158px]"},null),e("div",{class:"text-center text-2xl font-semibold text-[#333] pt-[70px] pb-9"},[o("\u624B\u673A\u626B\u7801\u4E0B\u8F7D"),_()==="STUDENT"?"\u9177\u4E50\u79C0":"\u9177\u4E50\u79C0\u5B66\u9662",o("App")]),_()==="TEACHER"?e("img",{src:h,class:"mx-auto w-[216px] h-[216px] align-middle border-4 border-solid border-[#2DC7AA] rounded-[10px]"},null):e("img",{src:w,class:"mx-auto w-[216px] h-[216px] align-middle border-4 border-solid border-[#2DC7AA] rounded-[10px]"},null),e("p",{class:"text-lg text-center text-[#333] pt-8"},[o("\u6253\u5F00"),_()==="STUDENT"?"\u9177\u4E50\u79C0":"\u9177\u4E50\u79C0\u5B66\u9662",o("App\u5F00\u901A\u4F1A\u5458")])])}});export{H as O};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.41e73d03.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.4567da60.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.521d76b5.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.58aa467a.js


+ 1 - 0
dist/assets/index.638ac2b8.js

@@ -0,0 +1 @@
+import{u as a}from"./index.b7c2a228.js";import{d as o,c as i,a4 as l}from"./vendor.51d22f40.js";const d="_hidden_1x1u9_28";var n={"pagination-container":"_pagination-container_1x1u9_1",hidden:d},u=o({name:"pagination",props:{total:{required:!0,type:Number},page:{type:Number,default:1},limit:{type:Number,default:10},pageSizes:{type:Array,default:[5,10,20,30,50]},layout:{type:String,default:"total, sizes, prev, pager, next"},showMuitiple:{type:Number,default:10},hideOnSinglePage:{type:Boolean,default:!0},background:{type:Boolean,default:!0},autoScroll:{type:Boolean,default:!0},hidden:{type:Boolean,default:!1},sync:{type:Boolean,default:!1},saveKey:{type:String,default:""},pagination:{type:Function,default:()=>{}}},methods:{handleSizeChange(e){if(this.$emit("update:page",1),this.$emit("update:limit",e),this.pagination(),this.autoScroll){const t=document.documentElement.scrollTop||document.body.scrollTop;a(t,0)}},handleCurrentChange(e){if(this.$emit("update:page",e),this.$emit("update:limit",this.limit),this.pagination(),this.autoScroll){const t=document.documentElement.scrollTop||document.body.scrollTop;a(t,0)}}},render(){return i("div",{class:[n["pagination-container"],this.hidden&&n.hidden]},[i(l,{currentPage:this.page,pageSize:this.limit,"onUpdate:currentPage":e=>{},"onUpdate:pageSize":e=>{this.handleSizeChange(e)},pageSizes:this.pageSizes,total:this.total,hideOnSinglePage:this.total>this.showMuitiple?!1:this.hideOnSinglePage,background:this.background,layout:this.layout,"onSise-change":this.handleSizeChange,"onCurrent-change":this.handleCurrentChange},null)])}});export{u as P};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.669cf072.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.6cfe2028.js


+ 1 - 0
dist/assets/index.6d28ff89.js

@@ -0,0 +1 @@
+import{d as i,c as e,x as o,a as s}from"./vendor.51d22f40.js";var a=i({name:"item",props:{item:{type:Object,default:()=>({})}},render(){const t=this.item;return e("div",{class:"border border-[#E0E0E0] box-border rounded-[10px] w-[218px] m-auto overflow-hidden relative transition-all cursor-pointer",onClick:()=>{console.log(t),t.type==="video"&&this.$router.push({path:"/videoDetail",query:{id:t.id}})}},[e("div",{class:"relative"},[e(o,{class:"w-full h-[122px] align-middle",fit:"cover",src:t.backgroundPic},null),e("div",{class:"text-sm text-[#52FFDC] h-7 leading-7 px-3 flex items-center justify-end absolute left-0 right-0 bottom-0 bg-black/60"},[e("i",{class:"w-1 h-1 bg-[#52FFDC] rounded-full mr-1.5 inline-block"},null),t.studentCount,s("\u4EBA\u5DF2\u8D2D\u4E70")])]),e("div",{class:"text-base px-2.5 pt-2 text-[#666666] leading-none font-semibold whitespace-nowrap overflow-hidden text-ellipsis"},[t.courseGroupName]),t.courseStartTime&&e("p",{class:"text-[#999] text-xs px-2.5 leading-none pt-1.5"},[s("\u5F00\u8BFE\u65F6\u95F4\uFF1A"),t.courseStartTime]),e("div",{class:"mx-2.5 pt-1.5 pb-2 flex items-center justify-between"},[e("div",{class:"text-xl text-[#F90000] font-semibold leading-none"},[e("span",{class:"text-sm leading-7"},[s("\uFFE5")]),t.coursePrice]),e("div",{class:"text-base text-[#FF5F22] leading-none"},[t.courseNum,s("\u8BFE\u65F6")])])])}});export{a as I};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.7584496f.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.7d497328.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.84733c90.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.8bf1d87e.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.8f38bf14.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.918584eb.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.9b7400fe.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.a144f6f9.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.a708846e.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.a8a46546.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.aa456c96.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
dist/assets/index.acd6582d.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.afec24b4.js


+ 1 - 0
dist/assets/index.b23d3604.js

@@ -0,0 +1 @@
+import{d as s,c as e,k as r}from"./vendor.51d22f40.js";var t="./assets/icon_empty.df5db7bf.png",a="./assets/icon_no_live.fcb0eb56.png",n="./assets/icon_teacher_cert.ee709a8f.png",i="./assets/icon_music_cert.a65c8b91.png",l=s({name:"col-empty",props:{message:{type:String,default:"\u6682\u65E0\u6570\u636E"},buttonText:{type:String,default:"\u53BB\u9996\u9875"},buttonVisibility:{type:Boolean,default:!1},type:{type:String,default:"empty"},onDetail:{type:Function,default:()=>{}}},computed:{icon(){switch(this.type){case"empty":return t;case"live":return a;case"teacherCert":return n;case"musicCert":return i;default:return t}}},render(){return e("div",{class:"w-full h-full text-center flex items-center justify-center flex-col"},[e("img",{src:this.icon,class:"w-64 m-auto"},null),e("p",{class:"text-base text-[#999999] pt-4 pb-6"},[this.message]),this.buttonVisibility&&e(r,{type:"primary",class:"rounded-sm !px-12",round:!0,style:{height:"48px"},onClick:()=>{this.onDetail()}},{default:()=>[this.buttonText]})])}});export{l as C};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.b7c2a228.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.c32b6429.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.c440c029.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.d5b4cf02.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.e3e11409.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.e4531355.js


+ 1 - 0
dist/assets/index.e4af021b.js

@@ -0,0 +1 @@
+import{d as a,c as t,a as e,k as n}from"./vendor.51d22f40.js";var u="./assets/404.2e8d3dbb.png";const i="_img_qlhqa_11",p="_slideUp_qlhqa_1",l="_tips_qlhqa_18",r="_btn_qlhqa_25";var s={img:i,slideUp:p,tips:l,btn:r},d=a({name:"404",render(){return t("div",{class:"text-center py-32"},[t("img",{src:u,class:["w-[425px] h-[375px] m-auto",s.img]},null),t("p",{class:["pt-9 pb-6 text-xl text-[#999]",s.tips]},[e("\u62B1\u6B49\uFF0C\u9875\u9762\u627E\u4E0D\u5230\u4E86\uFF5E")]),t(n,{type:"primary",class:s.btn,onClick:()=>{this.$router.push("/")}},{default:()=>[e("\u56DE\u5230\u9996\u9875")]})])}});export{d as default};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.e6924844.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/index.e9c51733.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/item-legacy.00cb2c14.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/item.85430bc7.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/moreArrow-legacy.a7671809.js


+ 1 - 0
dist/assets/moreArrow.999b8fe7.js

@@ -0,0 +1 @@
+import{d as o,r as n,S as c,c as A,F as m}from"./vendor.51d22f40.js";const r="_tag_ks7yu_1",g="_small_ks7yu_27",U="_active_ks7yu_34";var s={tag:r,small:g,active:U},p=o({name:"tagItem",emits:["searchTag"],props:{title:{type:String,default:""},isChiose:{type:Boolean,default:!1},item:{type:Object,default:{isCheck:!1}},isSmall:{type:Boolean,default:!1}},setup(a,l){const e=n({title:a.title,isCheck:a.item.isCheck,isSmall:a.isSmall}),i=t=>{l.emit("searchTag",t)};return c(()=>a.item,t=>{console.log(t),e.isCheck=t.isCheck},{deep:!0}),()=>A(m,null,[A("div",{onClick:()=>i(e.title),class:[s.tag,e.isSmall?s.small:""]},[e.title])])}}),C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAwlJREFUWEfVmT1oFFEQx//z4iVYCAEtFAUJFlpo5UcsDVgINoIKEay08ANtYpODu9u3ewenzRWJqFhYKSpJIIWpbQUVxFiYQkGMKFxOAhaarHkjc7kLe5dLLm/3Nqxb7nsz78fMzsfOI4R4tNZqaWnpqFJqAMBhZt4PYBeAbTV1vwB8J6IZAG+NMS+7urpea62N7XFkI1AoFHb7vn+DmS8C2GMjC2CWiB6nUqm7mUzm20ZlNwSYTqe3p1KpPIBLAHo2qnyNfQsAHvm+ny0Wi5V2utoCaq0HjTGjAHa0U2a5PqeUuqm1frae3JqAWustzDzKzFctD7baTkQPiEhA/7YSbAlYKpW2zs/PjwE4bXVa+M1Tvb2954eGhn43q1gFKJYzxkxuIlydaUopdabZkqsAHce5H7db1zK0uNt13WvB9QbAWkA8De+p6JJKqQvBwFkBrKWSjzFEqy31nO/7B+opaAUwl8vdA9Bg3jaapSpIlL9TSl1h5uO2JOvsv+953nVZrwJKhVhcXPxkmYSfeJ4nFQUjIyM9lUplkplPdQhyobu7e59UnCqg4zhFZh62Ua6UuqO1XpHpNCQR3XZdN01S+I0xX0LU1ooxpr9QKIjlq0+HIWeVUnspm832E9ErG+sF9s4aY07EBSnfNTmOM8zMxZCAIhYbJBGlKZfLjQM4GwFQRL8aYwZisOSEAE4DOBgRMC7IDwJY7mBybmnJcrn8gohOhjDCnAD+scx/7c5ZBZnJZPqUUp/bCbZYX9gUwHw+3+f7fmjAxLv4PYBDIczfLBJHJE9LHhxj5nMRAeOAAxGNdyJRxwJX7WQkUUcsdbHBCWC11EVoFn4aY47FUD3qX9tysxC23SKikuu6t2LqZMS9y+1WhIZ1wvO8anB1uM0SlY0Nq7wJ0fIzgIcyHAJwGUB/xEwQFG9s+WUl8T9NApmE304Ag57nPa+b8//6ca9ZMdmjD4FM9PCo7vtEj9+C8Z7YAWYQMtEj4CBoYofozRUieA3BzEcAyDXEzqZriB8AZojoTZRriH/AKz0mle7dAAAAAABJRU5ErkJggg==";export{C as a,p as t};

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/scrollbar.min-legacy.7ed50895.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/scrollbar.min.e0ad5789.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/searchdetail-legacy.01dce802.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/searchdetail.afce55d4.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/vendor-legacy.5aa82c98.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/vendor.51d22f40.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/videoDetail-legacy.ec5040de.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/assets/videoDetail.7f2ac6fb.js


+ 11 - 0
dist/index.html

@@ -34,8 +34,14 @@
     <!-- windows phone 点击无高光 -->
     <!-- windows phone 点击无高光 -->
     <meta name="msapplication-tap-highlight" content="no" />
     <meta name="msapplication-tap-highlight" content="no" />
     <title>酷乐秀</title>
     <title>酷乐秀</title>
+<<<<<<< HEAD
     <script type="module" crossorigin src="./assets/index.b76c8aec.js"></script>
     <script type="module" crossorigin src="./assets/index.b76c8aec.js"></script>
     <link rel="stylesheet" href="./assets/index.a89d4fca.css">
     <link rel="stylesheet" href="./assets/index.a89d4fca.css">
+=======
+    <script type="module" crossorigin src="./assets/index.b7c2a228.js"></script>
+    <link rel="modulepreload" href="./assets/vendor.51d22f40.js">
+    <link rel="stylesheet" href="./assets/index.c087993d.css">
+>>>>>>> liu-v1.3
     <script type="module">!function(){try{new Function("m","return import(m)")}catch(o){console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}}();</script>
     <script type="module">!function(){try{new Function("m","return import(m)")}catch(o){console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}}();</script>
   </head>
   </head>
 
 
@@ -43,7 +49,12 @@
     <div id="app"></div>
     <div id="app"></div>
     
     
     <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
     <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
+<<<<<<< HEAD
     <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.e1319d9f.js"></script>
     <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.e1319d9f.js"></script>
     <script nomodule id="vite-legacy-entry" data-src="./assets/index-legacy.90803b59.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
     <script nomodule id="vite-legacy-entry" data-src="./assets/index-legacy.90803b59.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+=======
+    <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.f87d81cd.js"></script>
+    <script nomodule id="vite-legacy-entry" data-src="./assets/index-legacy.2e7d505e.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+>>>>>>> liu-v1.3
   </body>
   </body>
 </html>
 </html>

+ 14 - 3
src/components/col-calendar/index.tsx

@@ -6,6 +6,8 @@ import styles from './index.module.less'
 import IconArrow from '@/common/images/icon_arrow.png'
 import IconArrow from '@/common/images/icon_arrow.png'
 import IconClock from '@/common/images/icon_clock.png'
 import IconClock from '@/common/images/icon_clock.png'
 import { ElButton, ElDialog, ElMessage, ElTag } from 'element-plus'
 import { ElButton, ElDialog, ElMessage, ElTag } from 'element-plus'
+import isToday from 'dayjs/plugin/isToday'
+dayjs.extend(isToday)
 
 
 export default defineComponent({
 export default defineComponent({
   name: 'calendar',
   name: 'calendar',
@@ -112,7 +114,8 @@ export default defineComponent({
       const dateStr = dayjs(date.date).format('YYYY-MM-DD')
       const dateStr = dayjs(date.date).format('YYYY-MM-DD')
       const dateObj = this.list[dateStr]
       const dateObj = this.list[dateStr]
       // 判断是否有课程 并且 时间在当前时间之后
       // 判断是否有课程 并且 时间在当前时间之后
-      if (dateObj && dayjs().isBefore(dayjs(date.date))) {
+      date.type = ''
+      if (dateObj && dayjs().subtract(1, 'day').isBefore(dayjs(date.date))) {
         if (
         if (
           dateObj &&
           dateObj &&
           (dateObj.fullCourse ||
           (dateObj.fullCourse ||
@@ -126,12 +129,15 @@ export default defineComponent({
       } else {
       } else {
         date.type = 'disabled'
         date.type = 'disabled'
       }
       }
+      if(this.$route.name == 'userInfoLiveOperation' && dayjs(date.date).isToday()) {
+        date.type = 'disabled'
+      }
       if (dateObj && this.isSkipHolidays && dateObj.holiday) {
       if (dateObj && this.isSkipHolidays && dateObj.holiday) {
         // date.bottomInfo = '节假日'
         // date.bottomInfo = '节假日'
         date.type = 'disabled'
         date.type = 'disabled'
       }
       }
 
 
-      date.type = date.type === 'selected' ? '' : date.type
+      // date.type = date.type === 'selected' ? '' : date.type
       return date
       return date
     },
     },
     onPrevMonth() {
     onPrevMonth() {
@@ -198,7 +204,12 @@ export default defineComponent({
     },
     },
     _dayChange(date: Date) {
     _dayChange(date: Date) {
       const dateStr = dayjs(date).format('YYYY-MM-DD')
       const dateStr = dayjs(date).format('YYYY-MM-DD')
-      let dataList = (this.list[dateStr] && this.list[dateStr].courseTime) || []
+      let dataList = [] as any
+      if (this.list[dateStr] && Array.isArray(this.list[dateStr].courseTime)) {
+        dataList = [...this.list[dateStr].courseTime].filter(n =>
+          dayjs().isBefore(dayjs(n.startTime))
+        )
+      }
       dataList.forEach((item: any) => {
       dataList.forEach((item: any) => {
         item.start = dayjs(item.startTime).format('HH:mm')
         item.start = dayjs(item.startTime).format('HH:mm')
         item.end = dayjs(item.endTime).format('HH:mm')
         item.end = dayjs(item.endTime).format('HH:mm')

+ 1 - 1
src/components/col-steps/index.tsx

@@ -78,7 +78,7 @@ export default defineComponent({
     this.stepLength = this.list[this.type].length
     this.stepLength = this.list[this.type].length
   },
   },
   render() {
   render() {
-    console.log(this.active)
+    // console.log(this.active)
     return (
     return (
       <div class={[styles.steps, 'flex items-center justify-between bg-white']}>
       <div class={[styles.steps, 'flex items-center justify-between bg-white']}>
         {this.list[this.type].map((item: any, index: number) => (
         {this.list[this.type].map((item: any, index: number) => (

+ 9 - 0
src/views/user-info/components/item/index.tsx

@@ -25,6 +25,15 @@ export default defineComponent({
               }
               }
             })
             })
           }
           }
+          if (item.type === 'live' && item.status === "CANCEL"){ // 直播课
+            this.$router.push({
+              path: '/userInfo/liveOperation',
+              query:{
+                type: 'edit',
+                groupId: item.courseGroupId
+              }
+            })
+          }
         }}
         }}
       >
       >
         {/* {item.subjectName && (
         {/* {item.subjectName && (

+ 1 - 1
src/views/user-info/live-class/index.tsx

@@ -31,7 +31,7 @@ export default defineComponent({
               })
               })
             } else {
             } else {
               if (!state.user.data?.entryFlag) {
               if (!state.user.data?.entryFlag) {
-                ElMessage.error('您还未完成达人认证,认证后才可创建视频课')
+                ElMessage.error('您还未完成达人认证,认证后才可创建直播课程')
                 return
                 return
               }
               }
 
 

+ 76 - 44
src/views/user-info/live-operation/course-class/index.tsx

@@ -111,6 +111,22 @@ export default defineComponent({
           scrollAnimation(currentY, 0)
           scrollAnimation(currentY, 0)
         })
         })
       }
       }
+    },
+    async onUpdate() {
+      const params = {
+        id: createState.live.courseGroupId,
+        ...createState.live,
+        startTime: createState.live.coursePlanList[0].startTime,
+        backgroundPic:
+          createState.live.backgroundPic ||
+          createState.live.backgroundPicTemplate
+      }
+      // console.log({...params})
+      await request.post('/api-website/courseGroup/updateLiveCourse', {
+        data: params
+      })
+      ElMessage.success('编辑成功')
+      this.$router.replace('/userInfo/liveClass')
     }
     }
   },
   },
   render() {
   render() {
@@ -152,6 +168,7 @@ export default defineComponent({
               }}
               }}
               placeholder="请输入开售日期"
               placeholder="请输入开售日期"
               type="date"
               type="date"
+              disabled={createState.live.courseGroupId ? true : false}
             />
             />
           </ElFormItem>
           </ElFormItem>
           <ElFormItem
           <ElFormItem
@@ -184,6 +201,7 @@ export default defineComponent({
               }}
               }}
               placeholder="请输入停售日期"
               placeholder="请输入停售日期"
               type="date"
               type="date"
+              disabled={createState.live.courseGroupId ? true : false}
             />
             />
           </ElFormItem>
           </ElFormItem>
           <ElFormItem
           <ElFormItem
@@ -205,10 +223,11 @@ export default defineComponent({
               v-slots={{
               v-slots={{
                 suffix: () => <span class="text-base text-[#999]">人</span>
                 suffix: () => <span class="text-base text-[#999]">人</span>
               }}
               }}
+              disabled={createState.live.courseGroupId ? true : false}
             />
             />
           </ElFormItem>
           </ElFormItem>
-         {/*  <ElFormItem label="课程封面" class="!mb-0" required> */}
-            {/* <ElTabs
+          {/*  <ElFormItem label="课程封面" class="!mb-0" required> */}
+          {/* <ElTabs
               v-model={createState.tabIndex}
               v-model={createState.tabIndex}
               class={styles.tabs}
               class={styles.tabs}
               onTab-change={(name: any) => {
               onTab-change={(name: any) => {
@@ -220,35 +239,35 @@ export default defineComponent({
             </ElTabs>
             </ElTabs>
 
 
             */}
             */}
-              <ElFormItem
-              label="课程封面"
-              prop="backgroundPic"
-              rules={[
-                {
-                  required: true,
-                  message: '请上传课程封面',
-                  trigger: 'change'
-                }
-              ]}
-            >
-              <ColCropper
-                modelValue={createState.live.backgroundPic}
-                bucket="video-course"
-                cropUploadSuccess={(data: any) => {
-                  createState.live.backgroundPic = data
-                  createState.live.backgroundPicTemplate = ''
-                }}
-                options={{
-                  title: '课程封面',
-                  fixedNumber: [3.34, 2],
-                  autoCropWidth: 375,
-                  autoCropHeight: 212
-                  // fixedNumber: [3, 2],
-                  // autoCropWidth: 300,
-                  // autoCropHeight: 200
-                }}
-              />
-            </ElFormItem>
+          <ElFormItem
+            label="课程封面"
+            prop="backgroundPic"
+            rules={[
+              {
+                required: true,
+                message: '请上传课程封面',
+                trigger: 'change'
+              }
+            ]}
+          >
+            <ColCropper
+              modelValue={createState.live.backgroundPic}
+              bucket="video-course"
+              cropUploadSuccess={(data: any) => {
+                createState.live.backgroundPic = data
+                createState.live.backgroundPicTemplate = ''
+              }}
+              options={{
+                title: '课程封面',
+                fixedNumber: [3.34, 2],
+                autoCropWidth: 375,
+                autoCropHeight: 212
+                // fixedNumber: [3, 2],
+                // autoCropWidth: 300,
+                // autoCropHeight: 200
+              }}
+            />
+          </ElFormItem>
           {/* </ElFormItem> */}
           {/* </ElFormItem> */}
 
 
           {/* {createState.tabIndex === 1 && (
           {/* {createState.tabIndex === 1 && (
@@ -297,11 +316,13 @@ export default defineComponent({
             onClick={() => {
             onClick={() => {
               // console.log(true)
               // console.log(true)
               createState.active = 2
               createState.active = 2
-              createState.live.salesStartDate = ''
-              createState.live.salesEndDate = ''
-              createState.live.backgroundPic = ''
-              createState.live.backgroundPicTemplate = ''
-              createState.live.mixStudentNum = null
+              if (!createState.live.courseGroupId) {
+                createState.live.salesStartDate = ''
+                createState.live.salesEndDate = ''
+                createState.live.backgroundPic = ''
+                createState.live.backgroundPicTemplate = ''
+                createState.live.mixStudentNum = null
+              }
             }}
             }}
           >
           >
             上一步
             上一步
@@ -340,14 +361,25 @@ export default defineComponent({
                 >
                 >
                   返回编辑
                   返回编辑
                 </ElButton>
                 </ElButton>
-                <ElButton
-                  size="large"
-                  round
-                  type="primary"
-                  onClick={this.onSubmit}
-                >
-                  创建完成
-                </ElButton>
+                {createState.live.courseGroupId ? (
+                  <ElButton
+                    size="large"
+                    round
+                    type="primary"
+                    onClick={this.onUpdate}
+                  >
+                    确定修改
+                  </ElButton>
+                ) : (
+                  <ElButton
+                    size="large"
+                    round
+                    type="primary"
+                    onClick={this.onSubmit}
+                  >
+                    创建完成
+                  </ElButton>
+                )}
               </span>
               </span>
             )
             )
           }}
           }}

+ 24 - 14
src/views/user-info/live-operation/course-content/index.tsx

@@ -118,6 +118,10 @@ export default defineComponent({
       })
       })
     },
     },
     async onSubmit() {
     async onSubmit() {
+      if (createState.live.courseGroupId){
+        createState.active = 3
+        return
+      }
       if (createState.selectCourseList.length <= 0) {
       if (createState.selectCourseList.length <= 0) {
         Toast('请选择课程时间')
         Toast('请选择课程时间')
         return
         return
@@ -243,17 +247,19 @@ export default defineComponent({
     return (
     return (
       <div class={[styles.arrange]}>
       <div class={[styles.arrange]}>
         <div class="px-12 pt-7">
         <div class="px-12 pt-7">
-          <div class="px-8 pt-4 pb-6 bg-[#FCFCFC] rounded-[10px]">
-            <ColCalendar
-              selectList={createState.selectCourseList}
-              list={this.calendarList}
-              maxDays={createState.live.courseNum || 0}
-              nextMonth={(date: Date) => this.getList(date)}
-              prevMonth={(date: Date) => this.getList(date)}
-              selectDay={this.onSelectDay}
-              v-model:calendarDate={this.calendarDate}
-            />
-          </div>
+          {createState.live.courseGroupId ? null : (
+            <div class="px-8 pt-4 pb-6 bg-[#FCFCFC] rounded-[10px]">
+              <ColCalendar
+                selectList={createState.selectCourseList}
+                list={this.calendarList}
+                maxDays={createState.live.courseNum || 0}
+                nextMonth={(date: Date) => this.getList(date)}
+                prevMonth={(date: Date) => this.getList(date)}
+                selectDay={this.onSelectDay}
+                v-model:calendarDate={this.calendarDate}
+              />
+            </div>
+          )}
 
 
           <div class={[styles.arrangeCell, '!my-4']}>
           <div class={[styles.arrangeCell, '!my-4']}>
             <div class={styles.rTitle}>
             <div class={styles.rTitle}>
@@ -268,7 +274,7 @@ export default defineComponent({
                     size="large"
                     size="large"
                     effect="light"
                     effect="light"
                     class={['mb-2 !border-[#2DC7AA] !color-[#2DC7AA] mr-2']}
                     class={['mb-2 !border-[#2DC7AA] !color-[#2DC7AA] mr-2']}
-                    closable
+                    closable={createState.live.courseGroupId ? false : true}
                     onClose={() => this.onCloseTag(item)}
                     onClose={() => this.onCloseTag(item)}
                   >
                   >
                     {item.title}
                     {item.title}
@@ -285,10 +291,14 @@ export default defineComponent({
             round
             round
             class="!w-44 !h-[48px] !text-base"
             class="!w-44 !h-[48px] !text-base"
             onClick={() => {
             onClick={() => {
-              this.onReset()
+              if (!createState.live.courseGroupId) {
+                this.onReset()
+              }
               createState.active = 1
               createState.active = 1
               // 重置选择的课次
               // 重置选择的课次
-              createState.selectCourseList = []
+              if (!createState.live.courseGroupId) {
+                createState.selectCourseList = []
+              }
             }}
             }}
           >
           >
             上一步
             上一步

+ 39 - 23
src/views/user-info/live-operation/course-info/index.tsx

@@ -29,24 +29,36 @@ export default defineComponent({
   data() {
   data() {
     return {
     return {
       url: '',
       url: '',
-      calcRatePrice: 0 as any,
-      calcSingleRatePrice: 0 as any
+      // calcRatePrice: 0 as any,
+      // calcSingleRatePrice: 0 as any
     }
     }
   },
   },
   computed: {
   computed: {
     subjectList() {
     subjectList() {
       // 学科列表
       // 学科列表
       return createState.subjectList || []
       return createState.subjectList || []
+    },
+    calcSingleRatePrice() {
+      let rate = createState.rate || 0
+      let nums = createState.live.courseNum
+      let price = createState.live.coursePrice || 0
+      return nums ? ((price / nums) * (1 - rate / 100)).toFixed(2) : 0
+    },
+    calcRatePrice() {
+      // 计算手续费
+      let rate = createState.rate || 0
+      let price = createState.live.coursePrice || 0
+      return (price - (rate / 100) * price).toFixed(2)
     }
     }
   },
   },
   async mounted() {
   async mounted() {
-    const rate = createState.rate || 0
-    const nums = createState.live.courseNum
-    const tempPrice = createState.live.coursePrice || 0
-    this.calcRatePrice = (tempPrice - (rate / 100) * tempPrice).toFixed(2)
-    this.calcSingleRatePrice = nums
-      ? ((tempPrice / nums) * (1 - rate / 100)).toFixed(2)
-      : 0
+    // const rate = createState.rate || 0
+    // const nums = createState.live.courseNum
+    // const tempPrice = createState.live.coursePrice || 0
+    // this.calcRatePrice = (tempPrice - (rate / 100) * tempPrice).toFixed(2)
+    // this.calcSingleRatePrice = nums
+    //   ? ((tempPrice / nums) * (1 - rate / 100)).toFixed(2)
+    //   : 0
     try {
     try {
       // 获取手续费和分钟数
       // 获取手续费和分钟数
       let config = await request.get(
       let config = await request.get(
@@ -77,6 +89,9 @@ export default defineComponent({
 
 
       let teacher = await request.post('/api-website/teacher/querySubject')
       let teacher = await request.post('/api-website/teacher/querySubject')
       createState.subjectList = teacher.data || []
       createState.subjectList = teacher.data || []
+      if (createState.live.subjectName){
+        createState.live.subjectId = (createState.subjectList.find((n:any) => n.name === createState.live.subjectName) as any)?.id || ''
+      }
     } catch (err: any) {
     } catch (err: any) {
       console.log(err)
       console.log(err)
     }
     }
@@ -91,9 +106,9 @@ export default defineComponent({
       let rate = createState.rate || 0
       let rate = createState.rate || 0
       let nums = createState.live.courseNum
       let nums = createState.live.courseNum
       let tempPrice = createState.live.coursePrice || 0
       let tempPrice = createState.live.coursePrice || 0
-      this.calcSingleRatePrice = nums
-        ? ((tempPrice / nums) * (1 - rate / 100)).toFixed(2)
-        : 0
+      // this.calcSingleRatePrice = nums
+      //   ? ((tempPrice / nums) * (1 - rate / 100)).toFixed(2)
+      //   : 0
     },
     },
     onFormatter(e: any) {
     onFormatter(e: any) {
       e.target.value = verifyNumberIntegerAndFloat(e.target.value)
       e.target.value = verifyNumberIntegerAndFloat(e.target.value)
@@ -101,13 +116,13 @@ export default defineComponent({
       // 计算手续费
       // 计算手续费
       let rate = createState.rate || 0
       let rate = createState.rate || 0
       let price = e.target.value || 0
       let price = e.target.value || 0
-      this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
+      // this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
 
 
       let nums = createState.live.courseNum
       let nums = createState.live.courseNum
       // let tempPrice = createState.live.coursePrice || 0
       // let tempPrice = createState.live.coursePrice || 0
-      this.calcSingleRatePrice = nums
-        ? ((price / nums) * (1 - rate / 100)).toFixed(2)
-        : 0
+      // this.calcSingleRatePrice = nums
+      //   ? ((price / nums) * (1 - rate / 100)).toFixed(2)
+      //   : 0
     }
     }
   },
   },
   render() {
   render() {
@@ -120,6 +135,7 @@ export default defineComponent({
           labelWidth={'120px'}
           labelWidth={'120px'}
           labelPosition="left"
           labelPosition="left"
           model={createState.live}
           model={createState.live}
+          disabled={createState.live.courseGroupId ? true : false}
         >
         >
           <ElFormItem
           <ElFormItem
             label="课程名称"
             label="课程名称"
@@ -252,14 +268,14 @@ export default defineComponent({
                   verifyNumberIntegerAndFloat(value)
                   verifyNumberIntegerAndFloat(value)
 
 
                 // 计算手续费
                 // 计算手续费
-                const rate = createState.rate || 0
-                const price = createState.live.coursePrice || 0
-                this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
+                // const rate = createState.rate || 0
+                // const price = createState.live.coursePrice || 0
+                // this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
 
 
-                const nums = createState.live.courseNum
-                this.calcSingleRatePrice = nums
-                  ? ((price / nums) * (1 - rate / 100)).toFixed(2)
-                  : 0
+                // const nums = createState.live.courseNum
+                // this.calcSingleRatePrice = nums
+                //   ? ((price / nums) * (1 - rate / 100)).toFixed(2)
+                //   : 0
               }}
               }}
               maxlength={8}
               maxlength={8}
               v-slots={{
               v-slots={{

+ 3 - 1
src/views/user-info/live-operation/course-plan/index.tsx

@@ -93,7 +93,9 @@ export default defineComponent({
             class="!w-44 !h-[48px] !text-base"
             class="!w-44 !h-[48px] !text-base"
             onClick={() => {
             onClick={() => {
               createState.active = 0
               createState.active = 0
-              createState.live.coursePlanList = [{ ...basePlan }]
+              if (!createState.live.courseGroupId) {
+                createState.live.coursePlanList = [{ ...basePlan }]
+              }
             }}
             }}
           >
           >
             上一步
             上一步

+ 3 - 0
src/views/user-info/live-operation/createState.ts

@@ -23,8 +23,11 @@ const original = () => {
     selectCourseList: [] as any, // 选择课程列表
     selectCourseList: [] as any, // 选择课程列表
     coursePlanStatus: false, // 是否有锁课程
     coursePlanStatus: false, // 是否有锁课程
     live: {
     live: {
+      courseGroupId: '',
+      teacherId: '',
       name: '',
       name: '',
       subjectId: null as any,
       subjectId: null as any,
+      subjectName: '',
       courseIntroduce: '',
       courseIntroduce: '',
       courseNum: null as any,
       courseNum: null as any,
       singleCourseMinutes: 0,
       singleCourseMinutes: 0,

+ 37 - 0
src/views/user-info/live-operation/index.tsx

@@ -17,6 +17,43 @@ export default defineComponent({
   },
   },
   created() {
   created() {
     resestState()
     resestState()
+    this.getLiveClassDetail()
+  },
+  methods: {
+    // 获取直播课详情
+    async getLiveClassDetail() {
+      const groupId = this.$route.query.groupId
+      if (!groupId) return
+      const res = await request.get(
+        `/api-website/courseGroup/queryLiveCourseInfo?groupId=${groupId}`
+      )
+      console.log(res, [...createState.subjectList])
+      if (res.code == 200) {
+        const data = res.data
+        createState.live.courseGroupId = data.courseGroupId
+        createState.live.teacherId = data.teacherId
+        createState.live.name = data.courseGroupName
+        createState.live.subjectName = data.subjectName
+        createState.live.courseIntroduce = data.courseIntroduce
+        createState.live.courseNum = data.courseNum
+        createState.live.singleMins = data.singleCourseMinutes
+        createState.live.coursePrice = data.coursePrice
+        const list = data.planList.map(n => {
+          if (n.startTime && n.endTime) {
+            n.start = n.startTime.split(' ')[1]
+            n.end = n.endTime.split(' ')[1]
+          }
+          return n
+        })
+        createState.live.coursePlanList = list
+        createState.selectCourseList = list
+        createState.live.salesStartDate = data.salesStartDate
+        createState.live.salesEndDate = data.salesEndDate
+        createState.live.mixStudentNum = data.mixStudentNum
+        // createState.live.coursePrice = data.singleCourseMinutes
+        createState.live.backgroundPic = data.backgroundPic
+      }
+    }
   },
   },
   render() {
   render() {
     return (
     return (

+ 1 - 1
src/views/user-info/music-class/index.tsx

@@ -32,7 +32,7 @@ export default defineComponent({
                 path: '/userInfo/musicOperation'
                 path: '/userInfo/musicOperation'
               })
               })
             } else {
             } else {
-              ElMessage.error('您还未完成达人认证,认证后才可创建视频课哦')
+              ElMessage.error('您还未完成达人认证,认证后才可上传乐谱哦')
               return
               return
             }
             }
           }}
           }}

+ 2 - 1
src/views/user-info/music-class/item.tsx

@@ -47,7 +47,8 @@ export default defineComponent({
       }
       }
     )
     )
     const gotoMusicDetail = () => {
     const gotoMusicDetail = () => {
-      router.push({ path: '/muiscDetial', query: { id: state.item.id } })
+      console.log(1)
+      // router.push({ path: '/muiscDetial', query: { id: state.item.id } })
     }
     }
     return () => (
     return () => (
       <div
       <div

+ 4 - 2
src/views/user-info/music-class/list.tsx

@@ -111,6 +111,9 @@ export default defineComponent({
                 {this.list.map((item: any) => (
                 {this.list.map((item: any) => (
                   <MusicItem
                   <MusicItem
                     onClick={(item: any) => {
                     onClick={(item: any) => {
+                      if (['PASS', 'DOING'].includes(this.auditStatus)) {
+                        this.$router.push({ path: '/muiscDetial', query: { id: item.id } })
+                      }
                       if (this.auditStatus === 'UNPASS') {
                       if (this.auditStatus === 'UNPASS') {
                         console.log(item)
                         console.log(item)
                         this.$router.push({
                         this.$router.push({
@@ -120,9 +123,8 @@ export default defineComponent({
                             id: item.id
                             id: item.id
                           }
                           }
                         })
                         })
-                      } else {
-                        // 跳转对应详情 个人中心不跳转到详情
                       }
                       }
+                      
                     }}
                     }}
                     item={{
                     item={{
                       id: item.id,
                       id: item.id,

+ 1 - 1
src/views/user-info/video-operation/course-content/index.tsx

@@ -315,7 +315,7 @@ export default defineComponent({
                   type="primary"
                   type="primary"
                   onClick={this.createSubmit}
                   onClick={this.createSubmit}
                 >
                 >
-                  创建完成
+                  {createState.groupId ? '确认修改' : '创建完成'}
                 </ElButton>
                 </ElButton>
               </span>
               </span>
             )
             )

+ 11 - 9
src/views/user-info/video-operation/course-info/index.tsx

@@ -27,7 +27,7 @@ export default defineComponent({
   data() {
   data() {
     return {
     return {
       url: '',
       url: '',
-      calcRatePrice: 0 as any
+      // calcRatePrice: 0 as any
     }
     }
   },
   },
   computed: {
   computed: {
@@ -51,13 +51,13 @@ export default defineComponent({
         }
         }
       })
       })
       return tempStr
       return tempStr
+    },
+    calcRatePrice() {
+      // 计算手续费
+      let rate = createState.rate || 0
+      let price = createState.lessonGroup.lessonPrice || 0
+      return (price - (rate / 100) * price).toFixed(2)
     }
     }
-    // calcRatePrice() {
-    //   // 计算手续费
-    //   let rate = createState.rate || 0
-    //   let price = createState.lessonGroup.lessonPrice || 0
-    //   return (price - (rate / 100) * price).toFixed(2)
-    // }
   },
   },
   async mounted() {
   async mounted() {
     try {
     try {
@@ -68,7 +68,7 @@ export default defineComponent({
 
 
       const rate = createState.rate || 0
       const rate = createState.rate || 0
       const price = createState.lessonGroup.lessonPrice || 0
       const price = createState.lessonGroup.lessonPrice || 0
-      this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
+      // this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
       // setInterval(() => {
       // setInterval(() => {
       //   console.log(
       //   console.log(
       //     createState.lessonGroup.lessonCoverTemplateUrl,
       //     createState.lessonGroup.lessonCoverTemplateUrl,
@@ -90,7 +90,7 @@ export default defineComponent({
       // 计算手续费
       // 计算手续费
       let rate = createState.rate || 0
       let rate = createState.rate || 0
       let price = e.target.value || 0
       let price = e.target.value || 0
-      this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
+      // this.calcRatePrice = (price - (rate / 100) * price).toFixed(2)
     },
     },
     tabChange(name: number) {
     tabChange(name: number) {
       ;(this as any).$refs.form.clearValidate('lessonCoverTemplateUrl')
       ;(this as any).$refs.form.clearValidate('lessonCoverTemplateUrl')
@@ -143,6 +143,7 @@ export default defineComponent({
               class="w-full"
               class="w-full"
               v-model={createState.lessonGroup.lessonSubject}
               v-model={createState.lessonGroup.lessonSubject}
               placeholder="请选择课程声部"
               placeholder="请选择课程声部"
+              disabled={createState.lessonGroup.id ? true : false}
             >
             >
               {createState.subjectList.map((item: any) => (
               {createState.subjectList.map((item: any) => (
                 <ElOption key={item.id} value={item.id} label={item.name} />
                 <ElOption key={item.id} value={item.id} label={item.name} />
@@ -188,6 +189,7 @@ export default defineComponent({
               v-slots={{
               v-slots={{
                 suffix: () => <span class="text-base text-[#999]">元</span>
                 suffix: () => <span class="text-base text-[#999]">元</span>
               }}
               }}
+              disabled={createState.lessonGroup.id ? true : false}
             />
             />
           </ElFormItem>
           </ElFormItem>
           <div class="text-sm text-[#999] pl-[120px] leading-relaxed pb-2">
           <div class="text-sm text-[#999] pl-[120px] leading-relaxed pb-2">

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.