guest-reception-system/dist_rootowned_old/js/invitationOptions.C9q7AXPg.js

2 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{d as L,n as N,M as Q,o as v,c as T,w as D,u as y,P as A,q as f,E as S,b as R,S as fe,N as X,p as V,A as j,O as B,U as pe,D as E,V as me,r as b,W as ve,x as C,X as ge,Y as F,I as be,Z,_ as we,v as xe,$ as ye,a0 as Se}from"./.pnpm.CF2hm8if.js";import{r as ke,a as Ce,b as _e,_ as ee}from"./index.Bg6AlVg6.js";const P="https://api.zsfz.jinzejk.com",Te=()=>`${P}/api/admission/options/consult-stages`,Ve=()=>`${P}/api/admission/school/regions`,De=()=>`${P}/api/admission/school/search`,te=t=>async(n,a,o={})=>{const{headers:i,silent:u,...d}=o,p={...i},g={method:t,...d,headers:p,silent:u};if(t!=="GET"&&a)a instanceof FormData?g.body=a:(g.body=JSON.stringify(a),"Content-Type"in p||(p["Content-Type"]="application/json"));else if(t==="GET"&&a){const c=[];for(const[k,e]of Object.entries(a))c.push(`${encodeURIComponent(k)}=${encodeURIComponent(String(e))}`);n+=`?${c.join("&")}`}const h={url:/^https?:\/\//i.test(n)?n:`${P}${n}`,config:g};await ke(h);try{const c=await fetch(h.url,h.config),k=await c.json().catch(()=>({}));return await Ce({ctx:h,response:c,data:k})}catch(c){return await _e({ctx:h,error:c})}},ae=te("GET"),$e=te("POST"),q=t=>t.code===200?t.result:null,Ie=async()=>[...q(await ae(Te()))??[]].sort((n,a)=>n.sort-a.sort).map(n=>({label:n.label,value:n.value,disabled:n.disabled})),Ue=async()=>[...q(await ae(Ve()))??[]].sort((n,a)=>n.sort-a.sort).map(n=>({label:n.label,value:n.region})),Re=async(t={})=>q(await $e(De(),t)),Fe={class:"relative flex py-[4.25rem] items-center justify-center bg-[#F5F5F5]"},Pe={class:"m-0 text-[4rem] font-500 text-black"},Me={class:"flex shrink-0 items-center bg-white"},Oe={class:"text-[#9E9E9E] text-[3.5rem]"},ze={key:1,class:"flex min-h-0 flex-1"},Ee={key:0,class:"h-full w-[var(--van-sidebar-width)] shrink-0 self-stretch overflow-y-auto bg-[#f5f5f5]"},Ne=["aria-checked","onClick"],je={class:"min-w-0 flex-1"},Be=L({__name:"SchoolSelectPopup",props:{show:{type:Boolean},modelValue:{default:null},title:{default:"毕业院校"},cancelText:{default:"取消"},searchPlaceholder:{default:"请输入学校名称"},searchText:{default:"搜索"},emptyText:{default:"未找到相关学校"},showAllText:{default:"查看全部学校"},finishedText:{default:"没有更多了"},pageSize:{default:20}},emits:["update:show","update:modelValue","select","search","region-change","cancel"],setup(t,{emit:n}){const a=t,o=n,i=b(""),u=b(""),d=b(0),p=b([]),g=b(0),x=b(!1),h=b(!1),c=b(!1),k=b(null),e=b(null),m=ve(),w=`${m}-title`,M=`${m}-search`,_=b([]);let U=Promise.resolve(),O=!1;const Y=()=>(O||(O=!0,U=Ue().then(s=>{_.value=s}).finally(()=>{O=!1})),U),se=s=>{const l=Math.max(0,_.value.length-1);return Math.min(Math.max(0,s),l)},le=C(()=>Number.isFinite(a.pageSize)?Math.max(1,Math.floor(a.pageSize)):20),$=C(()=>u.value.length>0),G=C(()=>_.value[d.value]),oe=C(()=>$.value&&h.value&&p.value.length===0),ne=C(()=>!$.value&&h.value&&p.value.length===0),K=()=>{const s=se(d.value);d.value!==s&&(d.value=s),e.value&&(e.value.scrollTop=0),p.value=[],g.value=0,x.value=!1,h.value=!1,c.value=!1,Z(()=>{var l;return(l=k.value)==null?void 0:l.check()})},re=async()=>{var r;if(!$.value&&(await U,!G.value)){x.value=!1,h.value=!0;return}const s=g.value+1,l=await Re({page:s,pageSize:le.value,keyword:$.value?u.value:void 0,region:$.value||(r=G.value)==null?void 0:r.value});if(!l){x.value=!1,c.value=!0;return}p.value.push(...l.items.map(I=>({label:I.schoolName,value:I.id}))),g.value=s,h.value=!l.hasNextPage,await Z(),x.value=!1},H=(s=i.value)=>{const l=String(s).trim();i.value=l,u.value=l,o("search",l)},J=()=>{i.value="",u.value="",o("search","")},ce=()=>{J()},ie=s=>{const l=_.value[s];l&&o("region-change",l,s)},z=s=>s.value===a.modelValue,ue=s=>[z(s)?"font-medium text-[#1580ff]":"font-normal text-[#333]","cursor-pointer active:bg-[#f7f8fa]"],de=s=>{o("update:modelValue",s.value),o("select",s.value,s),o("update:show",!1)},he=s=>{o("update:show",s)},W=()=>{o("update:show",!1),o("cancel")};return N([d,u],K),Q(Y),N(()=>a.show,async s=>{!s||_.value.length>0||(await Y(),_.value.length>0&&h.value&&p.value.length===0&&K())}),(s,l)=>(v(),T(y(A),{show:t.show,class:"school-select-popup flex h-[min(82dvh,205rem)] flex-col overflow-hidden",position:"bottom",round:"","close-on-popstate":"","safe-area-inset-bottom":"","aria-modal":"true","aria-labelledby":w,onClickOverlay:W,"onUpdate:show":he},{default:D(()=>[f("header",Fe,[f("h2",Pe,S(t.title),1),f("button",{class:"absolute right-[16px] border-0 bg-transparent p-0 text-[3.75rem] text-[#666] leading-none",type:"button",onClick:W},S(t.cancelText),1)]),f("div",Me,[f("label",{class:"sr-only",for:M},S(t.searchPlaceholder),1),R(y(fe),{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=r=>i.value=r),class:"school-select-popup__search min-w-0 flex-1",background:"#fff",autocomplete:"off",enterkeyhint:"search",id:M,placeholder:t.searchPlaceholder,onClear:ce,onSearch:H},null,8,["modelValue","placeholder"]),f("button",{class:"shrink-0 border-0 bg-transparent py-[1.5rem] pl-[2.5rem] pr-[3.75rem] text-[4rem] text-[#1580FF] leading-none",type:"button",onClick:l[1]||(l[1]=r=>H(i.value))},S(t.searchText),1)]),oe.value?(v(),T(y(X),{key:0,class:"min-h-0 flex-1",image:"/images/empty-school.png","image-size":108,role:"status"},{description:D(()=>[f("span",Oe,S(t.emptyText)+"",1),f("button",{class:"border-0 bg-transparent p-0 text-[#1580ff] text-[3.5rem]",type:"button",onClick:J},S(t.showAllText)+">>",1)]),_:1})):(v(),V("div",ze,[$.value?E("",!0):(v(),V("div",Ee,[R(y(pe),{modelValue:d.value,"onUpdate:modelValue":l[2]||(l[2]=r=>d.value=r),class:"w-full bg-white",onChange:ie},{default:D(()=>[(v(!0),V(j,null,B(_.value,(r,I)=>(v(),T(y(ge),{key:r.value,class:F({"school-select-popup__region--before-selected":I===d.value-1,"school-select-popup__region--after-selected":I===d.value+1}),title:r.label},null,8,["class","title"]))),128))]),_:1},8,["modelValue"])])),f("div",{ref_key:"listScroller",ref:e,class:"min-w-0 flex-1 overflow-y-auto"},[R(y(me),{ref_key:"listRef",ref:k,loading:x.value,"onUpdate:loading":l[3]||(l[3]=r=>x.value=r),finished:h.value,error:c.value,"finished-text":p.value.length?t.finishedText:"","error-text":"加载失败,点击重试",scroller:e.value??void 0,role:"radiogroup",onLoad:re,"onUpdate:error":l[4]||(l[4]=r=>c.value=r)},{default:D(()=>[ne.value?(v(),T(y(X),{key:0,class:"h-full",image:"search","image-size":"108",description:"该区域暂无学校"})):E("",!0),(v(!0),V(j,null,B(p.value,r=>(v(),V("button",{key:r.value,class:F(["flex w-full items-center justify-between gap-2 border-0 bg-white p-[15px] text-left text-[3.5rem]",ue(r)]),type:"button",role:"radio","aria-checked":z(r),onClick:I=>de(r)},[f("span",je,S(r.label),1),z(r)?(v(),T(y(be),{key:0,class:"shrink-0 text-[5rem]",name:"success","aria-hidden":"true"})):E("",!0)],10,Ne))),128))]),_:1},8,["loading","finished","error","finished-text","scroller"])],512)]))]),_:1},8,["show"]))}}),Xe=ee(Be,[["__scopeId","data-v-db2da817"]]),Le={class:"relative flex py-[4.25rem] items-center justify-center bg-[#F5F5F5]"},Ae={class:"m-0 text-[4rem] font-500 text-black"},qe=["aria-label"],Ye=["aria-checked","disabled","onClick"],Ze=L({__name:"SingleSelectPopup",props:{show:{type:Boolean},options:{default:()=>[]},modelValue:{default:null},title:{default:"请选择"},cancelText:{default:"取消"},columns:{default:3}},emits:["update:show","update:modelValue","select","cancel"],setup(t,{emit:n}){const a=t,o=n,i=b([]),u=C(()=>a.options.length?a.options:i.value),d={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"},p=C(()=>d[a.columns]),g=e=>e.value===a.modelValue,x=e=>[g(e)?"bg-[#1580ff] text-white":"bg-[#f5f6f8] text-[#1f2329]",e.disabled?"cursor-not-allowed opacity-40":"cursor-pointer active:opacity-70"],h=e=>{o("update:show",e)},c=()=>{o("update:show",!1),o("cancel")},k=e=>{e.disabled||(o("update:modelValue",e.value),o("select",e.value,e),o("update:show",!1))};return Q(async()=>{a.options.length||(i.value=await Ie())}),(e,m)=>(v(),T(y(A),{show:t.show,class:"single-select-popup overflow-hidden",position:"bottom",round:"","close-on-popstate":"","safe-area-inset-bottom":"",onClickOverlay:c,"onUpdate:show":h},{default:D(()=>[f("div",Le,[f("h2",Ae,S(t.title),1),f("button",{class:"absolute right-[16px] border-0 bg-transparent p-0 text-[3.75rem] text-[#666] leading-none",type:"button",onClick:c},S(t.cancelText),1)]),f("div",{class:F(["grid gap-x-10 gap-y-10 px-16 pt-14 pb-24",p.value]),role:"radiogroup","aria-label":t.title},[(v(!0),V(j,null,B(u.value,w=>(v(),V("button",{key:w.value,class:F(["h-[9rem] rounded-[1.5rem] border-0 px-8 text-[3.5rem] leading-none transition-colors",x(w)]),type:"button",role:"radio","aria-checked":g(w),disabled:w.disabled,onClick:M=>k(w)},[we(e.$slots,"option",{option:w,selected:g(w)},()=>[xe(S(w.label),1)])],10,Ye))),128))],10,qe)]),_:3},8,["show"]))}}),Ge={class:"visit-date-calendar__header relative flex h-full w-full items-center justify-center py-17"},Ke={class:"text-[4rem] font-medium text-black"},He=L({__name:"VisitDateCalendar",props:{show:{type:Boolean},modelValue:{default:null},title:{default:"到访日期"},maxDate:{default:void 0}},emits:["update:show","update:modelValue","confirm","cancel"],setup(t,{emit:n}){const a=t,o=n,i=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),u=b(i(new Date)),d=e=>e instanceof Date&&!Number.isNaN(e.getTime()),p=(e,m)=>e.getFullYear()===m.getFullYear()&&e.getMonth()===m.getMonth()&&e.getDate()===m.getDate(),g=C(()=>{if(!d(a.modelValue))return u.value;const e=i(a.modelValue),m=e.getTime()<u.value.getTime(),w=d(a.maxDate)&&e.getTime()>i(a.maxDate).getTime();return m||w?u.value:e}),x=e=>e.date&&p(e.date,u.value)?{...e,text:"今"}:e,h=e=>{o("update:show",e)},c=()=>{o("update:show",!1),o("cancel")},k=e=>{if(Array.isArray(e)||!d(e))return;const m=i(e);m.getTime()<u.value.getTime()||(o("update:modelValue",m),o("confirm",m),o("update:show",!1))};return N(()=>a.show,e=>{e&&(u.value=i(new Date))}),(e,m)=>(v(),T(y(A),{show:t.show,class:"visit-date-calendar__popup h-[min(80dvh,180rem)] overflow-hidden",position:"bottom",round:"","close-on-popstate":"","safe-area-inset-bottom":"",onClickOverlay:c,"onUpdate:show":h},{default:D(()=>[R(y(Se),{"default-date":g.value,formatter:x,"max-date":t.maxDate,"min-date":u.value,poppable:!1,"show-confirm":!1,"show-mark":!1,"show-title":!0,"show-subtitle":!1,"first-day-of-week":1,type:"single",onConfirm:k},{title:D(()=>[f("div",Ge,[f("span",Ke,S(t.title),1),f("button",{class:"visit-date-calendar__cancel absolute right-[16px] border-0 bg-transparent text-[#666] text-[3.75rem]",type:"button",onClick:ye(c,["stop"])}," 取消 ")])]),_:1},8,["default-date","max-date","min-date"])]),_:1},8,["show"]))}}),Qe=ee(He,[["__scopeId","data-v-6bb4a750"]]),et=["小学","初中","国际","复读"];export{Xe as S,Qe as V,Ze as _,et as s};