import{D as P,f as R,o as T,J as a,Q as m,R as r,S as o,K as u,U as _,a1 as p,F as j,al as A,j as N,a0 as v,$ as E,r as k,a9 as J,at as i,aZ as K}from"./vue-vendor-BSww6V4k.js";import{E as g}from"./element-plus-DvNsnHjj.js";import{k as V}from"./knowledge-mNDvLyO7.js";import{u as L}from"./category-Bk2cWwvM.js";import{b as O}from"./format-D1rp7NC7.js";import{P as Q}from"./PageCard-DaHB0nvz.js";import{_ as Z}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{E as G}from"./EmptyState-CrJS9_aC.js";import{_ as H}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const W={class:"page-title"},X={key:1},Y={key:1},h={key:1},ee={key:1},te=P({__name:"view",setup(le){const C=K(),x=L(),w=k(0),s=k(!1),b=k(!1),d=k(null),t=J({title:"",description:"",categoryId:void 0,difficulty:1,coursewares:[]});async function S(){const n=Number(C.params.id);if(!n){s.value=!0;return}w.value=n;const e=await V.getById(n);d.value=e.data,B(e.data)}function B(n){t.title=n.title,t.description=n.description||"",t.categoryId=n.categoryId,t.difficulty=n.difficulty||1,t.coursewares=n.coursewares?[...n.coursewares]:[]}function U(n){var e;(e=t.coursewares)==null||e.splice(n,1)}async function $(){if(!t.title){g.warning("请输入课程标题");return}b.value=!0;try{w.value?(await V.update(w.value,t),g.success("保存成功"),s.value=!1,S()):(await V.create(t),g.success("创建成功"))}finally{b.value=!1}}return R(()=>C.params.id,S,{immediate:!0}),T(()=>x.loadTree()),(n,e)=>{const y=i("el-button"),I=i("el-input"),f=i("el-form-item"),q=i("el-option"),z=i("el-select"),F=i("el-rate"),c=i("el-table-column"),D=i("el-table"),M=i("el-form");return a(),m("div",null,[r(Q,null,{header:o(()=>[_("span",W,p(s.value?"编辑课程":"课程详情"),1),_("div",null,[s.value?(a(),u(y,{key:1,onClick:e[1]||(e[1]=l=>s.value=!1)},{default:o(()=>[...e[7]||(e[7]=[v("取消",-1)])]),_:1})):(a(),u(y,{key:0,type:"primary",onClick:e[0]||(e[0]=l=>s.value=!0)},{default:o(()=>[...e[6]||(e[6]=[v("编辑",-1)])]),_:1})),s.value?(a(),u(y,{key:2,type:"primary",loading:b.value,onClick:$},{default:o(()=>[...e[8]||(e[8]=[v("保存",-1)])]),_:1},8,["loading"])):E("",!0)])]),default:o(()=>[d.value?(a(),u(M,{key:0,model:t,"label-width":"100px",class:"detail-form"},{default:o(()=>[e[10]||(e[10]=_("div",{class:"section"},"基础信息",-1)),r(f,{label:"课程标题",required:s.value},{default:o(()=>[s.value?(a(),u(I,{key:0,modelValue:t.title,"onUpdate:modelValue":e[2]||(e[2]=l=>t.title=l)},null,8,["modelValue"])):(a(),m("span",X,p(d.value.title),1))]),_:1},8,["required"]),r(f,{label:"课程分类",required:s.value},{default:o(()=>[s.value?(a(),u(z,{key:0,modelValue:t.categoryId,"onUpdate:modelValue":e[3]||(e[3]=l=>t.categoryId=l),placeholder:"选择分类"},{default:o(()=>[(a(!0),m(j,null,A(N(x).categoryOptions,l=>(a(),u(q,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):(a(),m("span",Y,p(d.value.categoryName||"-"),1))]),_:1},8,["required"]),r(f,{label:"状态"},{default:o(()=>[r(Z,{status:d.value.status},null,8,["status"])]),_:1}),r(f,{label:"难度"},{default:o(()=>[s.value?(a(),u(F,{key:0,modelValue:t.difficulty,"onUpdate:modelValue":e[4]||(e[4]=l=>t.difficulty=l),max:3},null,8,["modelValue"])):(a(),m("span",h,p(["未设置","初级","中级","高级"][d.value.difficulty||0]),1))]),_:1}),r(f,{label:"描述"},{default:o(()=>[s.value?(a(),u(I,{key:0,modelValue:t.description,"onUpdate:modelValue":e[5]||(e[5]=l=>t.description=l),type:"textarea",rows:3},null,8,["modelValue"])):(a(),m("span",ee,p(d.value.description||"-"),1))]),_:1}),e[11]||(e[11]=_("div",{class:"section"},"课件列表",-1)),r(D,{data:t.coursewares||[],border:"",size:"small"},{default:o(()=>[r(c,{type:"index",width:"50"}),r(c,{prop:"title",label:"课件名称"}),r(c,{prop:"typeName",label:"类型",width:"120"}),r(c,{prop:"fileSize",label:"大小",width:"120"},{default:o(({row:l})=>[v(p(N(O)(l.fileSize||0)),1)]),_:1}),s.value?(a(),u(c,{key:0,label:"操作",width:"100"},{default:o(({$index:l})=>[r(y,{link:"",type:"danger",onClick:ae=>U(l)},{default:o(()=>[...e[9]||(e[9]=[v("删除",-1)])]),_:1},8,["onClick"])]),_:1})):E("",!0)]),_:1},8,["data"])]),_:1},8,["model"])):(a(),u(G,{key:1,text:"加载中..."}))]),_:1})])}}}),ce=H(te,[["__scopeId","data-v-b34fd9da"]]);export{ce as default};