You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
16 KiB

1 week ago
import{C as e,Ct as t,D as n,E as r,G as i,P as a,Qt as o,S as s,T as c,X as l,Xt as u,Y as d,at as f,b as p,et as m,ht as h,m as g,ot as _,q as v,rt as y,tn as b,x,y as S}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{C,b as w,f as T,g as E,l as D,m as O,o as k,p as A,r as j,s as M,y as N}from"./index-BKGTVidA.js";import{n as P,t as F}from"./usePageLoad-D9c6HmVf.js";import{c as I,l as L}from"./activities-CCTU_3qV.js";import{o as ee}from"./courses-DlpilFy4.js";import{a as R,i as z,o as B,s as V}from"./admin-list-DjncsyJC.js";/* empty css */async function te(){let{data:e}=await j.get(`/admin/v1/dashboard/overview`);return e.data}var ne={class:`detail-body`},re={class:`detail-section`},H={key:0,class:`detail-media-preview detail-media-cover`},U=[`src`],W={key:1,class:`detail-empty-media`},G={class:`detail-section`},K={key:0,class:`detail-media-preview detail-media-promo`},q=[`src`],J={key:1,class:`detail-empty-media`},Y={class:`detail-section`},X={class:`detail-text-block`},ie={class:`detail-section`},ae={key:1,class:`detail-empty-media`},oe={class:`detail-section`},se=[`innerHTML`],ce={key:1,class:`detail-empty-media`},le={class:`detail-section`},ue={key:1,class:`detail-empty-media`},de={class:`detail-section`},fe=[`innerHTML`],pe={key:1,class:`detail-empty-media`},me=M(n({__name:`CalendarEventDetailDialog`,props:a({event:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(n){let a=m(n,`modelValue`),o=n,v=h(!1),S=h(null),C=h(null),w=h([]);function T(e){return e==null||e===``?``:String(e)}function E(e,t){return!e&&!t?``:e&&t?`${e}${t}`:e||t||``}function O(e){let t=(e??[]).map(e=>e?.trim()).filter(Boolean);return t.length?t.join(``):``}function k(e){return e.news?.title?e.news.title:e.news_link_url?e.news_link_url:``}function A(e){return e.starts_at?e.starts_at.replace(`T`,` `).slice(0,16):``}function j(e){return e.ends_at?e.ends_at.replace(`T`,` `).slice(0,16):``}async function M(){let e=o.event;if(e){v.value=!0,S.value=null,C.value=null,w.value=[];try{e.type===`course`?S.value=await ee(e.entity_id):(C.value=await I(e.entity_id),w.value=await L(e.entity_id))}catch{D.error(`加载详情失败`),a.value=!1}finally{v.value=!1}}}y(()=>[a.value,o.event?.entity_id,o.event?.type,o.event?.start_date],([e])=>{e&&o.event&&M()});let N=()=>o.event?o.event.type===`course`?`课程详情`:`活动详情`:`详情`;return(o,m)=>{let h=d(`el-descriptions-item`),y=d(`el-descriptions`),D=d(`el-table-column`),M=d(`el-table`),P=d(`el-empty`),F=d(`el-button`),I=d(`el-dialog`),L=l(`loading`);return i(),x(I,{modelValue:a.value,"onUpdate:modelValue":m[1]||=e=>a.value=e,title:N(),width:`960px`,top:`5vh`,"destroy-on-close":``,"append-to-body":``,class:`calendar-event-detail-dialog`},{footer:f(()=>[r(F,{onClick:m[0]||=e=>a.value=!1},{default:f(()=>[...m[9]||=[c(`关闭`,-1)]]),_:1})]),default:f(()=>[_((i(),e(`div`,ne,[n.event&&S.value&&n.event.type===`course`?(i(),e(g,{key:0},[r(y,{column:3,border:``,size:`small`,class:`detail-desc`},{default:f(()=>[r(h,{label:`课程体系`},{default:f(()=>[c(b(S.value.course_system_item?.label||``),1)]),_:1}),r(h,{label:`课程名称`,span:2},{default:f(()=>[c(b(S.value.title),1)]),_:1}),r(h,{label:`课程类型`},{default:f(()=>[c(b(S.value.course_type_item?.label||``),1)]),_:1}),r(h,{label:`开课人数`},{default:f(()=>[c(b(T(S.value.capacity)),1)]),_:1}),r(h,{label:`开课日期`},{default:f(()=>[c(b(t(z)(S.value.teach_start_date,S.value.teach_end_date)),1)]),_:1}),r(h,{label:`开课时间`},{default:f(()=>[c(b(E(S.value.teach_start_time,S.value.teach_end_time)),1)]),_:1}),r(h,{label:`报名起止`,span:2},{default:f(()=>[c(b(t(z)(S.value.signup_start_date,S.value.signup_end_date)),1)]),_:1}),r(h,{label:`地点`},{default:f(()=>[c(b(T(S.value.location)),1)]),_:1}),r(h,{label:`关联资讯`,span:2},{default:f(()=>[c(b(k(S.value)),1)]),_:1}),r(h,{label:`课程状态`},{default:f(()=>[p(`span`,{class:u([`status-badge`,t(B)(S.value.progress_status)])},b(t(R)(S.value.progress_status)),3)]),_:1}),r(h,{label:`发布