zhxy-jsd/dist/build/h5/assets/pages-view-homeSchool-BanJiKeBiao.fa596989.js

2 lines
7.3 KiB
JavaScript
Raw Normal View History

2025-05-21 02:44:13 +08:00
import{d as e,r as a,n as s,m as l,Z as t,b as o,e as u,w as n,q as c,g as i,h as d,y as r,z as m,v,a0 as f,Q as p,a7 as k,G as y,j as g,k as _,l as b,aq as w,a6 as h,_ as D}from"./index-f6e54d8f.js";import{_ as M}from"./uni-icons.7467b650.js";import{_ as j}from"./uni-popup.1c525271.js";import{d as x}from"./dayjs.min.1cfb48de.js";import{w as $,i as W}from"./isoWeek.2f7c0250.js";import{_ as N}from"./_plugin-vue_export-helper.1b428a4d.js";const T=N(e({__name:"BanJiKeBiao",setup(e){x.locale("zh-cn"),x.extend($),x.extend(W);const N=a([]),T=a(""),R=a(-1),C=s((()=>N.value.map((e=>e.name)))),Y=s((()=>{const e=N.value.find((e=>e.id===T.value));return e?e.name:""})),I=e=>{const a=parseInt(e.detail.value);R.value=a;const s=N.value[a];s&&s.id!==T.value&&(T.value=s.id,S())},z=a(!1),P=a(x()),q=a(0),B=a([]),F=a(!1),G=a(null),Q=l({weekNumber:0,startDate:"",endDate:"",displayText:""}),Z=a([]),A=a(0),J=a([]);s((()=>P.value.isoWeekday(1)));const K=e=>x().isoWeek()===e.weekNumber,O=()=>{const e=P.value.isoWeekday(1),a=[],s=["周一","周二","周三","周四","周五"];for(let t=0;t<5;t++){const l=e.add(t,"day");a.push({dateFull:l.format("YYYY-MM-DD"),dateMMDD:l.format("M/DD"),weekday:s[t]})}Z.value=a;const l=x().isoWeekday();P.value.isSame(x(),"isoWeek")?q.value=l>=1&&l<=5?l-1:0:q.value=0},S=async()=>{if(!T.value)return console.log("请先选择班级"),B.value=[],void(z.value=!1);console.log(`正在获取 ${Y.value}${Q.weekNumber}周 课表数据...`),z.value=!0,await new Promise((e=>setTimeout(e,500)));const e=[{name:"上1",timeRange:"08:00-08:45"},{name:"上2",timeRange:"08:55-09:40"},{name:"上3",timeRange:"10:00-10:45"},{name:"上4",timeRange:"10:55-11:40"},{name:"下1",timeRange:"14:00-14:45"},{name:"下2",timeRange:"14:55-15:40"},{name:"下3",timeRange:"16:00-16:45"},{name:"下4",timeRange:"16:55-17:40"}],a=[],s=Q.weekNumber%2==1;console.log(`模拟生成 ${T.value} 的课表`);for(const l of e){const e=E(l.name,q.value,s,T.value);a.push({name:l.name,timeRange:l.timeRange,subjects:e})}B.value=a,z.value=!1,console.log("课表数据加载完成:",B.value)},E=(e,a,s,l)=>{var t;const o=[],u=(null==(t=N.value.find((e=>e.id===l)))?void 0:t.name)||l;return"g1c101"===l?0===a&&("上1"===e||"上2"===e?o.push({subject:s?"语文":"数学",class:`(${u})`}):"上3"===e&&o.push({subject:"体育",class:`(${u})`})):"g2c201"===l?1===a&&"上2"===e&&o.push({subject:"英语",class:`(${u})`}):3===a&&"下1"===e&&o.push({subject:"科学",class:`(${u})`}),0===o.length&&4===a&&"下4"===e&&o.push({subject:"班会",class:`(${u})`}),o},H=a(0),L=async()=>{F.value=!0,0===J.value.length&&console.warn("Available weeks list is empty.");const e=J.value.findIndex((e=>e.weekNumber===Q.weekNumber));if(-1!==e){const a=53.5*e;await k(),H.value=a}else await k(),H.value=0;await k(),G.value?G.value.open("bottom"):console.error("Week popup ref is not available.")},U=()=>{G.value&&G.value.close()},V=e=>{e.show||(F.value=!1)};return t((async()=>{(()=>{const e=x();P.value=e;const a=e.isoWeekday(1),s=a.add(4,"day"),l=a.year(),t=a.isoWeek();Q.weekNumber=t,Q.startDate=a.format("MM.DD"),Q.endDate=s.format("MM.DD"),Q.displayText=`${l}年 第${t}周 (${a.format("MM.DD")}-${s.format("MM.DD")})`,A.value=t})(),(()=>{const e=[],a=x().year();for(let l=1;l<=53;l++){const s=x().year(a).isoWeek(l).isoWeekday(1);if(s.isoWeekYear()===a){const l=s.add(4,"day"),t=s.isoWeek();e.push({weekNumber:t,startDate:s.format("MM.DD"),endDate:l.format("MM.DD"),displayText:`${a}年 第${t}周 (${s.format("MM.DD")}-${l.format("MM.DD")})`})}}const s=e.filter(((e,a,s)=>a===s.findIndex((a=>a.weekNumber===e.weekNumber))));J.value=s,console.log("Generated weeks:",J.value)})(),O(),await(async()=>{console.log("Fetching combined class list from backend..."),z.value=!0,await new Promise((e=>setTimeout(e,300))),N.value=[{id:"g1c101",name:"一年级 01班"},{id:"g1c102",name:"一年级 02班"},{id:"g2c201",name:"二年级 01班"},{id:"g2c202",name:"二年级 02班"},{id:"g2c203",name:"二年级 03班"},{id:"g3c301",name:"三年级 01班"}],console.log("Combined class list loaded:",N.value),z.value=!1})(),N.value.len