2026-05-12
This commit is contained in:
1
training/codes/training-system-frontend/dist/assets/js/AppLayout-CI0monTU.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/AppLayout-CI0monTU.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{aU as T,r as L,D as k,at as i,J as a,Q as h,W as g,j as o,U as u,Z as z,a2 as E,a1 as y,R as t,S as e,F as M,al as V,K as c,a0 as S,_ as N,$ as A,e as C,aZ as U,a_ as F,V as H,a3 as Z}from"./vue-vendor-BSww6V4k.js";import{u as R,a as j,_ as I}from"./index-BUj-isDj.js";import{f as J,b as K,c as Q,u as W,s as q,d as G}from"./element-plus-DvNsnHjj.js";import"./vendor-DvZSZC-J.js";const D=T("app",()=>{const f=L(!1),l=L([]);function p(){f.value=!f.value}function n(_){l.value=_}return{sidebarCollapsed:f,breadcrumb:l,toggleSidebar:p,setBreadcrumb:n}},{persist:!0}),O={class:"sidebar-logo"},P={class:"sidebar-logo-text"},X={class:"brand-sub"},Y={key:0,class:"sidebar-divider"},ee=k({__name:"Sidebar",setup(f){const l=D(),p=R(),n=j(),_=C(()=>p.userRole==="STUDENT"?"学员端":"管理后台");function v(m){var d;return!!((d=m.children)!=null&&d.some(r=>r.id===n.activeMenu))}return(m,d)=>{const r=i("el-icon"),b=i("el-menu-item"),x=i("el-sub-menu"),$=i("el-menu"),B=i("el-scrollbar");return a(),h("aside",{class:g(["sidebar",{collapsed:o(l).sidebarCollapsed}])},[u("div",O,[d[1]||(d[1]=u("div",{class:"sidebar-logo-icon"},"🚗",-1)),z(u("div",P,[d[0]||(d[0]=u("span",{class:"brand-name"},"中道救援培训",-1)),u("span",X,y(_.value),1)],512),[[E,!o(l).sidebarCollapsed]])]),t(B,{class:"sidebar-menu"},{default:e(()=>[t($,{"default-active":o(n).activeMenu,collapse:o(l).sidebarCollapsed,"collapse-transition":!1,router:""},{default:e(()=>[(a(!0),h(M,null,V(o(n).filteredMenus,s=>(a(),h(M,{key:s.id},[s.type==="divider"?(a(),h("div",Y)):s.children&&s.children.length?(a(),c(x,{key:1,index:s.id,class:g({active:v(s)})},{title:e(()=>[s.icon?(a(),c(r,{key:0},{default:e(()=>[(a(),c(N(s.icon)))]),_:2},1024)):A("",!0),u("span",null,y(s.name),1)]),default:e(()=>[(a(!0),h(M,null,V(s.children,w=>(a(),c(b,{key:w.id,index:w.id,route:w.url,class:g({active:o(n).activeMenu===w.id})},{default:e(()=>[S(y(w.name),1)]),_:2},1032,["index","route","class"]))),128))]),_:2},1032,["index","class"])):(a(),c(b,{key:2,index:s.id,route:s.url,class:g({active:o(n).activeMenu===s.id})},{title:e(()=>[S(y(s.name),1)]),default:e(()=>[s.icon?(a(),c(r,{key:0},{default:e(()=>[(a(),c(N(s.icon)))]),_:2},1024)):A("",!0)]),_:2},1032,["index","route","class"]))],64))),128))]),_:1},8,["default-active","collapse"])]),_:1})],2)}}}),ae=I(ee,[["__scopeId","data-v-fcfca52b"]]),te=k({__name:"Breadcrumb",setup(f){const l=U();return(p,n)=>{const _=i("el-breadcrumb-item"),v=i("el-breadcrumb");return a(),c(v,{separator:"/"},{default:e(()=>{var m;return[t(_,{to:{path:"/dashboard"}},{default:e(()=>[...n[0]||(n[0]=[S("首页",-1)])]),_:1}),(m=o(l).meta)!=null&&m.title?(a(),c(_,{key:0},{default:e(()=>[S(y(o(l).meta.title),1)]),_:1})):A("",!0)]}),_:1})}}}),se={class:"top-header"},oe={class:"header-left"},ne={class:"header-user"},re={class:"avatar"},le=k({__name:"Header",setup(f){const l=F(),p=D(),n=R(),_=C(()=>{var d,r;return((d=n.userInfo)==null?void 0:d.realName)||((r=n.userInfo)==null?void 0:r.username)||"用户"}),v=C(()=>_.value.charAt(0));function m(d){d==="logout"&&G.confirm("确定要退出登录吗?","提示",{type:"warning"}).then(()=>{n.logout(),l.push("/login")})}return(d,r)=>{const b=i("el-icon"),x=i("el-dropdown-item"),$=i("el-dropdown-menu"),B=i("el-dropdown");return a(),h("header",se,[u("div",oe,[u("div",{class:"collapse-btn",onClick:r[0]||(r[0]=s=>o(p).toggleSidebar())},[t(b,{size:18},{default:e(()=>[o(p).sidebarCollapsed?(a(),c(o(K),{key:1})):(a(),c(o(J),{key:0}))]),_:1})]),t(te)]),t(B,{onCommand:m},{dropdown:e(()=>[t($,null,{default:e(()=>[t(x,{command:"profile"},{default:e(()=>[t(b,null,{default:e(()=>[t(o(W))]),_:1}),r[1]||(r[1]=S("个人中心",-1))]),_:1}),t(x,{divided:"",command:"logout"},{default:e(()=>[t(b,null,{default:e(()=>[t(o(q))]),_:1}),r[2]||(r[2]=S("退出登录",-1))]),_:1})]),_:1})]),default:e(()=>[u("div",ne,[u("div",re,y(v.value),1),u("span",null,y(_.value),1),t(b,null,{default:e(()=>[t(o(Q))]),_:1})])]),_:1})])}}}),de=I(le,[["__scopeId","data-v-10708cf0"]]),ue={class:"layout-wrapper"},ce={class:"main-content"},ie=k({__name:"AppLayout",setup(f){const l=D(),p=C(()=>({marginLeft:l.sidebarCollapsed?"64px":"var(--sidebar-w)"}));return(n,_)=>{const v=i("router-view");return a(),h("div",ue,[t(ae),u("div",{class:"main-wrapper",style:H(p.value)},[t(de),u("div",ce,[t(v,null,{default:e(({Component:m})=>[t(Z,{name:"fade",mode:"out-in"},{default:e(()=>[(a(),c(N(m)))]),_:2},1024)]),_:1})])],4)])}}}),ve=I(ie,[["__scopeId","data-v-25c459d7"]]);export{ve as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/EmptyState-CrJS9_aC.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/EmptyState-CrJS9_aC.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as a,at as s,J as t,Q as n,R as c,S as r,K as p,_,U as i,a1 as m}from"./vue-vendor-BSww6V4k.js";import{_ as l}from"./index-BUj-isDj.js";const d={class:"empty-state"},f=a({__name:"EmptyState",props:{icon:{},text:{}},setup(e){return(x,u)=>{const o=s("el-icon");return t(),n("div",d,[c(o,{size:48,color:"#c4b5fd"},{default:r(()=>[(t(),p(_(e.icon||"Inbox")))]),_:1}),i("p",null,m(e.text||"暂无数据"),1)])}}}),v=l(f,[["__scopeId","data-v-1b33267b"]]);export{v as E};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/PageCard-DaHB0nvz.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/PageCard-DaHB0nvz.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as r}from"./index-BUj-isDj.js";import{J as s,Q as a,I as o,$ as t,U as c}from"./vue-vendor-BSww6V4k.js";const d={},n={class:"page-card"},_={key:0,class:"page-card-header"},l={class:"page-card-body"};function i(e,m){return s(),a("div",n,[e.$slots.header?(s(),a("div",_,[o(e.$slots,"header")])):t("",!0),c("div",l,[o(e.$slots,"default")])])}const h=r(d,[["render",i]]);export{h as P};
|
||||
@@ -0,0 +1 @@
|
||||
import{S as a}from"./index-BUj-isDj.js";import{D as c,J as l,K as u,S as _,a0 as m,a1 as i,e as s,at as d}from"./vue-vendor-BSww6V4k.js";const y=c({__name:"StatusBadge",props:{status:{}},setup(o){const e=o,n=s(()=>{var t;return((t=a[e.status])==null?void 0:t.type)||"info"}),p=s(()=>{var t;return((t=a[e.status])==null?void 0:t.label)||e.status});return(t,f)=>{const r=d("el-tag");return l(),u(r,{type:n.value,size:"small",round:""},{default:_(()=>[m(i(p.value),1)]),_:1},8,["type"])}}});export{y as _};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/category-BVWklMWc.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/category-BVWklMWc.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{E as C,d as z}from"./element-plus-DvNsnHjj.js";import{u as A,c as x}from"./category-Bk2cWwvM.js";import{a as J}from"./format-D1rp7NC7.js";import{P as K}from"./PageCard-DaHB0nvz.js";import{D as Q,o as Z,J as $,Q as h,R as l,S as n,r as s,at as i,Z as F,K as G,U as S,a1 as T,V as H,a0 as u,j as B,a9 as W,au as X}from"./vue-vendor-BSww6V4k.js";import{_ as Y}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const w=Q({__name:"category",setup(ee){const f=A(),c=s(!1),I=s([]),m=s(!1),v=s(!1),_=s(),y=s(!1),g=s(void 0),o=W({name:"",parentId:void 0,sortOrder:0}),E={name:[{required:!0,message:"请输入分类名称",trigger:"blur"}]};function O(t,e=0){var d;const r=[];for(const p of t)r.push({...p,depth:e}),(d=p.children)!=null&&d.length&&r.push(...O(p.children,e+1));return r}async function b(){c.value=!0;try{await f.loadTree(),I.value=O(f.tree)}finally{c.value=!1}}function k(t,e){y.value=!!t,g.value=t==null?void 0:t.id,o.name=(t==null?void 0:t.name)||"",o.parentId=e??(t==null?void 0:t.parentId)??void 0,o.sortOrder=(t==null?void 0:t.sortOrder)??0,m.value=!0}async function U(){_.value&&await _.value.validate(async t=>{if(t){v.value=!0;try{y.value&&g.value?(await x.update({id:g.value,name:o.name,parentId:o.parentId,sortOrder:o.sortOrder}),C.success("更新成功")):(await x.create({name:o.name,parentId:o.parentId,sortOrder:o.sortOrder}),C.success("创建成功")),m.value=!1,b()}finally{v.value=!1}}})}async function N(t){await z.confirm(`确定删除分类「${t.name}」吗?`,"警告",{type:"error"}),await x.delete(t.id),C.success("删除成功"),b()}return Z(b),(t,e)=>{const r=i("el-button"),d=i("el-table-column"),p=i("el-table"),M=i("el-input"),V=i("el-form-item"),R=i("el-tree-select"),L=i("el-input-number"),P=i("el-form"),j=i("el-dialog"),q=X("loading");return $(),h("div",null,[l(K,null,{header:n(()=>[e[7]||(e[7]=S("span",{class:"page-title"},"课程分类",-1)),l(r,{type:"primary",onClick:e[0]||(e[0]=a=>k())},{default:n(()=>[...e[6]||(e[6]=[u("+ 新建分类",-1)])]),_:1})]),default:n(()=>[F(($(),G(p,{data:I.value,stripe:"","row-key":"id","default-expand-all":""},{default:n(()=>[l(d,{prop:"name",label:"分类名称","min-width":"200"},{default:n(({row:a})=>[S("span",{style:H({paddingLeft:a.depth?`${a.depth*16}px`:"0"})},T(a.name),5)]),_:1}),l(d,{prop:"departmentName",label:"所属部门",width:"160"}),l(d,{prop:"knowledgeCount",label:"课程数",width:"100"}),l(d,{prop:"sortOrder",label:"排序",width:"80"}),l(d,{prop:"createTime",label:"创建时间",width:"160"},{default:n(({row:a})=>[u(T(B(J)(a.createTime)),1)]),_:1}),l(d,{label:"操作",width:"180",fixed:"right"},{default:n(({row:a})=>[l(r,{link:"",type:"primary",onClick:D=>k(a)},{default:n(()=>[...e[8]||(e[8]=[u("编辑",-1)])]),_:1},8,["onClick"]),l(r,{link:"",type:"primary",onClick:D=>k(null,a.id)},{default:n(()=>[...e[9]||(e[9]=[u("添加子类",-1)])]),_:1},8,["onClick"]),l(r,{link:"",type:"danger",onClick:D=>N(a)},{default:n(()=>[...e[10]||(e[10]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[q,c.value]])]),_:1}),l(j,{modelValue:m.value,"onUpdate:modelValue":e[5]||(e[5]=a=>m.value=a),title:y.value?"编辑分类":"新建分类",width:"460px"},{footer:n(()=>[l(r,{onClick:e[4]||(e[4]=a=>m.value=!1)},{default:n(()=>[...e[11]||(e[11]=[u("取消",-1)])]),_:1}),l(r,{type:"primary",loading:v.value,onClick:U},{default:n(()=>[...e[12]||(e[12]=[u("确定",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(P,{model:o,rules:E,ref_key:"formRef",ref:_,"label-width":"80px"},{default:n(()=>[l(V,{label:"分类名称",prop:"name"},{default:n(()=>[l(M,{modelValue:o.name,"onUpdate:modelValue":e[1]||(e[1]=a=>o.name=a),placeholder:"请输入分类名称"},null,8,["modelValue"])]),_:1}),l(V,{label:"父分类"},{default:n(()=>[l(R,{modelValue:o.parentId,"onUpdate:modelValue":e[2]||(e[2]=a=>o.parentId=a),data:B(f).tree,props:{label:"name",value:"id",children:"children"},placeholder:"不选则为顶级分类",clearable:"","check-strictly":""},null,8,["modelValue","data"])]),_:1}),l(V,{label:"排序"},{default:n(()=>[l(L,{modelValue:o.sortOrder,"onUpdate:modelValue":e[3]||(e[3]=a=>o.sortOrder=a),min:0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),ie=Y(w,[["__scopeId","data-v-3b118421"]]);export{ie as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/category-Bk2cWwvM.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/category-Bk2cWwvM.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{aU as u,r as c,e as y}from"./vue-vendor-BSww6V4k.js";import{d as f,p,b as w,g as o}from"./index-BUj-isDj.js";const n={getTree:e=>o("/knowledge/category/tree",e?{departmentId:e}:void 0),getList:e=>o("/knowledge/category/list",e?{departmentId:e}:void 0),getSelectable:()=>o("/knowledge/category/selectable"),getById:e=>o(`/knowledge/category/${e}`),create:e=>w("/knowledge/category",e),update:e=>p("/knowledge/category",e),delete:e=>f(`/knowledge/category/${e}`)},m=u("category",()=>{const e=c([]),r=c([]),g=y(()=>{const t=[];function s(d){for(const a of d)t.push({label:a.name,value:a.id}),a.children&&s(a.children)}return s(e.value),t});async function l(){const t=await n.getTree();return e.value=t.data,t.data}async function i(){const t=await n.getList();return r.value=t.data,t.data}return{tree:e,flatList:r,categoryOptions:g,loadTree:l,loadList:i}});export{n as c,m as u};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/coverTemplate-ChEvBgG9.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/coverTemplate-ChEvBgG9.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{E as y,d as S}from"./element-plus-DvNsnHjj.js";import{d as I,p as D,b as J,g as L,_ as K}from"./index-BUj-isDj.js";import{P as Q}from"./PageCard-DaHB0nvz.js";import{E as j}from"./EmptyState-CrJS9_aC.js";import{D as G,o as H,J as n,Q as f,R as o,S as a,r as m,at as p,F as W,al as X,U as _,a0 as i,K as C,$ as O,a1 as R}from"./vue-vendor-BSww6V4k.js";import"./vendor-DvZSZC-J.js";const v={getList:()=>L("/knowledge/cover-template/list"),getActive:()=>L("/knowledge/cover-template/active"),create:r=>J("/knowledge/cover-template",r),update:(r,u)=>D(`/knowledge/cover-template/${r}`,u),updateStatus:(r,u)=>D(`/knowledge/cover-template/${r}/status`,{status:u}),delete:r=>I(`/knowledge/cover-template/${r}`)},Y={key:0,class:"template-grid"},Z={class:"template-img-wrap"},h=["src"],ee={key:1,class:"template-img placeholder"},te={class:"template-overlay"},le={class:"template-info"},ae={class:"template-name"},oe=G({__name:"coverTemplate",setup(r){const u=m([]),w=m(!1),c=m(!1),k=m(!1),b=m(!1),$=m(),s=m({name:"",imageUrl:"",sortOrder:0}),B={name:[{required:!0,message:"请输入底板名称",trigger:"blur"}],imageUrl:[{required:!0,message:"请输入图片URL",trigger:"blur"}]};async function g(){w.value=!0;try{const l=await v.getList();u.value=l.data||[]}finally{w.value=!1}}function x(l){b.value=!!l,l?s.value={id:l.id,name:l.name,imageUrl:l.imageUrl,sortOrder:l.sortOrder||0}:s.value={name:"",imageUrl:"",sortOrder:0},c.value=!0}async function N(){var e;if(await((e=$.value)==null?void 0:e.validate().catch(()=>!1))){k.value=!0;try{b.value&&s.value.id?await v.update(s.value.id,s.value):await v.create(s.value),y.success("保存成功"),c.value=!1,g()}finally{k.value=!1}}}async function T(l){await v.updateStatus(l.id,1),y.success("已启用"),g()}async function M(l){await S.confirm(`确定禁用底板「${l.name}」吗?`,"提示",{type:"warning"}),await v.updateStatus(l.id,0),y.success("已禁用"),g()}async function q(l){await S.confirm(`确定删除底板「${l.name}」吗?`,"警告",{type:"error"}),await v.delete(l.id),y.success("删除成功"),g()}return H(g),(l,e)=>{const d=p("el-button"),A=p("el-tag"),E=p("el-input"),U=p("el-form-item"),F=p("el-input-number"),P=p("el-form"),z=p("el-dialog");return n(),f("div",null,[o(Q,null,{header:a(()=>[e[7]||(e[7]=_("span",{class:"page-title"},"封面底板",-1)),o(d,{type:"primary",onClick:e[0]||(e[0]=t=>x())},{default:a(()=>[...e[6]||(e[6]=[i("+ 新建底板",-1)])]),_:1})]),default:a(()=>[u.value.length?(n(),f("div",Y,[(n(!0),f(W,null,X(u.value,t=>(n(),f("div",{key:t.id,class:"template-card"},[_("div",Z,[t.imageUrl?(n(),f("img",{key:0,src:t.imageUrl,class:"template-img"},null,8,h)):(n(),f("div",ee,"暂无图片")),_("div",te,[o(d,{link:"",type:"primary",onClick:V=>x(t)},{default:a(()=>[...e[8]||(e[8]=[i("编辑",-1)])]),_:1},8,["onClick"]),t.status===0?(n(),C(d,{key:0,link:"",type:"primary",onClick:V=>T(t)},{default:a(()=>[...e[9]||(e[9]=[i("启用",-1)])]),_:1},8,["onClick"])):O("",!0),t.status===1?(n(),C(d,{key:1,link:"",type:"warning",onClick:V=>M(t)},{default:a(()=>[...e[10]||(e[10]=[i("禁用",-1)])]),_:1},8,["onClick"])):O("",!0),o(d,{link:"",type:"danger",onClick:V=>q(t)},{default:a(()=>[...e[11]||(e[11]=[i("删除",-1)])]),_:1},8,["onClick"])])]),_("div",le,[_("span",ae,R(t.name),1),o(A,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[i(R(t.status===1?"启用":"禁用"),1)]),_:2},1032,["type"])])]))),128))])):(n(),C(j,{key:1,text:"暂无封面底板"}))]),_:1}),o(z,{modelValue:c.value,"onUpdate:modelValue":e[5]||(e[5]=t=>c.value=t),title:b.value?"编辑底板":"新建底板",width:"480px","destroy-on-close":""},{footer:a(()=>[o(d,{onClick:e[4]||(e[4]=t=>c.value=!1)},{default:a(()=>[...e[12]||(e[12]=[i("取消",-1)])]),_:1}),o(d,{type:"primary",onClick:N,loading:k.value},{default:a(()=>[...e[13]||(e[13]=[i("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[o(P,{model:s.value,rules:B,ref_key:"formRef",ref:$,"label-width":"90px"},{default:a(()=>[o(U,{label:"底板名称",prop:"name"},{default:a(()=>[o(E,{modelValue:s.value.name,"onUpdate:modelValue":e[1]||(e[1]=t=>s.value.name=t),placeholder:"请输入底板名称"},null,8,["modelValue"])]),_:1}),o(U,{label:"图片URL",prop:"imageUrl"},{default:a(()=>[o(E,{modelValue:s.value.imageUrl,"onUpdate:modelValue":e[2]||(e[2]=t=>s.value.imageUrl=t),placeholder:"请输入图片URL"},null,8,["modelValue"])]),_:1}),o(U,{label:"排序"},{default:a(()=>[o(F,{modelValue:s.value.sortOrder,"onUpdate:modelValue":e[3]||(e[3]=t=>s.value.sortOrder=t),min:0,"controls-position":"right"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),me=K(oe,[["__scopeId","data-v-b45d9fb1"]]);export{me as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/detail-wSWEBPOd.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/detail-wSWEBPOd.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as z,o as S,J as n,Q as h,R as t,S as a,aZ as D,r as B,U as i,a1 as s,a0 as r,K as u,$ as k,e as C,at as c}from"./vue-vendor-BSww6V4k.js";import{t as T}from"./training-CgUCWPn_.js";import{u as q,_ as E}from"./index-BUj-isDj.js";import{P as L}from"./PageCard-DaHB0nvz.js";import{_ as V}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{E as I}from"./EmptyState-CrJS9_aC.js";import"./element-plus-DvNsnHjj.js";import"./vendor-DvZSZC-J.js";const A={key:0,class:"detail-panel"},P={class:"detail-header"},R={class:"detail-title"},U={class:"detail-meta"},$={class:"detail-desc"},J={class:"section-title"},K={class:"section-title"},M={class:"section-title"},Q=z({__name:"detail",setup(Z){const w=D(),x=q(),e=B(null),f=C(()=>{var p;return((p=x.userInfo)==null?void 0:p.role)==="STUDENT"});async function N(){const p=Number(w.params.id),l=await T.getById(p);e.value=l.data}return S(N),(p,l)=>{const o=c("el-table-column"),m=c("el-tag"),_=c("el-table");return n(),h("div",null,[t(L,null,{header:a(()=>[...l[0]||(l[0]=[i("span",{class:"page-title"},"培训详情",-1)])]),default:a(()=>{var v,y,g;return[e.value?(n(),h("div",A,[i("div",P,[i("div",R,s(e.value.title),1),t(V,{status:e.value.status},null,8,["status"])]),i("div",U,[i("span",null,s(e.value.departmentName),1),i("span",null,s(e.value.startDate)+" 至 "+s(e.value.endDate),1),i("span",null,"创建人:"+s(e.value.creatorName),1)]),i("div",$,s(e.value.description||"暂无描述"),1),i("div",J,"关联课程("+s(((v=e.value.knowledgeList)==null?void 0:v.length)||0)+")",1),t(_,{data:e.value.knowledgeList||[],stripe:"",border:"",size:"small"},{default:a(()=>[t(o,{type:"index",width:"50"}),t(o,{prop:"knowledge?.title",label:"课程名称"},{default:a(({row:d})=>{var b;return[r(s(((b=d.knowledge)==null?void 0:b.title)||"-"),1)]}),_:1}),t(o,{prop:"required",label:"是否必修",width:"100"},{default:a(({row:d})=>[r(s(d.required?"必修":"选修"),1)]),_:1}),f.value?(n(),u(o,{key:0,label:"状态",width:"100"},{default:a(({row:d})=>[d.learned?(n(),u(m,{key:0,type:"success",size:"small"},{default:a(()=>[...l[1]||(l[1]=[r("已完成",-1)])]),_:1})):(n(),u(m,{key:1,type:"info",size:"small"},{default:a(()=>[...l[2]||(l[2]=[r("未学习",-1)])]),_:1}))]),_:1})):k("",!0)]),_:1},8,["data"]),i("div",K,"关联考试("+s(((y=e.value.examList)==null?void 0:y.length)||0)+")",1),t(_,{data:e.value.examList||[],stripe:"",border:"",size:"small"},{default:a(()=>[t(o,{type:"index",width:"50"}),t(o,{prop:"examTitle",label:"考试名称"}),t(o,{prop:"required",label:"是否必修",width:"100"},{default:a(({row:d})=>[r(s(d.required?"必修":"选修"),1)]),_:1}),f.value?(n(),u(o,{key:0,label:"状态",width:"100"},{default:a(({row:d})=>[d.passed?(n(),u(m,{key:0,type:"success",size:"small"},{default:a(()=>[...l[3]||(l[3]=[r("已通过",-1)])]),_:1})):(n(),u(m,{key:1,type:"info",size:"small"},{default:a(()=>[...l[4]||(l[4]=[r("未通过",-1)])]),_:1}))]),_:1})):k("",!0)]),_:1},8,["data"]),i("div",M,"培训对象("+s(((g=e.value.targets)==null?void 0:g.length)||0)+")",1),t(_,{data:e.value.targets||[],stripe:"",border:"",size:"small"},{default:a(()=>[t(o,{type:"index",width:"50"}),t(o,{prop:"targetTypeName",label:"对象类型",width:"120"}),t(o,{prop:"targetName",label:"对象名称"})]),_:1},8,["data"])])):(n(),u(I,{key:1,text:"加载中..."}))]}),_:1})])}}}),ee=E(Q,[["__scopeId","data-v-79861e4f"]]);export{ee as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/edit-CbOMSR5b.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/edit-CbOMSR5b.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D,o as O,J as p,Q as T,R as a,S as o,aZ as $,e as x,r as i,F as E,al as N,U as f,a0 as k,a1 as S,at as n,a_ as Y,K as L}from"./vue-vendor-BSww6V4k.js";import{E as P}from"./element-plus-DvNsnHjj.js";import{e as v}from"./exam-qzu6wP5U.js";import{p as q}from"./paper-D3C2rJDU.js";import{P as F}from"./PageCard-DaHB0nvz.js";import{_ as H}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const J={class:"page-title"},K=D({__name:"edit",setup(Z){const c=$(),U=Y(),r=x(()=>!!c.params.id),_=i(),d=i(!1),V=i([]),l=i({id:void 0,title:"",description:"",paperId:void 0,startTime:"",endTime:"",retryTimes:1,lateMinutes:0,showAnswer:!1,shuffleQuestion:!1,shuffleOption:!1}),g=x({get(){return l.value.startTime&&l.value.endTime?[l.value.startTime,l.value.endTime]:null},set(u){u?(l.value.startTime=u[0],l.value.endTime=u[1]):(l.value.startTime="",l.value.endTime="")}}),I={title:[{required:!0,message:"请输入考试名称",trigger:"blur"}],paperId:[{required:!0,message:"请选择试卷",trigger:"change"}]};async function M(){const u=await q.getList();V.value=u.data||[]}async function h(){if(!r.value)return;const e=(await v.getById(Number(c.params.id))).data;l.value={id:e.id,title:e.title,description:e.description||"",paperId:e.paperId,startTime:e.startTime||"",endTime:e.endTime||"",retryTimes:e.retryTimes??1,lateMinutes:e.lateMinutes??0,showAnswer:e.showAnswer??!1,shuffleQuestion:e.shuffleQuestion??!1,shuffleOption:e.shuffleOption??!1}}async function A(){var e;if(await((e=_.value)==null?void 0:e.validate().catch(()=>!1))){d.value=!0;try{r.value?await v.update(l.value):await v.create(l.value),P.success("保存成功"),U.push("/exam/list")}finally{d.value=!1}}}return O(()=>{M(),h()}),(u,e)=>{const w=n("el-input"),s=n("el-form-item"),C=n("el-option"),Q=n("el-select"),R=n("el-date-picker"),b=n("el-input-number"),m=n("el-switch"),y=n("el-button"),B=n("el-form");return p(),T("div",null,[a(F,null,{header:o(()=>[f("span",J,S(r.value?"编辑考试":"新建考试"),1)]),default:o(()=>[a(B,{model:l.value,rules:I,ref_key:"formRef",ref:_,"label-width":"100px",style:{"max-width":"720px"}},{default:o(()=>[a(s,{label:"考试名称",prop:"title"},{default:o(()=>[a(w,{modelValue:l.value.title,"onUpdate:modelValue":e[0]||(e[0]=t=>l.value.title=t),placeholder:"请输入考试名称"},null,8,["modelValue"])]),_:1}),a(s,{label:"试卷",prop:"paperId"},{default:o(()=>[a(Q,{modelValue:l.value.paperId,"onUpdate:modelValue":e[1]||(e[1]=t=>l.value.paperId=t),placeholder:"请选择试卷",style:{width:"100%"},filterable:""},{default:o(()=>[(p(!0),T(E,null,N(V.value,t=>(p(),L(C,{key:t.id,label:`${t.title}(${t.totalScore}分 / ${t.duration}分钟)`,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(s,{label:"考试时间"},{default:o(()=>[a(R,{modelValue:g.value,"onUpdate:modelValue":e[2]||(e[2]=t=>g.value=t),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),a(s,{label:"可考次数"},{default:o(()=>[a(b,{modelValue:l.value.retryTimes,"onUpdate:modelValue":e[3]||(e[3]=t=>l.value.retryTimes=t),min:1,max:99,"controls-position":"right"},null,8,["modelValue"]),e[10]||(e[10]=f("span",{class:"form-tip"},"次(默认为1次)",-1))]),_:1}),a(s,{label:"迟到限制"},{default:o(()=>[a(b,{modelValue:l.value.lateMinutes,"onUpdate:modelValue":e[4]||(e[4]=t=>l.value.lateMinutes=t),min:0,max:999,"controls-position":"right"},null,8,["modelValue"]),e[11]||(e[11]=f("span",{class:"form-tip"},"分钟(0表示不限制)",-1))]),_:1}),a(s,{label:"显示答案"},{default:o(()=>[a(m,{modelValue:l.value.showAnswer,"onUpdate:modelValue":e[5]||(e[5]=t=>l.value.showAnswer=t),"active-text":"交卷后显示答案"},null,8,["modelValue"])]),_:1}),a(s,{label:"题目乱序"},{default:o(()=>[a(m,{modelValue:l.value.shuffleQuestion,"onUpdate:modelValue":e[6]||(e[6]=t=>l.value.shuffleQuestion=t),"active-text":"开启"},null,8,["modelValue"])]),_:1}),a(s,{label:"选项乱序"},{default:o(()=>[a(m,{modelValue:l.value.shuffleOption,"onUpdate:modelValue":e[7]||(e[7]=t=>l.value.shuffleOption=t),"active-text":"开启"},null,8,["modelValue"])]),_:1}),a(s,{label:"考试说明"},{default:o(()=>[a(w,{modelValue:l.value.description,"onUpdate:modelValue":e[8]||(e[8]=t=>l.value.description=t),type:"textarea",rows:4,placeholder:"可选,考试说明会展示给考生"},null,8,["modelValue"])]),_:1}),a(s,null,{default:o(()=>[a(y,{type:"primary",onClick:A,loading:d.value},{default:o(()=>[...e[12]||(e[12]=[k("保存",-1)])]),_:1},8,["loading"]),a(y,{onClick:e[9]||(e[9]=t=>u.$router.back())},{default:o(()=>[...e[13]||(e[13]=[k("取消",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})])}}}),te=H(K,[["__scopeId","data-v-35293f0c"]]);export{te as default};
|
||||
39
training/codes/training-system-frontend/dist/assets/js/element-plus-DvNsnHjj.js
vendored
Normal file
39
training/codes/training-system-frontend/dist/assets/js/element-plus-DvNsnHjj.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/exam-qzu6wP5U.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/exam-qzu6wP5U.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{b as r,g as a,d as t,p as s}from"./index-BUj-isDj.js";const d={getPage:e=>a("/exam/page",e),getById:e=>a(`/exam/${e}`),create:e=>r("/exam",e),update:e=>s("/exam",e),delete:e=>t(`/exam/${e}`),getMyExams:()=>a("/exam/my"),startExam:e=>r(`/exam/${e}/start`,null),getExamPaper:e=>a(`/exam/record/${e}/paper`),saveAnswers:e=>r("/exam/record/save",e),submitExam:e=>r("/exam/record/submit",e),getRecordDetail:e=>a(`/exam/record/${e}`),getMyRecords:e=>a(`/exam/${e}/my-records`),getExamRecords:e=>a(`/exam/${e}/records`),getPendingReview:e=>a(`/exam/${e}/records/pending-review`),submitReview:(e,m)=>r(`/exam/record/${e}/review`,m)};export{d as e};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/format-D1rp7NC7.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/format-D1rp7NC7.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
function g(e,r="YYYY-MM-DD"){if(!e)return"-";const t=new Date(e);if(isNaN(t.getTime()))return"-";const a=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),c=String(t.getSeconds()).padStart(2,"0");return r.replace("YYYY",String(a)).replace("MM",n).replace("DD",o).replace("HH",i).replace("mm",s).replace("ss",c)}function p(e){return g(e,"YYYY-MM-DD HH:mm")}function l(e){if(e===0)return"0 B";const r=1024,t=["B","KB","MB","GB","TB"],a=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,a)).toFixed(2))+" "+t[a]}export{p as a,l as b,g as f};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/index-BR8Xt4T4.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/index-BR8Xt4T4.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
training/codes/training-system-frontend/dist/assets/js/index-BUj-isDj.js
vendored
Normal file
2
training/codes/training-system-frontend/dist/assets/js/index-BUj-isDj.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/index-Cp8QyNgH.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/index-Cp8QyNgH.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{e as f,D as R,J as z,Q as C,U as s,R as a,S as t,aB as B,at as i,a_ as I,j as x,a0 as g,r as V,a9 as L}from"./vue-vendor-BSww6V4k.js";import{u as U,l as E,E as N}from"./element-plus-DvNsnHjj.js";import{u as S,_ as q}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";function A(){const n=S(),d=f(()=>n.isLoggedIn),m=f(()=>n.userInfo),r=f(()=>n.userRole);async function l(p){return n.login(p)}function o(){n.logout()}return{isLoggedIn:d,user:m,userRole:r,login:l,logout:o}}const K={class:"login-page"},j={class:"login-container"},D={class:"login-card"},J={class:"form-area"},M=R({__name:"index",setup(n){const d=I(),{login:m}=A(),r=V(),l=V(!1),o=L({username:"",password:"",remember:!1}),p={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]};async function _(){r.value&&await r.value.validate(async v=>{if(v){l.value=!0;try{await m({username:o.username,password:o.password}),N.success("登录成功"),d.push("/dashboard")}catch{}finally{l.value=!1}}})}function y(){window.location.href="/api/auth/wechat/authorize"}return(v,e)=>{const w=i("el-input"),c=i("el-form-item"),h=i("el-checkbox"),b=i("el-button"),k=i("el-form");return z(),C("div",K,[s("div",j,[s("div",D,[e[7]||(e[7]=s("div",{class:"brand-area"},[s("div",{class:"brand-logo"},"🚗"),s("div",{class:"brand-title"},"中道救援培训系统"),s("div",{class:"brand-desc"},"道路救援专业能力提升平台")],-1)),s("div",J,[a(k,{model:o,rules:p,ref_key:"formRef",ref:r,onKeyup:B(_,["enter"])},{default:t(()=>[a(c,{prop:"username"},{default:t(()=>[a(w,{modelValue:o.username,"onUpdate:modelValue":e[0]||(e[0]=u=>o.username=u),placeholder:"请输入用户名","prefix-icon":x(U),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),a(c,{prop:"password"},{default:t(()=>[a(w,{modelValue:o.password,"onUpdate:modelValue":e[1]||(e[1]=u=>o.password=u),type:"password",placeholder:"请输入密码","prefix-icon":x(E),size:"large","show-password":""},null,8,["modelValue","prefix-icon"])]),_:1}),a(c,null,{default:t(()=>[a(h,{modelValue:o.remember,"onUpdate:modelValue":e[2]||(e[2]=u=>o.remember=u)},{default:t(()=>[...e[3]||(e[3]=[g("记住我",-1)])]),_:1},8,["modelValue"])]),_:1}),a(b,{type:"primary",size:"large",class:"login-btn",loading:l.value,onClick:_},{default:t(()=>[...e[4]||(e[4]=[g(" 立即登录 ",-1)])]),_:1},8,["loading"])]),_:1},8,["model"]),e[6]||(e[6]=s("div",{class:"divider"},[s("span",null,"或")],-1)),a(b,{class:"wechat-btn",size:"large",onClick:y},{default:t(()=>[...e[5]||(e[5]=[s("span",{class:"wechat-icon"},"💬",-1),g("企业微信登录 ",-1)])]),_:1})])]),e[8]||(e[8]=s("div",{class:"footer-text"},"© 2026 中道道路救援有限公司 · 内部系统",-1))])])}}}),H=q(M,[["__scopeId","data-v-711b63e7"]]);export{H as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/knowledge-mNDvLyO7.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/knowledge-mNDvLyO7.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{d as l,p as a,b as d,g as t}from"./index-BUj-isDj.js";const r={getPage:e=>t("/knowledge/page",e),getById:e=>t(`/knowledge/${e}`),create:e=>d("/knowledge",e),update:(e,o)=>a(`/knowledge/${e}`,o),delete:e=>l(`/knowledge/${e}`),updateStatus:(e,o,g=!1)=>a(`/knowledge/${e}/status?action=${o}&force=${g}`,null),view:e=>a(`/knowledge/${e}/view`,null),listByCategory:e=>t(`/knowledge/published/category/${e}`),batchMoveCategory:e=>a("/knowledge/batch/category",e),updateVisibleScope:(e,o)=>a(`/knowledge/${e}/visible-scope`,o),addCourseware:(e,o)=>d(`/knowledge/${e}/courseware`,o),sortCourseware:(e,o)=>a(`/knowledge/${e}/courseware/sort`,{coursewareIds:o}),deleteCourseware:(e,o)=>l(`/knowledge/${e}/courseware/${o}`)};export{r as k};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/knowledgeResource-BmB2yNHY.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/knowledgeResource-BmB2yNHY.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{d as t,p as o,b as s,g as a}from"./index-BUj-isDj.js";const u={getTree:e=>a("/knowledge-resource/folder/tree",e?{departmentId:e}:void 0),create:e=>s("/knowledge-resource/folder",e),rename:(e,r)=>o(`/knowledge-resource/folder/${e}/name`,r),updateVisibility:(e,r)=>o(`/knowledge-resource/folder/${e}/visibility`,r),delete:e=>t(`/knowledge-resource/folder/${e}`)},d={getList:e=>a("/knowledge-resource/material",e),upload:(e,r)=>{const l=new FormData;return l.append("folderId",String(e)),l.append("file",r),s("/knowledge-resource/material/upload",l)},rename:(e,r)=>o(`/knowledge-resource/material/${e}/name`,r),delete:e=>t(`/knowledge-resource/material/${e}`),changeStatus:(e,r)=>o(`/knowledge-resource/material/${e}/status`,{status:r}),batchMove:e=>o("/knowledge-resource/material/batch-move",e),getPreviewUrl:e=>a(`/knowledge-resource/material/${e}/preview-url`),getAccessUrl:e=>a(`/knowledge-resource/material/${e}/access-url`)},c={getList:e=>a("/knowledge-resource/tag-group",e?{departmentId:e}:void 0),create:e=>s("/knowledge-resource/tag-group",e),update:(e,r)=>o(`/knowledge-resource/tag-group/${e}`,r),delete:e=>t(`/knowledge-resource/tag-group/${e}`),changeStatus:(e,r)=>o(`/knowledge-resource/tag-group/${e}/status`,{status:r})},n={listByGroup:e=>a(`/knowledge-resource/tag-group/${e}/tags`),create:e=>s("/knowledge-resource/tag",e),update:(e,r)=>o(`/knowledge-resource/tag/${e}`,r),delete:e=>t(`/knowledge-resource/tag/${e}`),changeStatus:(e,r)=>o(`/knowledge-resource/tag/${e}/status`,{status:r})};export{d as a,c as b,n as c,u as k};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/lecturer-D3vX7J7z.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/lecturer-D3vX7J7z.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{d as r,p as t,b as u,g as l}from"./index-BUj-isDj.js";const a={getPage:e=>l("/system/lecturer/page",e),getById:e=>l(`/system/lecturer/${e}`),create:e=>u("/system/lecturer",e),update:(e,s)=>t(`/system/lecturer/${e}`,s),delete:e=>r(`/system/lecturer/${e}`),enable:e=>t(`/system/lecturer/${e}/enable`,null),disable:e=>t(`/system/lecturer/${e}/disable`,null)},y={getList:e=>l("/system/lecturer-level/list",e?{departmentId:e}:void 0),getById:e=>l(`/system/lecturer-level/${e}`),create:e=>u("/system/lecturer-level",e),update:(e,s)=>t(`/system/lecturer-level/${e}`,s),delete:e=>r(`/system/lecturer-level/${e}`)};export{a,y as l};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/lecturer-DW9VILyT.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/lecturer-DW9VILyT.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/lecturerLevel-BC6nubIE.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/lecturerLevel-BC6nubIE.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{E as V,d as M}from"./element-plus-DvNsnHjj.js";import{l as f}from"./lecturer-D3vX7J7z.js";import{a as N}from"./format-D1rp7NC7.js";import{P as R}from"./PageCard-DaHB0nvz.js";import{D as S,o as P,J as C,Q as j,R as l,S as t,r as i,at as r,Z as q,K as A,a0 as s,a1 as I,j as J,U as K,au as Q}from"./vue-vendor-BSww6V4k.js";import{_ as Z}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const z=S({__name:"lecturerLevel",setup(F){const p=i(!1),g=i([]),u=i(!1),v=i(!1),c=i(!1),b=i(),n=i({name:"",sortOrder:0}),x={name:[{required:!0,message:"请输入等级名称",trigger:"blur"}]};async function _(){p.value=!0;try{const a=await f.getList();g.value=a.data||[]}finally{p.value=!1}}function y(a){c.value=!!a,a?n.value={id:a.id,name:a.name,sortOrder:a.sortOrder||0}:n.value={name:"",sortOrder:0},u.value=!0}async function w(){var e;if(await((e=b.value)==null?void 0:e.validate().catch(()=>!1))){v.value=!0;try{c.value&&n.value.id?await f.update(n.value.id,n.value):await f.create(n.value),V.success("保存成功"),u.value=!1,_()}finally{v.value=!1}}}async function D(a){await M.confirm(`确定删除等级「${a.name}」吗?`,"警告",{type:"error"}),await f.delete(a.id),V.success("删除成功"),_()}return P(_),(a,e)=>{const d=r("el-button"),m=r("el-table-column"),O=r("el-table"),B=r("el-input"),k=r("el-form-item"),E=r("el-input-number"),$=r("el-form"),L=r("el-dialog"),T=Q("loading");return C(),j("div",null,[l(R,null,{header:t(()=>[e[6]||(e[6]=K("span",{class:"page-title"},"讲师等级",-1)),l(d,{type:"primary",onClick:e[0]||(e[0]=o=>y())},{default:t(()=>[...e[5]||(e[5]=[s("+ 新建等级",-1)])]),_:1})]),default:t(()=>[q((C(),A(O,{data:g.value,stripe:""},{default:t(()=>[l(m,{prop:"name",label:"等级名称","min-width":"200"}),l(m,{prop:"sortOrder",label:"排序",width:"100"}),l(m,{prop:"createTime",label:"创建时间",width:"160"},{default:t(({row:o})=>[s(I(J(N)(o.createTime)),1)]),_:1}),l(m,{label:"操作",width:"180",fixed:"right"},{default:t(({row:o})=>[l(d,{link:"",type:"primary",onClick:U=>y(o)},{default:t(()=>[...e[7]||(e[7]=[s("编辑",-1)])]),_:1},8,["onClick"]),l(d,{link:"",type:"danger",onClick:U=>D(o)},{default:t(()=>[...e[8]||(e[8]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[T,p.value]])]),_:1}),l(L,{modelValue:u.value,"onUpdate:modelValue":e[4]||(e[4]=o=>u.value=o),title:c.value?"编辑等级":"新建等级",width:"480px","destroy-on-close":""},{footer:t(()=>[l(d,{onClick:e[3]||(e[3]=o=>u.value=!1)},{default:t(()=>[...e[9]||(e[9]=[s("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:w,loading:v.value},{default:t(()=>[...e[10]||(e[10]=[s("保存",-1)])]),_:1},8,["loading"])]),default:t(()=>[l($,{model:n.value,rules:x,ref_key:"formRef",ref:b,"label-width":"90px"},{default:t(()=>[l(k,{label:"等级名称",prop:"name"},{default:t(()=>[l(B,{modelValue:n.value.name,"onUpdate:modelValue":e[1]||(e[1]=o=>n.value.name=o),placeholder:"请输入等级名称"},null,8,["modelValue"])]),_:1}),l(k,{label:"排序"},{default:t(()=>[l(E,{modelValue:n.value.sortOrder,"onUpdate:modelValue":e[2]||(e[2]=o=>n.value.sortOrder=o),min:0,"controls-position":"right"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),le=Z(z,[["__scopeId","data-v-ebe60f1d"]]);export{le as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/list-BQ4HlaYc.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/list-BQ4HlaYc.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as H,o as M,J as r,Q as k,R as a,S as o,U as c,j as l,F as j,al as q,K as y,a0 as i,Z as J,a1 as v,$ as V,at as d,au as K,a_ as Q}from"./vue-vendor-BSww6V4k.js";import{g as Z,r as G,d as b,E as w}from"./element-plus-DvNsnHjj.js";import{k as C}from"./knowledge-mNDvLyO7.js";import{u as W}from"./category-Bk2cWwvM.js";import{u as X}from"./useTable-B9cwF1eN.js";import{a as Y}from"./format-D1rp7NC7.js";import{P as ee}from"./PageCard-DaHB0nvz.js";import{_ as te}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{_ as ae}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const le={class:"toolbar"},oe={class:"knowledge-info"},ne=["src"],ie={key:1,class:"cover placeholder"},se={class:"sub"},re=H({__name:"list",setup(de){const h=Q(),$=W(),{loading:U,data:z,pagination:m,query:u,onSearch:D,onReset:x,onPageChange:I,onSizeChange:N,fetch:g}=X(n=>C.getPage(n),{keyword:"",categoryId:void 0,status:""});M(()=>{$.loadTree(),g()});function P(n){h.push(`/knowledge/view/${n.id}`)}async function B(n){await b.confirm(`确定发布课程「${n.title}」吗?`,"提示",{type:"warning"}),await C.updateStatus(n.id,"PUBLISH"),w.success("发布成功"),g()}async function E(n){await b.confirm(`确定下架课程「${n.title}」吗?`,"提示",{type:"warning"}),await C.updateStatus(n.id,"OFFLINE"),w.success("下架成功"),g()}async function F(n){await b.confirm(`确定删除课程「${n.title}」吗?`,"警告",{type:"error"}),await C.delete(n.id),w.success("删除成功"),g()}return(n,t)=>{const s=d("el-button"),T=d("el-input"),f=d("el-option"),S=d("el-select"),p=d("el-table-column"),L=d("router-link"),R=d("el-table"),O=d("el-pagination"),A=K("loading");return r(),k("div",null,[a(ee,null,{header:o(()=>[t[7]||(t[7]=c("span",{class:"page-title"},"课程列表",-1)),a(s,{type:"primary",onClick:t[0]||(t[0]=e=>n.$router.push("/knowledge/view/new"))},{default:o(()=>[...t[6]||(t[6]=[i("+ 新建课程",-1)])]),_:1})]),default:o(()=>[c("div",le,[a(T,{modelValue:l(u).keyword,"onUpdate:modelValue":t[1]||(t[1]=e=>l(u).keyword=e),placeholder:"搜索课程名称",style:{width:"220px"},clearable:""},null,8,["modelValue"]),a(S,{modelValue:l(u).categoryId,"onUpdate:modelValue":t[2]||(t[2]=e=>l(u).categoryId=e),placeholder:"全部分类",clearable:"",style:{width:"160px"}},{default:o(()=>[(r(!0),k(j,null,q(l($).categoryOptions,e=>(r(),y(f,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),a(S,{modelValue:l(u).status,"onUpdate:modelValue":t[3]||(t[3]=e=>l(u).status=e),placeholder:"全部状态",clearable:"",style:{width:"120px"}},{default:o(()=>[a(f,{label:"草稿",value:"DRAFT"}),a(f,{label:"已发布",value:"PUBLISHED"}),a(f,{label:"已下架",value:"OFFLINE"})]),_:1},8,["modelValue"]),a(s,{type:"primary",icon:l(Z),onClick:l(D)},{default:o(()=>[...t[8]||(t[8]=[i("查询",-1)])]),_:1},8,["icon","onClick"]),a(s,{icon:l(G),onClick:l(x)},{default:o(()=>[...t[9]||(t[9]=[i("重置",-1)])]),_:1},8,["icon","onClick"])]),J((r(),y(R,{data:l(z),stripe:""},{default:o(()=>[a(p,{type:"selection",width:"50"}),a(p,{label:"课程","min-width":"240"},{default:o(({row:e})=>[c("div",oe,[e.coverUrl?(r(),k("img",{key:0,src:e.coverUrl,class:"cover"},null,8,ne)):(r(),k("div",ie,"📚")),c("div",null,[a(L,{to:`/knowledge/view/${e.id}`,class:"title"},{default:o(()=>[i(v(e.title),1)]),_:2},1032,["to"]),c("div",se,v(e.categoryName)+" · "+v(e.creatorName),1)])])]),_:1}),a(p,{prop:"statusName",label:"状态",width:"110"},{default:o(({row:e})=>[a(te,{status:e.status},null,8,["status"])]),_:1}),a(p,{prop:"viewCount",label:"浏览",width:"80"}),a(p,{prop:"createTime",label:"创建时间",width:"160"},{default:o(({row:e})=>[i(v(l(Y)(e.createTime)),1)]),_:1}),a(p,{label:"操作",width:"200",fixed:"right"},{default:o(({row:e})=>[a(s,{link:"",type:"primary",onClick:_=>P(e)},{default:o(()=>[...t[10]||(t[10]=[i("查看",-1)])]),_:1},8,["onClick"]),e.status==="DRAFT"?(r(),y(s,{key:0,link:"",type:"primary",onClick:_=>B(e)},{default:o(()=>[...t[11]||(t[11]=[i("发布",-1)])]),_:1},8,["onClick"])):V("",!0),e.status==="PUBLISHED"?(r(),y(s,{key:1,link:"",type:"warning",onClick:_=>E(e)},{default:o(()=>[...t[12]||(t[12]=[i("下架",-1)])]),_:1},8,["onClick"])):V("",!0),a(s,{link:"",type:"primary",onClick:_=>n.$router.push(`/knowledge/view/${e.id}?edit=1`)},{default:o(()=>[...t[13]||(t[13]=[i("编辑",-1)])]),_:1},8,["onClick"]),a(s,{link:"",type:"danger",onClick:_=>F(e)},{default:o(()=>[...t[14]||(t[14]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[A,l(U)]]),a(O,{"current-page":l(m).current,"onUpdate:currentPage":t[4]||(t[4]=e=>l(m).current=e),"page-size":l(m).size,"onUpdate:pageSize":t[5]||(t[5]=e=>l(m).size=e),total:l(m).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:l(I),onSizeChange:l(N)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1})])}}}),Ce=ae(re,[["__scopeId","data-v-3ed15283"]]);export{Ce as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/list-DlOPdiv1.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/list-DlOPdiv1.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as B,r as U,E as b,d as M}from"./element-plus-DvNsnHjj.js";import{e as k}from"./exam-qzu6wP5U.js";import{u as A}from"./useTable-B9cwF1eN.js";import{a as y}from"./format-D1rp7NC7.js";import{P as I}from"./PageCard-DaHB0nvz.js";import{_ as O}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{D as j,o as q,J as m,Q as _,R as t,S as o,U as g,j as l,a0 as s,Z as G,K as J,a1 as v,at as r,au as K}from"./vue-vendor-BSww6V4k.js";import{_ as Q}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const Z={class:"toolbar"},F={key:0},H={key:1},L=j({__name:"list",setup(W){const{loading:w,data:x,pagination:d,query:u,onSearch:T,onReset:z,onPageChange:S,onSizeChange:$,fetch:C}=A(n=>k.getPage(n),{keyword:"",status:""});q(C);function h(n){b.info(`考试「${n.title}」成绩统计功能待完善`)}async function D(n){await M.confirm(`确定删除考试「${n.title}」吗?`,"警告",{type:"error"}),await k.delete(n.id),b.success("删除成功"),C()}return(n,e)=>{const p=r("el-button"),V=r("el-input"),f=r("el-option"),E=r("el-select"),i=r("el-table-column"),N=r("el-table"),P=r("el-pagination"),R=K("loading");return m(),_("div",null,[t(I,null,{header:o(()=>[e[6]||(e[6]=g("span",{class:"page-title"},"考试管理",-1)),t(p,{type:"primary",onClick:e[0]||(e[0]=a=>n.$router.push("/exam/edit"))},{default:o(()=>[...e[5]||(e[5]=[s("+ 新建考试",-1)])]),_:1})]),default:o(()=>[g("div",Z,[t(V,{modelValue:l(u).keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>l(u).keyword=a),placeholder:"搜索考试名称",style:{width:"220px"},clearable:""},null,8,["modelValue"]),t(E,{modelValue:l(u).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(u).status=a),placeholder:"全部状态",clearable:"",style:{width:"130px"}},{default:o(()=>[t(f,{label:"未开始",value:"NOT_STARTED"}),t(f,{label:"进行中",value:"IN_PROGRESS"}),t(f,{label:"已结束",value:"ENDED"})]),_:1},8,["modelValue"]),t(p,{type:"primary",icon:l(B),onClick:l(T)},{default:o(()=>[...e[7]||(e[7]=[s("查询",-1)])]),_:1},8,["icon","onClick"]),t(p,{icon:l(U),onClick:l(z)},{default:o(()=>[...e[8]||(e[8]=[s("重置",-1)])]),_:1},8,["icon","onClick"])]),G((m(),J(N,{data:l(x),stripe:""},{default:o(()=>[t(i,{prop:"title",label:"考试名称","min-width":"200"}),t(i,{prop:"paperTitle",label:"试卷","min-width":"160"}),t(i,{prop:"totalCount",label:"参考人数",width:"100"}),t(i,{prop:"submitCount",label:"已交卷",width:"100"}),t(i,{prop:"passCount",label:"已通过",width:"100"}),t(i,{label:"时间",width:"180"},{default:o(({row:a})=>[a.startTime&&a.endTime?(m(),_("div",F,[s(v(l(y)(a.startTime)),1),e[9]||(e[9]=g("br",null,null,-1)),s(v(l(y)(a.endTime)),1)])):(m(),_("span",H,"-"))]),_:1}),t(i,{prop:"status",label:"状态",width:"100"},{default:o(({row:a})=>[t(O,{status:a.status},null,8,["status"])]),_:1}),t(i,{label:"操作",width:"200",fixed:"right"},{default:o(({row:a})=>[t(p,{link:"",type:"primary",onClick:c=>n.$router.push(`/exam/edit/${a.id}`)},{default:o(()=>[...e[10]||(e[10]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(p,{link:"",type:"primary",onClick:c=>h(a)},{default:o(()=>[...e[11]||(e[11]=[s("成绩",-1)])]),_:1},8,["onClick"]),t(p,{link:"",type:"danger",onClick:c=>D(a)},{default:o(()=>[...e[12]||(e[12]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[R,l(w)]]),t(P,{"current-page":l(d).current,"onUpdate:currentPage":e[3]||(e[3]=a=>l(d).current=a),"page-size":l(d).size,"onUpdate:pageSize":e[4]||(e[4]=a=>l(d).size=a),total:l(d).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:l(S),onSizeChange:l($)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1})])}}}),se=Q(L,[["__scopeId","data-v-a73b7106"]]);export{se as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/material-FohkB1dd.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/material-FohkB1dd.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/myExams-Dt0YRIzm.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/myExams-Dt0YRIzm.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as w,o as A,J as p,Q as B,R as a,S as l,U as C,j as o,a0 as u,Z as O,K as c,$ as k,at as r,au as G,a_ as M}from"./vue-vendor-BSww6V4k.js";import{g as j,r as q,E as f}from"./element-plus-DvNsnHjj.js";import{s as b}from"./studentExam-BmT_VHnw.js";import{u as J}from"./useTable-B9cwF1eN.js";import{P as K}from"./PageCard-DaHB0nvz.js";import{_ as Q}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{_ as Z}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const F={class:"toolbar"},H=w({__name:"myExams",setup(L){const _=M(),{loading:h,data:R,pagination:i,query:m,onSearch:S,onReset:x,onPageChange:v,onSizeChange:I,fetch:E}=J(n=>b.getPage(n),{keyword:"",status:""});A(E);async function z(n){try{const e=await b.start(n.id);_.push(`/exam/taking/${n.id}?recordId=${e.data.recordId}`)}catch{f.error("开始考试失败")}}async function P(n){if(n.inProgressRecordId)try{await b.continueExam(n.id,n.inProgressRecordId),_.push(`/exam/taking/${n.id}?recordId=${n.inProgressRecordId}`)}catch{f.error("继续考试失败")}}function $(n){if(!n.lastRecordId){f.warning("暂无考试记录");return}_.push(`/exam/result/${n.id}?recordId=${n.lastRecordId}`)}return(n,e)=>{const V=r("el-input"),g=r("el-option"),N=r("el-select"),d=r("el-button"),s=r("el-table-column"),D=r("el-table"),T=r("el-pagination"),U=G("loading");return p(),B("div",null,[a(K,null,{header:l(()=>[...e[4]||(e[4]=[C("span",{class:"page-title"},"我的考试",-1)])]),default:l(()=>[C("div",F,[a(V,{modelValue:o(m).keyword,"onUpdate:modelValue":e[0]||(e[0]=t=>o(m).keyword=t),placeholder:"搜索考试名称",style:{width:"220px"},clearable:""},null,8,["modelValue"]),a(N,{modelValue:o(m).status,"onUpdate:modelValue":e[1]||(e[1]=t=>o(m).status=t),placeholder:"全部状态",clearable:"",style:{width:"130px"}},{default:l(()=>[a(g,{label:"未开始",value:"NOT_STARTED"}),a(g,{label:"进行中",value:"IN_PROGRESS"}),a(g,{label:"已结束",value:"ENDED"})]),_:1},8,["modelValue"]),a(d,{type:"primary",icon:o(j),onClick:o(S)},{default:l(()=>[...e[5]||(e[5]=[u("查询",-1)])]),_:1},8,["icon","onClick"]),a(d,{icon:o(q),onClick:o(x)},{default:l(()=>[...e[6]||(e[6]=[u("重置",-1)])]),_:1},8,["icon","onClick"])]),O((p(),c(D,{data:o(R),stripe:""},{default:l(()=>[a(s,{prop:"title",label:"考试名称","min-width":"200"}),a(s,{prop:"duration",label:"时长(分钟)",width:"100"}),a(s,{prop:"totalScore",label:"总分",width:"80"}),a(s,{prop:"passScore",label:"及格分",width:"90"}),a(s,{prop:"remainingAttempts",label:"剩余次数",width:"90"}),a(s,{prop:"bestScore",label:"最高分",width:"90"}),a(s,{prop:"status",label:"状态",width:"100"},{default:l(({row:t})=>[a(Q,{status:t.status},null,8,["status"])]),_:1}),a(s,{label:"操作",width:"160",fixed:"right"},{default:l(({row:t})=>[t.status==="IN_PROGRESS"&&t.hasInProgressRecord?(p(),c(d,{key:0,type:"primary",size:"small",onClick:y=>P(t)},{default:l(()=>[...e[7]||(e[7]=[u("继续考试",-1)])]),_:1},8,["onClick"])):t.status==="IN_PROGRESS"&&(t.remainingAttempts||0)>0?(p(),c(d,{key:1,type:"primary",size:"small",onClick:y=>z(t)},{default:l(()=>[...e[8]||(e[8]=[u("开始考试",-1)])]),_:1},8,["onClick"])):k("",!0),t.submitted?(p(),c(d,{key:2,link:"",type:"primary",onClick:y=>$(t)},{default:l(()=>[...e[9]||(e[9]=[u("查看成绩",-1)])]),_:1},8,["onClick"])):k("",!0)]),_:1})]),_:1},8,["data"])),[[U,o(h)]]),a(T,{"current-page":o(i).current,"onUpdate:currentPage":e[2]||(e[2]=t=>o(i).current=t),"page-size":o(i).size,"onUpdate:pageSize":e[3]||(e[3]=t=>o(i).size=t),total:o(i).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:o(v),onSizeChange:o(I)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1})])}}}),le=Z(H,[["__scopeId","data-v-edb12362"]]);export{le as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/myTraining-8s2emGQa.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/myTraining-8s2emGQa.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{E as m}from"./element-plus-DvNsnHjj.js";import{t as _}from"./training-CgUCWPn_.js";import{P as g}from"./PageCard-DaHB0nvz.js";import{_ as f}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{E as v}from"./EmptyState-CrJS9_aC.js";import{D as h,o as y,J as r,Q as n,R as l,S as c,r as k,F as E,al as x,U as e,a1 as s,K as C,at as D}from"./vue-vendor-BSww6V4k.js";import{_ as P}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const w={key:0,class:"plan-cards"},B=["onClick"],S={class:"plan-header"},$={class:"plan-title"},I={class:"plan-meta"},K={class:"plan-stats"},M=h({__name:"myTraining",setup(T){const o=k([]);function d(a){if(a.progressPercent===100)return"success"}async function p(){try{const a=await _.getMyPlans();o.value=a.data||[]}catch{m.error("加载失败")}}return y(p),(a,i)=>{const u=D("el-progress");return r(),n("div",null,[l(g,null,{header:c(()=>[...i[0]||(i[0]=[e("span",{class:"page-title"},"我的培训",-1)])]),default:c(()=>[o.value.length?(r(),n("div",w,[(r(!0),n(E,null,x(o.value,t=>(r(),n("div",{key:t.planId,class:"plan-card",onClick:F=>a.$router.push(`/training/detail/${t.planId}`)},[e("div",S,[e("div",$,s(t.planTitle),1),l(f,{status:t.status},null,8,["status"])]),e("div",I,s(t.startDate)+" 至 "+s(t.endDate),1),l(u,{percentage:t.progressPercent||0,status:d(t)},null,8,["percentage","status"]),e("div",K,[e("span",null,"课程 "+s(t.learnedKnowledge||0)+"/"+s(t.totalKnowledge||0),1),e("span",null,"考试 "+s(t.passedExam||0)+"/"+s(t.totalExam||0),1)])],8,B))),128))])):(r(),C(v,{key:1,text:"暂无培训计划"}))]),_:1})])}}}),U=P(M,[["__scopeId","data-v-b919ac5c"]]);export{U as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/org-bR50XlId.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/org-bR50XlId.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{I as E,J as N,u as T}from"./element-plus-DvNsnHjj.js";import{o as k}from"./system-MG8wG3NI.js";import{P as C}from"./PageCard-DaHB0nvz.js";import{D as R,o as x,J as n,Q as D,R as t,S as e,r as P,U as r,K as c,j as p,$ as u,a1 as i,a0 as v,at as _}from"./vue-vendor-BSww6V4k.js";import{_ as b}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const B={class:"tree-node"},V={class:"node-name"},A=R({__name:"org",setup(M){const d=P([]);function f(a){return{CENTER:"中心",DEPARTMENT:"部门",GROUP:"小组"}[a]||a}async function m(){const a=await k.getTree();d.value=a.data||[]}return x(m),(a,s)=>{const l=_("el-icon"),g=_("el-tag"),y=_("el-tree");return n(),D("div",null,[t(C,null,{header:e(()=>[...s[0]||(s[0]=[r("span",{class:"page-title"},"组织架构",-1)])]),default:e(()=>[t(y,{data:d.value,props:{label:"name",children:"children"},"node-key":"id","default-expand-all":"","highlight-current":"",class:"org-tree"},{default:e(({node:h,data:o})=>[r("span",B,[t(l,null,{default:e(()=>[o.type==="CENTER"?(n(),c(p(E),{key:0})):u("",!0)]),_:2},1024),t(l,null,{default:e(()=>[o.type==="DEPARTMENT"?(n(),c(p(N),{key:0})):u("",!0)]),_:2},1024),t(l,null,{default:e(()=>[o.type==="GROUP"?(n(),c(p(T),{key:0})):u("",!0)]),_:2},1024),r("span",V,i(h.label),1),t(g,{size:"small",type:"info"},{default:e(()=>[v(i(f(o.type)),1)]),_:2},1024)])]),_:1},8,["data"])]),_:1})])}}}),S=b(A,[["__scopeId","data-v-3ea9e476"]]);export{S as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/paper-D3C2rJDU.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/paper-D3C2rJDU.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as p,p as a,d as r,b as t}from"./index-BUj-isDj.js";const l={getPage:e=>p("/exam/paper/page",e),getList:()=>p("/exam/paper/list"),getById:e=>p(`/exam/paper/${e}`),create:e=>t("/exam/paper",e),createAuto:e=>t("/exam/paper/auto",e),update:e=>a("/exam/paper",e),delete:e=>r(`/exam/paper/${e}`),publish:e=>a(`/exam/paper/${e}/publish`,null),offline:e=>a(`/exam/paper/${e}/offline`,null),listByDepartment:e=>p(`/exam/paper/published/department/${e}`)};export{l as p};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/paper-ymPUf5KH.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/paper-ymPUf5KH.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as F,r as I,d as C,E as y}from"./element-plus-DvNsnHjj.js";import{p as f}from"./paper-D3C2rJDU.js";import{u as R}from"./useTable-B9cwF1eN.js";import{a as A}from"./format-D1rp7NC7.js";import{P as L}from"./PageCard-DaHB0nvz.js";import{_ as M}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{D as q,o as H,J as c,Q as O,R as t,S as n,U as b,j as l,a0 as s,Z as j,K as k,a1 as J,$ as v,at as p,au as K}from"./vue-vendor-BSww6V4k.js";import{_ as Q}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const Z={class:"toolbar"},G=q({__name:"paper",setup(W){const{loading:w,data:$,pagination:u,query:d,onSearch:S,onReset:h,onPageChange:x,onSizeChange:z,fetch:m}=R(o=>f.getPage(o),{keyword:"",status:""});H(m);async function D(o){await C.confirm(`确定发布试卷「${o.title}」吗?`,"提示",{type:"warning"}),await f.publish(o.id),y.success("发布成功"),m()}async function V(o){await C.confirm(`确定下线试卷「${o.title}」吗?`,"提示",{type:"warning"}),await f.offline(o.id),y.success("下线成功"),m()}async function P(o){await C.confirm(`确定删除试卷「${o.title}」吗?`,"警告",{type:"error"}),await f.delete(o.id),y.success("删除成功"),m()}return(o,e)=>{const r=p("el-button"),B=p("el-input"),g=p("el-option"),E=p("el-select"),i=p("el-table-column"),T=p("el-table"),U=p("el-pagination"),N=K("loading");return c(),O("div",null,[t(L,null,{header:n(()=>[e[6]||(e[6]=b("span",{class:"page-title"},"试卷管理",-1)),t(r,{type:"primary",onClick:e[0]||(e[0]=a=>o.$router.push("/exam/paper-edit"))},{default:n(()=>[...e[5]||(e[5]=[s("+ 新建试卷",-1)])]),_:1})]),default:n(()=>[b("div",Z,[t(B,{modelValue:l(d).keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>l(d).keyword=a),placeholder:"搜索试卷名称",style:{width:"220px"},clearable:""},null,8,["modelValue"]),t(E,{modelValue:l(d).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(d).status=a),placeholder:"全部状态",clearable:"",style:{width:"130px"}},{default:n(()=>[t(g,{label:"草稿",value:"DRAFT"}),t(g,{label:"已发布",value:"PUBLISHED"}),t(g,{label:"已下线",value:"OFFLINE"})]),_:1},8,["modelValue"]),t(r,{type:"primary",icon:l(F),onClick:l(S)},{default:n(()=>[...e[7]||(e[7]=[s("查询",-1)])]),_:1},8,["icon","onClick"]),t(r,{icon:l(I),onClick:l(h)},{default:n(()=>[...e[8]||(e[8]=[s("重置",-1)])]),_:1},8,["icon","onClick"])]),j((c(),k(T,{data:l($),stripe:""},{default:n(()=>[t(i,{prop:"title",label:"试卷名称","min-width":"200"}),t(i,{prop:"totalScore",label:"总分",width:"80"}),t(i,{prop:"duration",label:"时长(分钟)",width:"100"}),t(i,{prop:"passScore",label:"及格分",width:"90"}),t(i,{prop:"questionCount",label:"题数",width:"80"}),t(i,{prop:"status",label:"状态",width:"100"},{default:n(({row:a})=>[t(M,{status:a.status},null,8,["status"])]),_:1}),t(i,{prop:"createTime",label:"创建时间",width:"160"},{default:n(({row:a})=>[s(J(l(A)(a.createTime)),1)]),_:1}),t(i,{label:"操作",width:"220",fixed:"right"},{default:n(({row:a})=>[a.status==="DRAFT"?(c(),k(r,{key:0,link:"",type:"primary",onClick:_=>D(a)},{default:n(()=>[...e[9]||(e[9]=[s("发布",-1)])]),_:1},8,["onClick"])):v("",!0),a.status==="PUBLISHED"?(c(),k(r,{key:1,link:"",type:"warning",onClick:_=>V(a)},{default:n(()=>[...e[10]||(e[10]=[s("下线",-1)])]),_:1},8,["onClick"])):v("",!0),t(r,{link:"",type:"primary",onClick:_=>o.$router.push(`/exam/paper-edit/${a.id}`)},{default:n(()=>[...e[11]||(e[11]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(r,{link:"",type:"danger",onClick:_=>P(a)},{default:n(()=>[...e[12]||(e[12]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,l(w)]]),t(U,{"current-page":l(u).current,"onUpdate:currentPage":e[3]||(e[3]=a=>l(u).current=a),"page-size":l(u).size,"onUpdate:pageSize":e[4]||(e[4]=a=>l(u).size=a),total:l(u).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:l(x),onSizeChange:l(z)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1})])}}}),se=Q(G,[["__scopeId","data-v-4a9a2d9a"]]);export{se as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/paperEdit-CSD-KwDj.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/paperEdit-CSD-KwDj.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/plan-2nmEMahQ.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/plan-2nmEMahQ.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as A,r as I,d as k,E as C}from"./element-plus-DvNsnHjj.js";import{t as _}from"./training-CgUCWPn_.js";import{u as M}from"./useTable-B9cwF1eN.js";import{P as G}from"./PageCard-DaHB0nvz.js";import{_ as j}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{D as q,o as J,J as d,Q as y,R as a,S as l,U as v,j as n,a0 as r,Z as K,K as b,a1 as $,$ as w,at as p,au as Q}from"./vue-vendor-BSww6V4k.js";import{_ as Z}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const F={class:"toolbar"},H={key:0},L={key:1},W=q({__name:"plan",setup(X){const{loading:D,data:S,pagination:u,query:m,onSearch:h,onReset:E,onPageChange:z,onSizeChange:N,fetch:g}=M(o=>_.getPage(o),{keyword:"",status:""});J(g);async function V(o){await k.confirm(`确定发布培训计划「${o.title}」吗?`,"提示",{type:"warning"}),await _.publish(o.id),C.success("发布成功"),g()}async function x(o){await k.confirm(`确定结束培训计划「${o.title}」吗?`,"提示",{type:"warning"}),await _.end(o.id),C.success("已结束"),g()}async function P(o){await k.confirm(`确定删除培训计划「${o.title}」吗?`,"警告",{type:"error"}),await _.delete(o.id),C.success("删除成功"),g()}return(o,e)=>{const i=p("el-button"),R=p("el-input"),c=p("el-option"),T=p("el-select"),s=p("el-table-column"),B=p("el-table"),U=p("el-pagination"),O=Q("loading");return d(),y("div",null,[a(G,null,{header:l(()=>[e[6]||(e[6]=v("span",{class:"page-title"},"培训项目",-1)),a(i,{type:"primary",onClick:e[0]||(e[0]=t=>o.$router.push("/training/plan-edit"))},{default:l(()=>[...e[5]||(e[5]=[r("+ 新建培训",-1)])]),_:1})]),default:l(()=>[v("div",F,[a(R,{modelValue:n(m).keyword,"onUpdate:modelValue":e[1]||(e[1]=t=>n(m).keyword=t),placeholder:"搜索培训名称",style:{width:"220px"},clearable:""},null,8,["modelValue"]),a(T,{modelValue:n(m).status,"onUpdate:modelValue":e[2]||(e[2]=t=>n(m).status=t),placeholder:"全部状态",clearable:"",style:{width:"130px"}},{default:l(()=>[a(c,{label:"未开始",value:"NOT_STARTED"}),a(c,{label:"进行中",value:"IN_PROGRESS"}),a(c,{label:"已结束",value:"ENDED"})]),_:1},8,["modelValue"]),a(i,{type:"primary",icon:n(A),onClick:n(h)},{default:l(()=>[...e[7]||(e[7]=[r("查询",-1)])]),_:1},8,["icon","onClick"]),a(i,{icon:n(I),onClick:n(E)},{default:l(()=>[...e[8]||(e[8]=[r("重置",-1)])]),_:1},8,["icon","onClick"])]),K((d(),b(B,{data:n(S),stripe:""},{default:l(()=>[a(s,{prop:"title",label:"培训名称","min-width":"200"}),a(s,{label:"时间",width:"180"},{default:l(({row:t})=>[t.startDate&&t.endDate?(d(),y("div",H,$(t.startDate)+" 至 "+$(t.endDate),1)):(d(),y("span",L,"-"))]),_:1}),a(s,{prop:"departmentName",label:"部门",width:"120"}),a(s,{prop:"knowledgeCount",label:"课程",width:"80"}),a(s,{prop:"examCount",label:"考试",width:"80"}),a(s,{prop:"participantCount",label:"参与人数",width:"100"}),a(s,{prop:"status",label:"状态",width:"100"},{default:l(({row:t})=>[a(j,{status:t.status},null,8,["status"])]),_:1}),a(s,{label:"操作",width:"220",fixed:"right"},{default:l(({row:t})=>[a(i,{link:"",type:"primary",onClick:f=>o.$router.push(`/training/detail/${t.id}`)},{default:l(()=>[...e[9]||(e[9]=[r("详情",-1)])]),_:1},8,["onClick"]),a(i,{link:"",type:"primary",onClick:f=>o.$router.push(`/training/plan-edit/${t.id}`)},{default:l(()=>[...e[10]||(e[10]=[r("编辑",-1)])]),_:1},8,["onClick"]),t.status==="NOT_STARTED"?(d(),b(i,{key:0,link:"",type:"primary",onClick:f=>V(t)},{default:l(()=>[...e[11]||(e[11]=[r("发布",-1)])]),_:1},8,["onClick"])):w("",!0),t.status==="IN_PROGRESS"?(d(),b(i,{key:1,link:"",type:"warning",onClick:f=>x(t)},{default:l(()=>[...e[12]||(e[12]=[r("结束",-1)])]),_:1},8,["onClick"])):w("",!0),a(i,{link:"",type:"danger",onClick:f=>P(t)},{default:l(()=>[...e[13]||(e[13]=[r("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[O,n(D)]]),a(U,{"current-page":n(u).current,"onUpdate:currentPage":e[3]||(e[3]=t=>n(u).current=t),"page-size":n(u).size,"onUpdate:pageSize":e[4]||(e[4]=t=>n(u).size=t),total:n(u).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:n(z),onSizeChange:n(N)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1})])}}}),se=Z(W,[["__scopeId","data-v-5bcb294b"]]);export{se as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/planEdit-C4lC8PUe.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/planEdit-C4lC8PUe.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as R,o as C,J as E,Q as B,R as a,S as l,aZ as M,e as D,r as p,a0 as g,U as N,a1 as U,at as s,a_ as Y}from"./vue-vendor-BSww6V4k.js";import{E as S}from"./element-plus-DvNsnHjj.js";import{t as m}from"./training-CgUCWPn_.js";import{P as h}from"./PageCard-DaHB0nvz.js";import{_ as I}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const P={class:"page-title"},$=R({__name:"planEdit",setup(q){const f=M(),y=Y(),d=D(()=>!!f.params.id),c=p(),i=p(!1),t=p({id:void 0,title:"",description:"",startDate:"",endDate:""}),v=D({get(){return t.value.startDate&&t.value.endDate?[t.value.startDate,t.value.endDate]:null},set(o){o?(t.value.startDate=o[0],t.value.endDate=o[1]):(t.value.startDate="",t.value.endDate="")}}),b={title:[{required:!0,message:"请输入计划名称",trigger:"blur"}]};async function V(){if(!d.value)return;const e=(await m.getById(Number(f.params.id))).data;t.value={id:e.id,title:e.title,description:e.description||"",startDate:e.startDate||"",endDate:e.endDate||""}}async function w(){var e;if(await((e=c.value)==null?void 0:e.validate().catch(()=>!1))){i.value=!0;try{const r={...t.value};d.value?await m.update(r):await m.create(r),S.success("保存成功"),y.push("/training/plan")}finally{i.value=!1}}}return C(V),(o,e)=>{const r=s("el-input"),u=s("el-form-item"),k=s("el-date-picker"),_=s("el-button"),x=s("el-form");return E(),B("div",null,[a(h,null,{header:l(()=>[N("span",P,U(d.value?"编辑培训计划":"新建培训计划"),1)]),default:l(()=>[a(x,{model:t.value,rules:b,ref_key:"formRef",ref:c,"label-width":"100px",style:{"max-width":"720px"}},{default:l(()=>[a(u,{label:"计划名称",prop:"title"},{default:l(()=>[a(r,{modelValue:t.value.title,"onUpdate:modelValue":e[0]||(e[0]=n=>t.value.title=n),placeholder:"请输入培训计划名称"},null,8,["modelValue"])]),_:1}),a(u,{label:"时间范围",prop:"dateRange"},{default:l(()=>[a(k,{modelValue:v.value,"onUpdate:modelValue":e[1]||(e[1]=n=>v.value=n),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),a(u,{label:"计划描述"},{default:l(()=>[a(r,{modelValue:t.value.description,"onUpdate:modelValue":e[2]||(e[2]=n=>t.value.description=n),type:"textarea",rows:3,placeholder:"可选"},null,8,["modelValue"])]),_:1}),a(u,null,{default:l(()=>[a(_,{type:"primary",onClick:w,loading:i.value},{default:l(()=>[...e[4]||(e[4]=[g("保存",-1)])]),_:1},8,["loading"]),a(_,{onClick:e[3]||(e[3]=n=>o.$router.back())},{default:l(()=>[...e[5]||(e[5]=[g("取消",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})])}}}),z=I($,[["__scopeId","data-v-823885cb"]]);export{z as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/question-CP3mInRe.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/question-CP3mInRe.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as B,r as I,d as _,E as b}from"./element-plus-DvNsnHjj.js";import{q as c}from"./question-CssTpYmZ.js";import{u as L}from"./useTable-B9cwF1eN.js";import{a as F}from"./format-D1rp7NC7.js";import{P as A}from"./PageCard-DaHB0nvz.js";import{_ as M}from"./StatusBadge.vue_vue_type_script_setup_true_lang-Dwdpoc9_.js";import{D as R,o as G,J as g,Q as H,R as t,S as o,U as v,j as l,a0 as s,Z as J,K as C,a1 as O,$ as w,at as u,au as j}from"./vue-vendor-BSww6V4k.js";import{_ as K}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const Q={class:"toolbar"},Y=R({__name:"question",setup(Z){const{loading:V,data:S,pagination:m,query:p,onSearch:x,onReset:D,onPageChange:z,onSizeChange:E,fetch:f}=L(n=>c.getPage(n),{keyword:"",type:"",status:""});G(f);async function U(n){await _.confirm("确定发布题目吗?","提示",{type:"warning"}),await c.publish(n.id),b.success("发布成功"),f()}async function $(n){await _.confirm("确定下线题目吗?","提示",{type:"warning"}),await c.offline(n.id),b.success("下线成功"),f()}async function h(n){await _.confirm("确定删除该题目吗?","警告",{type:"error"}),await c.delete(n.id),b.success("删除成功"),f()}return(n,e)=>{const r=u("el-button"),N=u("el-input"),i=u("el-option"),k=u("el-select"),d=u("el-table-column"),P=u("el-table"),T=u("el-pagination"),q=j("loading");return g(),H("div",null,[t(A,null,{header:o(()=>[e[7]||(e[7]=v("span",{class:"page-title"},"题目列表",-1)),t(r,{type:"primary",onClick:e[0]||(e[0]=a=>n.$router.push("/exam/question-edit"))},{default:o(()=>[...e[6]||(e[6]=[s("+ 新建题目",-1)])]),_:1})]),default:o(()=>[v("div",Q,[t(N,{modelValue:l(p).keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>l(p).keyword=a),placeholder:"搜索题干",style:{width:"220px"},clearable:""},null,8,["modelValue"]),t(k,{modelValue:l(p).type,"onUpdate:modelValue":e[2]||(e[2]=a=>l(p).type=a),placeholder:"全部题型",clearable:"",style:{width:"130px"}},{default:o(()=>[t(i,{label:"单选题",value:"SINGLE"}),t(i,{label:"多选题",value:"MULTI"}),t(i,{label:"判断题",value:"JUDGE"}),t(i,{label:"填空题",value:"FILL"}),t(i,{label:"简答题",value:"ESSAY"})]),_:1},8,["modelValue"]),t(k,{modelValue:l(p).status,"onUpdate:modelValue":e[3]||(e[3]=a=>l(p).status=a),placeholder:"全部状态",clearable:"",style:{width:"130px"}},{default:o(()=>[t(i,{label:"草稿",value:"DRAFT"}),t(i,{label:"已发布",value:"PUBLISHED"}),t(i,{label:"已下线",value:"OFFLINE"})]),_:1},8,["modelValue"]),t(r,{type:"primary",icon:l(B),onClick:l(x)},{default:o(()=>[...e[8]||(e[8]=[s("查询",-1)])]),_:1},8,["icon","onClick"]),t(r,{icon:l(I),onClick:l(D)},{default:o(()=>[...e[9]||(e[9]=[s("重置",-1)])]),_:1},8,["icon","onClick"])]),J((g(),C(P,{data:l(S),stripe:""},{default:o(()=>[t(d,{prop:"content",label:"题干","min-width":"260","show-overflow-tooltip":""}),t(d,{prop:"typeName",label:"题型",width:"100"}),t(d,{prop:"categoryName",label:"分类",width:"120"}),t(d,{prop:"status",label:"状态",width:"100"},{default:o(({row:a})=>[t(M,{status:a.status},null,8,["status"])]),_:1}),t(d,{prop:"createTime",label:"创建时间",width:"160"},{default:o(({row:a})=>[s(O(l(F)(a.createTime)),1)]),_:1}),t(d,{label:"操作",width:"220",fixed:"right"},{default:o(({row:a})=>[a.status==="DRAFT"?(g(),C(r,{key:0,link:"",type:"primary",onClick:y=>U(a)},{default:o(()=>[...e[10]||(e[10]=[s("发布",-1)])]),_:1},8,["onClick"])):w("",!0),a.status==="PUBLISHED"?(g(),C(r,{key:1,link:"",type:"warning",onClick:y=>$(a)},{default:o(()=>[...e[11]||(e[11]=[s("下线",-1)])]),_:1},8,["onClick"])):w("",!0),t(r,{link:"",type:"primary",onClick:y=>n.$router.push(`/exam/question-edit/${a.id}`)},{default:o(()=>[...e[12]||(e[12]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(r,{link:"",type:"danger",onClick:y=>h(a)},{default:o(()=>[...e[13]||(e[13]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[q,l(V)]]),t(T,{"current-page":l(m).current,"onUpdate:currentPage":e[4]||(e[4]=a=>l(m).current=a),"page-size":l(m).size,"onUpdate:pageSize":e[5]||(e[5]=a=>l(m).size=a),total:l(m).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:l(z),onSizeChange:l(E)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1})])}}}),se=K(Y,[["__scopeId","data-v-7913b573"]]);export{se as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/question-CssTpYmZ.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/question-CssTpYmZ.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as t,p as s,d as i,b as o}from"./index-BUj-isDj.js";const n={getPage:e=>t("/exam/question/page",e),getById:e=>t(`/exam/question/${e}`),create:e=>o("/exam/question",e),update:e=>s("/exam/question",e),delete:e=>i(`/exam/question/${e}`),publish:e=>s(`/exam/question/${e}/publish`,null),offline:e=>s(`/exam/question/${e}/offline`,null),listByCategory:e=>t(`/exam/question/published/category/${e}`),listByDepartment:(e,a)=>t(`/exam/question/published/department/${e}`,a?{type:a}:void 0)};export{n as q};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/questionCategory-02J9ovAP.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/questionCategory-02J9ovAP.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{d as o,p as a,b as s,g as t}from"./index-BUj-isDj.js";const i={getTree:e=>t("/exam/question-category/tree",e?{departmentId:e}:void 0),getList:e=>t("/exam/question-category/list",e?{departmentId:e}:void 0),getSelectable:()=>t("/exam/question-category/selectable"),getById:e=>t(`/exam/question-category/${e}`),create:e=>s("/exam/question-category",e),update:e=>a("/exam/question-category",e),delete:e=>o(`/exam/question-category/${e}`)};export{i as q};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/questionCategory-BZg-AHA5.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/questionCategory-BZg-AHA5.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{E as w,d as h}from"./element-plus-DvNsnHjj.js";import{q as v}from"./questionCategory-02J9ovAP.js";import{a as j}from"./format-D1rp7NC7.js";import{P as z}from"./PageCard-DaHB0nvz.js";import{D as A,o as J,J as I,Q as K,R as t,S as o,r as d,e as C,at as s,Z as L,K as Q,U as O,a1 as T,V as Z,a0 as u,j as F,au as G}from"./vue-vendor-BSww6V4k.js";import{_ as H}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const W=A({__name:"questionCategory",setup(X){const c=d(!1),_=d([]),m=d(!1),g=d(!1),V=d(),i=d({id:void 0,name:"",parentId:void 0,sortOrder:0}),p=d(),q={name:[{required:!0,message:"请输入分类名称",trigger:"blur"}]},$=C(()=>i.value.id?"编辑分类":"新建分类"),B=C(()=>{if(!p.value)return"";const l=e=>{for(const a of e){if(a.id===p.value)return a.name;if(a.children){const r=l(a.children);if(r)return r}}};return l(_.value)||""}),E=C(()=>{const l=e=>{var r;const a=[];for(const f of e)a.push(f),(r=f.children)!=null&&r.length&&a.push(...l(f.children));return a};return l(_.value)});async function y(){c.value=!0;try{const l=await v.getTree();_.value=l.data||[]}finally{c.value=!1}}function b(l,e){p.value=e,l?(i.value={id:l.id,name:l.name,parentId:l.parentId,sortOrder:l.sortOrder||0},p.value=l.parentId):i.value={id:void 0,name:"",parentId:e,sortOrder:0},m.value=!0}async function N(){var e;if(await((e=V.value)==null?void 0:e.validate().catch(()=>!1))){g.value=!0;try{const a={...i.value,parentId:p.value};i.value.id?await v.update(a):await v.create(a),w.success("保存成功"),m.value=!1,y()}finally{g.value=!1}}}async function S(l){await h.confirm(`确定删除分类「${l.name}」吗?`,"警告",{type:"error"}),await v.delete(l.id),w.success("删除成功"),y()}return J(y),(l,e)=>{const a=s("el-button"),r=s("el-table-column"),f=s("el-table"),x=s("el-input"),k=s("el-form-item"),U=s("el-input-number"),M=s("el-form"),P=s("el-dialog"),R=G("loading");return I(),K("div",null,[t(z,null,{header:o(()=>[e[6]||(e[6]=O("span",{class:"page-title"},"题库分类",-1)),t(a,{type:"primary",onClick:e[0]||(e[0]=n=>b())},{default:o(()=>[...e[5]||(e[5]=[u("+ 新建分类",-1)])]),_:1})]),default:o(()=>[L((I(),Q(f,{data:E.value,stripe:"","row-key":"id","default-expand-all":""},{default:o(()=>[t(r,{prop:"name",label:"分类名称","min-width":"200"},{default:o(({row:n})=>[O("span",{style:Z({marginLeft:n.parentId?"24px":"0"})},T(n.name),5)]),_:1}),t(r,{prop:"questionCount",label:"题数",width:"100"}),t(r,{prop:"sortOrder",label:"排序",width:"80"}),t(r,{prop:"createTime",label:"创建时间",width:"160"},{default:o(({row:n})=>[u(T(F(j)(n.createTime)),1)]),_:1}),t(r,{label:"操作",width:"180",fixed:"right"},{default:o(({row:n})=>[t(a,{link:"",type:"primary",onClick:D=>b(n)},{default:o(()=>[...e[7]||(e[7]=[u("编辑",-1)])]),_:1},8,["onClick"]),t(a,{link:"",type:"primary",onClick:D=>b(void 0,n.id)},{default:o(()=>[...e[8]||(e[8]=[u("添加子类",-1)])]),_:1},8,["onClick"]),t(a,{link:"",type:"danger",onClick:D=>S(n)},{default:o(()=>[...e[9]||(e[9]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[R,c.value]])]),_:1}),t(P,{modelValue:m.value,"onUpdate:modelValue":e[4]||(e[4]=n=>m.value=n),title:$.value,width:"480px","destroy-on-close":""},{footer:o(()=>[t(a,{onClick:e[3]||(e[3]=n=>m.value=!1)},{default:o(()=>[...e[10]||(e[10]=[u("取消",-1)])]),_:1}),t(a,{type:"primary",onClick:N,loading:g.value},{default:o(()=>[...e[11]||(e[11]=[u("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(M,{model:i.value,rules:q,ref_key:"formRef",ref:V,"label-width":"80px"},{default:o(()=>[t(k,{label:"分类名称",prop:"name"},{default:o(()=>[t(x,{modelValue:i.value.name,"onUpdate:modelValue":e[1]||(e[1]=n=>i.value.name=n),placeholder:"请输入分类名称"},null,8,["modelValue"])]),_:1}),t(k,{label:"上级分类"},{default:o(()=>[t(x,{"model-value":B.value,disabled:"",placeholder:"顶级分类"},null,8,["model-value"])]),_:1}),t(k,{label:"排序"},{default:o(()=>[t(U,{modelValue:i.value.sortOrder,"onUpdate:modelValue":e[2]||(e[2]=n=>i.value.sortOrder=n),min:0,"controls-position":"right"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),re=H(W,[["__scopeId","data-v-5cbbb884"]]);export{re as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/questionEdit-BpsS8RkP.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/questionEdit-BpsS8RkP.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/result-s9H0xN3i.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/result-s9H0xN3i.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as y,o as T,J as o,Q as n,R as f,S as c,aZ as D,r as C,U as s,a1 as t,W as m,j as k,F as x,al as N,$ as p,a0 as S,e as $,at as I}from"./vue-vendor-BSww6V4k.js";import{E as M}from"./element-plus-DvNsnHjj.js";import{e as R}from"./exam-qzu6wP5U.js";import{a as V}from"./format-D1rp7NC7.js";import{P as A}from"./PageCard-DaHB0nvz.js";import{_ as B}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const E={key:0,class:"result-panel"},q={class:"score-value"},F={class:"score-label"},P={class:"result-meta"},h={class:"meta-item"},j={class:"meta-item"},z={class:"meta-item"},J={class:"meta-item"},L={class:"meta-item"},Q={key:0,class:"detail-section"},U={class:"detail-header"},W={class:"detail-score"},Z={class:"detail-content"},G={class:"detail-row"},H={class:"detail-row"},K={key:0,class:"detail-row analysis"},O={class:"actions"},X=y({__name:"result",setup(Y){const b=D(),v=Number(b.query.recordId),a=C(null),g=$(()=>{var i,_;if(!((i=a.value)!=null&&i.startTime)||!((_=a.value)!=null&&_.submitTime))return"-";const r=new Date(a.value.startTime).getTime(),e=new Date(a.value.submitTime).getTime(),d=Math.floor((e-r)/1e3),u=Math.floor(d/60),l=d%60;return`${u}分${l}秒`});async function w(){if(!v){M.error("记录ID缺失");return}const r=await R.getRecordDetail(v);a.value=r.data}return T(w),(r,e)=>{const d=I("el-button");return o(),n("div",null,[f(A,null,{header:c(()=>[...e[1]||(e[1]=[s("span",{class:"page-title"},"考试结果",-1)])]),default:c(()=>{var u;return[a.value?(o(),n("div",E,[s("div",{class:m(["score-circle",a.value.passed?"pass":"fail"])},[s("div",q,t(a.value.score),1),s("div",F,t(a.value.passed?"通过":"未通过"),1)],2),s("div",P,[s("div",h,[e[2]||(e[2]=s("span",{class:"meta-label"},"考试名称",-1)),s("span",null,t(a.value.examTitle),1)]),s("div",j,[e[3]||(e[3]=s("span",{class:"meta-label"},"总分",-1)),s("span",null,t(a.value.totalScore)+"分",1)]),s("div",z,[e[4]||(e[4]=s("span",{class:"meta-label"},"及格分",-1)),s("span",null,t(a.value.passScore)+"分",1)]),s("div",J,[e[5]||(e[5]=s("span",{class:"meta-label"},"用时",-1)),s("span",null,t(g.value),1)]),s("div",L,[e[6]||(e[6]=s("span",{class:"meta-label"},"交卷时间",-1)),s("span",null,t(k(V)(a.value.submitTime)),1)])]),(u=a.value.answerDetails)!=null&&u.length?(o(),n("div",Q,[e[10]||(e[10]=s("div",{class:"section-title"},"答题详情",-1)),(o(!0),n(x,null,N(a.value.answerDetails,(l,i)=>(o(),n("div",{key:i,class:m(["detail-item",{correct:l.correct,wrong:l.correct===!1}])},[s("div",U,[s("span",null,"第 "+t(i+1)+" 题",1),s("span",{class:m(["detail-tag",l.correct?"tag-pass":"tag-fail"])},t(l.correct?"正确":"错误"),3),s("span",W,t(l.earnedScore||0)+" / "+t(l.score)+" 分",1)]),s("div",Z,t(l.questionContent),1),s("div",G,[e[7]||(e[7]=s("span",{class:"detail-label"},"你的答案:",-1)),s("span",null,t(l.userAnswer||"未作答"),1)]),s("div",H,[e[8]||(e[8]=s("span",{class:"detail-label"},"正确答案:",-1)),s("span",null,t(l.correctAnswer||"-"),1)]),l.analysis?(o(),n("div",K,[e[9]||(e[9]=s("span",{class:"detail-label"},"解析:",-1)),s("span",null,t(l.analysis),1)])):p("",!0)],2))),128))])):p("",!0),s("div",O,[f(d,{onClick:e[0]||(e[0]=l=>r.$router.push("/exam/my-exams"))},{default:c(()=>[...e[11]||(e[11]=[S("返回我的考试",-1)])]),_:1})])])):p("",!0)]}),_:1})])}}}),rs=B(X,[["__scopeId","data-v-e68926d5"]]);export{rs as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/setting-OTwcXasw.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/setting-OTwcXasw.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{P as s}from"./PageCard-DaHB0nvz.js";import{D as n,J as r,Q as p,R as t,S as o,U as m,at as _}from"./vue-vendor-BSww6V4k.js";import{_ as i}from"./index-BUj-isDj.js";import"./element-plus-DvNsnHjj.js";import"./vendor-DvZSZC-J.js";const l=n({__name:"setting",setup(c){return(d,e)=>{const a=_("el-empty");return r(),p("div",null,[t(s,null,{header:o(()=>[...e[0]||(e[0]=[m("span",{class:"page-title"},"基础设置",-1)])]),default:o(()=>[t(a,{description:"系统设置功能开发中"})]),_:1})])}}}),v=i(l,[["__scopeId","data-v-92df5794"]]);export{v as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/studentExam-BmT_VHnw.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/studentExam-BmT_VHnw.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as s,b as a}from"./index-BUj-isDj.js";const d={getPage:t=>s("/student/exam",t),getById:t=>s(`/student/exam/${t}`),start:t=>a(`/student/exam/${t}/start`,null),continueExam:(t,e)=>s(`/student/exam/${t}/continue/${e}`),saveAnswers:(t,e)=>a(`/student/exam/record/${t}/save`,{answers:e}),submit:(t,e)=>a(`/student/exam/record/${t}/submit`,{answers:e}),getRecord:t=>s(`/student/exam/record/${t}`)};export{d as s};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/system-MG8wG3NI.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/system-MG8wG3NI.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{d as m,p as t,b as a,g as s}from"./index-BUj-isDj.js";const d={getPage:e=>s("/system/user/page",e),getList:e=>s("/system/user/list",e?{role:e}:void 0),getById:e=>s(`/system/user/${e}`),create:e=>a("/system/user",e),update:e=>t("/system/user",e),delete:e=>m(`/system/user/${e}`),enable:e=>t(`/system/user/${e}/enable`,null),disable:e=>t(`/system/user/${e}/disable`,null),resetPassword:e=>t("/system/user/password/reset",e),listByDepartment:e=>s(`/system/user/list/department/${e}`),listByRole:(e,r)=>s(`/system/user/list/role/${e}`,r?{departmentId:r}:void 0)},p={getTree:()=>s("/system/org/tree"),getTreeByCenter:e=>s(`/system/org/tree/${e}`)},l={getList:e=>s("/system/department/list",e?{centerId:e}:void 0),getById:e=>s(`/system/department/${e}`),create:e=>a("/system/department",e),update:e=>t("/system/department",e),delete:e=>m(`/system/department/${e}`)};export{l as d,p as o,d as u};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/tag-BUryeIW4.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/tag-BUryeIW4.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{E as _,d as A}from"./element-plus-DvNsnHjj.js";import{b as k,c as V}from"./knowledgeResource-BmB2yNHY.js";import{P as O}from"./PageCard-DaHB0nvz.js";import{D as W,o as X,J as f,Q as C,R as n,S as l,r as d,at as c,F as L,al as P,U as r,a1 as g,a0 as o,K as Y,$ as Z,a9 as R}from"./vue-vendor-BSww6V4k.js";import{_ as w}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const h={class:"tag-group-header"},ee={class:"tag-group-info"},ae={class:"tag-group-name"},te={class:"tag-group-meta"},le={class:"tag-group-actions"},ne={class:"tag-list"},se={key:0,class:"tag-empty"},oe=W({__name:"tag",setup(ie){const b=d([]),G=d(!1);X(p);async function p(){G.value=!0;try{const t=await k.getList();b.value=t.data;for(const e of b.value)if(e.id){const s=await V.listByGroup(e.id);e.tags=s.data}}finally{G.value=!1}}const v=d(!1),$=d(!1),x=d(!1),m=R({id:0,name:""});function B(t){x.value=!!t,m.id=(t==null?void 0:t.id)||0,m.name=(t==null?void 0:t.name)||"",v.value=!0}async function z(){if(m.name){$.value=!0;try{x.value?await k.update(m.id,{name:m.name}):await k.create({name:m.name}),_.success("操作成功"),v.value=!1,p()}finally{$.value=!1}}}async function J(t){const e=t.status===1?0:1;await k.changeStatus(t.id,e),_.success("操作成功"),p()}async function K(t){await A.confirm(`确定删除标签组「${t.name}」吗?`,"警告",{type:"error"}),await k.delete(t.id),_.success("删除成功"),p()}const y=d(!1),D=d(!1),S=d(!1),E=d(0),i=R({id:0,name:"",groupId:0});function I(t,e){E.value=t,S.value=!!e,i.id=(e==null?void 0:e.id)||0,i.name=(e==null?void 0:e.name)||"",i.groupId=t,y.value=!0}async function Q(){if(i.name){D.value=!0;try{S.value?await V.update(i.id,{name:i.name}):await V.create({name:i.name,groupId:E.value}),_.success("操作成功"),y.value=!1,p()}finally{D.value=!1}}}async function j(t){await A.confirm(`确定删除标签「${t.name}」吗?`,"警告",{type:"error"}),await V.delete(t.id),_.success("删除成功"),p()}return(t,e)=>{const s=c("el-button"),T=c("el-tag"),N=c("el-input"),U=c("el-form-item"),F=c("el-form"),M=c("el-dialog");return f(),C("div",null,[n(O,null,{header:l(()=>[e[8]||(e[8]=r("span",{class:"page-title"},"标签管理",-1)),n(s,{type:"primary",onClick:e[0]||(e[0]=a=>B())},{default:l(()=>[...e[7]||(e[7]=[o("+ 新建标签组",-1)])]),_:1})]),default:l(()=>[(f(!0),C(L,null,P(b.value,a=>{var q;return f(),C("div",{key:a.id,class:"tag-group"},[r("div",h,[r("div",ee,[r("span",ae,g(a.name),1),n(T,{type:a.status===1?"success":"info",size:"small"},{default:l(()=>[o(g(a.status===1?"启用":"停用"),1)]),_:2},1032,["type"]),r("span",te,g(a.departmentName)+" · "+g(a.tagCount||0)+" 个标签",1)]),r("div",le,[n(s,{link:"",type:"primary",onClick:u=>I(a.id)},{default:l(()=>[...e[9]||(e[9]=[o("+ 添加标签",-1)])]),_:1},8,["onClick"]),n(s,{link:"",type:"primary",onClick:u=>B(a)},{default:l(()=>[...e[10]||(e[10]=[o("编辑",-1)])]),_:1},8,["onClick"]),n(s,{link:"",type:"warning",onClick:u=>J(a)},{default:l(()=>[o(g(a.status===1?"停用":"启用"),1)]),_:2},1032,["onClick"]),n(s,{link:"",type:"danger",onClick:u=>K(a)},{default:l(()=>[...e[11]||(e[11]=[o("删除",-1)])]),_:1},8,["onClick"])])]),r("div",ne,[(f(!0),C(L,null,P(a.tags,u=>(f(),Y(T,{key:u.id,type:u.status===1?"primary":"info",class:"tag-item",closable:"",onClose:H=>j(u),onClick:H=>I(a.id,u)},{default:l(()=>[o(g(u.name),1)]),_:2},1032,["type","onClose","onClick"]))),128)),(q=a.tags)!=null&&q.length?Z("",!0):(f(),C("span",se,"暂无标签"))])])}),128))]),_:1}),n(M,{modelValue:v.value,"onUpdate:modelValue":e[3]||(e[3]=a=>v.value=a),title:x.value?"编辑标签组":"新建标签组",width:"400px"},{footer:l(()=>[n(s,{onClick:e[2]||(e[2]=a=>v.value=!1)},{default:l(()=>[...e[12]||(e[12]=[o("取消",-1)])]),_:1}),n(s,{type:"primary",loading:$.value,onClick:z},{default:l(()=>[...e[13]||(e[13]=[o("确定",-1)])]),_:1},8,["loading"])]),default:l(()=>[n(F,{"label-width":"80px"},{default:l(()=>[n(U,{label:"名称",required:""},{default:l(()=>[n(N,{modelValue:m.name,"onUpdate:modelValue":e[1]||(e[1]=a=>m.name=a),placeholder:"标签组名称"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"]),n(M,{modelValue:y.value,"onUpdate:modelValue":e[6]||(e[6]=a=>y.value=a),title:S.value?"编辑标签":"新建标签",width:"400px"},{footer:l(()=>[n(s,{onClick:e[5]||(e[5]=a=>y.value=!1)},{default:l(()=>[...e[14]||(e[14]=[o("取消",-1)])]),_:1}),n(s,{type:"primary",loading:D.value,onClick:Q},{default:l(()=>[...e[15]||(e[15]=[o("确定",-1)])]),_:1},8,["loading"])]),default:l(()=>[n(F,{"label-width":"80px"},{default:l(()=>[n(U,{label:"名称",required:""},{default:l(()=>[n(N,{modelValue:i.name,"onUpdate:modelValue":e[4]||(e[4]=a=>i.name=a),placeholder:"标签名称"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])}}}),ce=w(oe,[["__scopeId","data-v-15951d6e"]]);export{ce as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/taking-BZf9dyec.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/taking-BZf9dyec.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{D as z,o as K,a8 as P,J as n,Q as f,U as o,a1 as s,W as A,F as w,al as V,R as I,S as r,K as y,$ as W,aZ as Z,a_ as H,r as c,e as M,at as k,a0 as m}from"./vue-vendor-BSww6V4k.js";import{E as T,d as O}from"./element-plus-DvNsnHjj.js";import{e as X}from"./exam-qzu6wP5U.js";import{s as Y}from"./studentExam-BmT_VHnw.js";import{_ as ee}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const te={class:"exam-taking"},ae={class:"exam-header"},oe={class:"exam-title"},se={class:"exam-meta"},le={class:"exam-body"},ne={class:"answer-card"},ue={class:"question-dots"},re=["onClick"],ie={class:"question-area"},de={key:0,class:"question-card"},ve={class:"question-header"},ce={class:"question-index"},me={class:"question-score"},pe={class:"question-type"},_e={class:"question-content"},fe={class:"nav-buttons"},ye=z({__name:"taking",setup(ke){const S=Z(),C=H(),B=Number(S.params.examId),b=Number(S.query.recordId),$=c(""),E=c(0),U=c(0),p=c(0),_=c([]),u=c({}),g=c({}),v=c(0);let i=null;const a=M(()=>_.value[v.value]||null),D=M(()=>{const d=Math.floor(p.value/60),e=p.value%60;return`${String(d).padStart(2,"0")}:${String(e).padStart(2,"0")}`});async function L(){const e=(await X.getExamPaper(b)).data;$.value=e.examTitle,E.value=e.totalScore,U.value=e.duration,p.value=e.remainingSeconds??e.duration*60,_.value=e.questions||[];for(const l of _.value)l.userAnswer&&(u.value[l.questionId]=l.userAnswer,l.type==="MULTI"&&(g.value[l.questionId]=l.userAnswer.split(",").filter(Boolean)));R()}function R(){i&&clearInterval(i),i=setInterval(()=>{p.value>0?p.value--:(i&&clearInterval(i),T.warning("考试时间已到,自动交卷"),N())},1e3)}function F(d){u.value[d]=(g.value[d]||[]).join(",")}async function N(){await Y.submit(b,u.value),C.push(`/exam/result/${B}?recordId=${b}`)}async function G(){const d=_.value.filter(l=>!u.value[l.questionId]);let e="确定要交卷吗?";d.length>0&&(e+=` 还有 ${d.length} 道题未作答。`),await O.confirm(e,"交卷确认",{type:"warning"}),i&&clearInterval(i),await N()}return K(()=>{if(!b){T.error("考试记录ID缺失"),C.back();return}L()}),P(()=>{i&&clearInterval(i)}),(d,e)=>{const l=k("el-button"),x=k("el-radio"),h=k("el-radio-group"),J=k("el-checkbox"),Q=k("el-checkbox-group"),j=k("el-input");return n(),f("div",te,[o("div",ae,[o("div",oe,s($.value),1),o("div",se,[o("span",null,"总分:"+s(E.value)+"分",1),o("span",null,"时长:"+s(U.value)+"分钟",1),o("span",{class:A(["timer",{warning:p.value<=300}])},"剩余时间:"+s(D.value),3)])]),o("div",le,[o("div",ne,[e[8]||(e[8]=o("div",{class:"card-title"},"答题卡",-1)),o("div",ue,[(n(!0),f(w,null,V(_.value,(t,q)=>(n(),f("div",{key:t.questionId,class:A(["dot",{answered:!!u.value[t.questionId],current:v.value===q}]),onClick:Ie=>v.value=q},s(q+1),11,re))),128))]),I(l,{type:"primary",style:{width:"100%","margin-top":"16px"},onClick:G},{default:r(()=>[...e[7]||(e[7]=[m("交卷",-1)])]),_:1})]),o("div",ie,[a.value?(n(),f("div",de,[o("div",ve,[o("span",ce,"第 "+s(v.value+1)+" 题",1),o("span",me,"("+s(a.value.score)+"分)",1),o("span",pe,s(a.value.typeName||a.value.type),1)]),o("div",_e,s(a.value.content),1),a.value.type==="SINGLE"?(n(),y(h,{key:0,modelValue:u.value[a.value.questionId],"onUpdate:modelValue":e[0]||(e[0]=t=>u.value[a.value.questionId]=t),class:"option-group"},{default:r(()=>[(n(!0),f(w,null,V(a.value.options,t=>(n(),y(x,{key:t.key,label:t.key,border:""},{default:r(()=>[m(s(t.key)+". "+s(t.value),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):a.value.type==="MULTI"?(n(),y(Q,{key:1,modelValue:g.value[a.value.questionId],"onUpdate:modelValue":e[1]||(e[1]=t=>g.value[a.value.questionId]=t),class:"option-group",onChange:e[2]||(e[2]=t=>F(a.value.questionId))},{default:r(()=>[(n(!0),f(w,null,V(a.value.options,t=>(n(),y(J,{key:t.key,label:t.key,border:""},{default:r(()=>[m(s(t.key)+". "+s(t.value),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):a.value.type==="JUDGE"?(n(),y(h,{key:2,modelValue:u.value[a.value.questionId],"onUpdate:modelValue":e[3]||(e[3]=t=>u.value[a.value.questionId]=t),class:"option-group"},{default:r(()=>[I(x,{label:"true",border:""},{default:r(()=>[...e[9]||(e[9]=[m("正确",-1)])]),_:1}),I(x,{label:"false",border:""},{default:r(()=>[...e[10]||(e[10]=[m("错误",-1)])]),_:1})]),_:1},8,["modelValue"])):(n(),y(j,{key:3,modelValue:u.value[a.value.questionId],"onUpdate:modelValue":e[4]||(e[4]=t=>u.value[a.value.questionId]=t),type:"textarea",rows:6,placeholder:"请输入答案"},null,8,["modelValue"]))])):W("",!0),o("div",fe,[I(l,{disabled:v.value===0,onClick:e[5]||(e[5]=t=>v.value--)},{default:r(()=>[...e[11]||(e[11]=[m("上一题",-1)])]),_:1},8,["disabled"]),I(l,{disabled:v.value===_.value.length-1,onClick:e[6]||(e[6]=t=>v.value++)},{default:r(()=>[...e[12]||(e[12]=[m("下一题",-1)])]),_:1},8,["disabled"])])])])])}}}),Se=ee(ye,[["__scopeId","data-v-c63f20c7"]]);export{Se as default};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/training-CgUCWPn_.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/training-CgUCWPn_.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{g as a,b as t,d as i,p as l}from"./index-BUj-isDj.js";const p={getPage:n=>a("/training/plan/page",n),getById:n=>a(`/training/plan/${n}`),create:n=>t("/training/plan",n),update:n=>l("/training/plan",n),delete:n=>i(`/training/plan/${n}`),publish:n=>t(`/training/plan/${n}/publish`,null),end:n=>t(`/training/plan/${n}/end`,null),getMyPlans:()=>a("/training/plan/my"),getMyPlanDetail:n=>a(`/training/plan/my/${n}`),completeKnowledge:(n,e)=>t(`/training/plan/my/${n}/knowledge/${e}/complete`,null),getProgress:n=>a(`/training/plan/my/${n}/progress`)};export{p as t};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/useTable-B9cwF1eN.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/useTable-B9cwF1eN.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{a9 as u,r as f}from"./vue-vendor-BSww6V4k.js";function d(l,a={}){const r=f(!1),c=f([]),n=u({current:1,size:10,total:0}),o=u({...a});async function e(){var t,s;r.value=!0;try{const i=await l({pageNum:n.current,pageSize:n.size,...o});c.value=((t=i.data)==null?void 0:t.records)||[],n.total=((s=i.data)==null?void 0:s.total)||0}finally{r.value=!1}}function g(t){n.current=t,e()}function h(t){n.size=t,n.current=1,e()}function p(){n.current=1,e()}function z(){Object.keys(a).forEach(t=>{o[t]=a[t]}),n.current=1,e()}return{loading:r,data:c,pagination:n,query:o,fetch:e,onPageChange:g,onSizeChange:h,onSearch:p,onReset:z}}export{d as u};
|
||||
1
training/codes/training-system-frontend/dist/assets/js/user-DuD4Ek52.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/user-DuD4Ek52.js
vendored
Normal file
File diff suppressed because one or more lines are too long
33
training/codes/training-system-frontend/dist/assets/js/vendor-DvZSZC-J.js
vendored
Normal file
33
training/codes/training-system-frontend/dist/assets/js/vendor-DvZSZC-J.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
training/codes/training-system-frontend/dist/assets/js/view-q94iz-43.js
vendored
Normal file
1
training/codes/training-system-frontend/dist/assets/js/view-q94iz-43.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
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};
|
||||
29
training/codes/training-system-frontend/dist/assets/js/vue-vendor-BSww6V4k.js
vendored
Normal file
29
training/codes/training-system-frontend/dist/assets/js/vue-vendor-BSww6V4k.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user