PageSourceSearch

https://edu.cyff.org.tw/_nuxt/D_0etqXv.js

js cyff.org.tw collected 2026-10-01 12:01:05 UTC 7,929 bytes, 1 lines download raw bytes

1import{_ as G}from"./DKIxAS7S.js";import{u as $}from"./CEVzxQmY.js";import{m as L,B as z,j as O}from"./CawMNg-U.js";import{u as I,_ as S}from"./Dw2kobtO.js";import{$ as B,u as W}from"./d93PbwTj.js";import{z as X}from"./ibl8YJur.js";import{a as H,I as R}from"./DSRpCXmQ.js";import{k as F,c as J,j as K,Z as A,_ as P,u as t,z as q,$ as s,a3 as d,a0 as l,M as g,b as C,C as Q,w as Y,l as M,L as ee,ab as te}from"./C5m60RlH.js";import{_ as D}from"./BvasmYni.js";import{_ as V}from"./CRDa8Wz-.js";import{_ as oe}from"./Bv9ZyqXn.js";import{b as le}from"./DkIP-PXc.js";import{_ as ae}from"./y3npNYlP.js";import"./BGIyVFO2.js";import"./HeXeirR1.js";import"./BPc5uN_T.js";import"./DA7pCM0g.js";import"./DwzDBW-7.js";import"./Db3nu29H.js";import"./DZ6nwMxk.js";import"./B0muCIxo.js";import"./C78olnQh.js";import"./D_raVtgH.js";import"./BYnsaQvC.js";import"./CSdRZzMo.js";import"./CqK5d_Uo.js";import"./Co-OdYMQ.js";import"./CM8LO42l.js";const se={class:"flex flex-grow gap-1"},ne={class:"w-full flex justify-between children:flex-auto children:rd-0"},re=F({__name:"EduContactDrawer",props:{show:{type:Boolean}},emits:["update:show","reload"],setup(U,{emit:h}){const m=U,w=h,b=$(),c=L(m,"show",w),{formRef:r,formModel:i,formRules:k,submitForm:y,resetForm:x}=I({cont_name:"",cont_tel_o:"",cont_tel_o_ext:"",cont_mobile:"",cont_email:"",office_area:""},{cont_name:{required:!0,message:"請輸入姓名"},cont_tel_o:{required:!0,message:"請輸入學校聯絡電話"},cont_mobile:{validator(f,o){if(o&&!H.cellphone.test(o))return new Error("請輸入有效的手機號碼")}},cont_email:{required:!0,validator(f,o){const n=X.string().min(1,"請輸入電子郵件").email("請輸入有效的電子郵件").safeParse(o);if(!n.success)return new Error(n.error.issues[0].message)}},office_area:{required:!0,message:"請輸入承辦單位(處室)"}});J(()=>m.show,f=>{f&&x()});const v=K(!1);function E(){v.value||y(()=>{v.value=!0,B("/api/frontend/edu/staff/contacts",{method:"post",body:i.value}).then(()=>{w("reload"),c.value=!1}).catch(f=>b(f.message,{type:"error"})).finally(()=>{v.value=!1})})}return(f,o)=>{const n=z,e=V,u=D,p=S,N=G;return P(),A(N,{show:t(c),"onUpdate:show":o[7]||(o[7]=a=>q(c)?c.value=a:null)},{header:s(()=>[l(n,{text:"",onClick:o[0]||(o[0]=a=>c.value=!1)},{default:s(()=>o[8]||(o[8]=[d("i",{class:"i-material-symbols-close-rounded fs-2"},null,-1)])),_:1})]),footer:s(()=>[d("div",ne,[l(n,{type:"primary",size:"large",disabled:t(v),onClick:t(x)},{default:s(()=>o[9]||(o[9]=[g(" 取消重填 ")])),_:1},8,["disabled","onClick"]),l(n,{type:"info",size:"large",loading:t(v),onClick:E},{default:s(()=>o[10]||(o[10]=[g(" 確認 ")])),_:1},8,["loading"])])]),default:s(()=>[o[11]||(o[11]=d("div",{class:"mb-4 flex flex-wrap items-center gap-5"},[d("div",{class:"fs-1 text-main-dark font-600"}," 新增承辦人資料 ")],-1)),l(p,{ref_key:"formRef",ref:r,model:t(i),rules:t(k)},{default:s(()=>[l(u,{label:"姓名",path:"cont_name"},{default:s(()=>[l(e,{value:t(i).cont_name,"onUpdate:value":o[1]||(o[1]=a=>t(i).cont_name=a)},null,8,["value"])]),_:1}),l(u,{label:"學校聯絡電話",path:"cont_tel_o"},{default:s(()=>[d("div",se,[l(e,{value:t(i).cont_tel_o,"onUpdate:value":o[2]||(o[2]=a=>t(i).cont_tel_o=a),placeholder:"電話號碼",class:"flex-grow","allow-input":a=>t(R).numbers.test(a)},null,8,["value","allow-input"]),l(e,{value:t(i).cont_tel_o_ext,"onUpdate:value":o[3]||(o[3]=a=>t(i).cont_tel_o_ext=a),class:"max-w-40",placeholder:"分機號碼","allow-input":a=>t(R).numbers.test(a)},null,8,["value","allow-input"])])]),_:1}),l(u,{label:"手機",path:"cont_mobile"},{default:s(()=>[l(e,{value:t(i).cont_mobile,"onUpdate:value":o[4]||(o[4]=a=>t(i).cont_mobile=a),"allow-input":a=>t(R).cellphone.test(a)},null,8,["value","allow-input"])]),_:1}),l(u,{label:"Email",path:"cont_email"},{default:s(()=>[l(e,{value:t(i).cont_email,"onUpdate:value":o[5]||(o[5]=a=>t(i).cont_email=a)},null,8,["value"])]),_:1}),l(u,{label:"承辦單位(處室)",path:"office_area"},{default:s(()=>[l(e,{value:t(i).office_area,"onUpdate:value":o[6]||(o[6]=a=>t(i).office_area=a)},null,8,["value"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["show"])}}}),ue={class:"flex flex-grow flex-col"},ie={class:"grid grid-cols-[repeat(auto-fit,minmax(0,1fr))] mx-auto mb-10 mt-5 max-w-500px gap-5"},qe=F({__name:"profile",setup(U){const h=$(),m=W(),w=C({showRequireMark:!1,size:"large",labelWidth:"",labelAlign:"left",labelPlacement:"top"});Q(()=>{const{md:n}=O(le);Y(()=>{w.value.labelWidth=n.value?"120":"",w.value.labelPlacement=n.value?"left":"top"})});const b=C(!1),{formRef:c,formModel:r,formRules:i,formError:k,submitForm:y,resetForm:x}=I(()=>{const{school_name:n="",school_account:e="",default_contact_id:u}=m.userInfo??{};return{school_name:n,school_account:e,password:"",password_recheck:"",default_contact_id:u||null}},{password:{validator(n,e){if(e&&!/^(?=.*\d)(?=.*[a-zA-Z]).{7,}$/.test(e))return new Error("請至少輸入7個以上由英文 A~Z,a~z、數字0~9混和的字元,不可使用特殊符號")}},password_recheck:{validator(n,e){if(r.value.password&&!e)return new Error("請再次輸入密碼");
1if(r.value.password&&r.value.password!==e)return new Error("密碼輸入不一致")}},default_contact_id:{required:!0,message:"請選擇承辦人"}}),v=M(()=>m.contacts.map(({cont_name:n,id:e})=>({label:n,value:e}))),E=M(()=>{var e;const{default_contact_id:n}=r.value;return n?(e=m.contacts.find(u=>u.id===r.value.default_contact_id))==null?void 0:e.cont_email:""}),f=C(!1);function o(){y(()=>{f.value=!0;const{password:n,default_contact_id:e}=r.value;B("/api/frontend/edu/staff/info",{method:"put",body:n?{password:n,default_contact_id:e}:{default_contact_id:e}}).then(()=>(x(),m.refreshInfo())).catch(u=>h(u.message,{type:"error"})).finally(()=>{f.value=!1})})}return(n,e)=>{const u=V,p=D,N=ae,a=z,j=S,Z=re,T=oe;return P(),A(T,null,{default:s(()=>[d("div",null,[e[7]||(e[7]=d("h3",{class:"flex flex-wrap items-center gap-1 pb-8 pt-5 lt-xl:justify-center lt-xl:pb-5 lt-xl:text-center"},[d("span",{class:"fs-2 text-main-dark font-600"},"密碼帳號維護")],-1)),l(j,ee({ref_key:"formRef",ref:c,model:t(r),rules:t(i)},t(w)),{default:s(()=>[l(p,{label:"學校"},{default:s(()=>[l(u,{value:t(r).school_name,disabled:""},null,8,["value"])]),_:1}),l(p,{label:"帳號"},{default:s(()=>[l(u,{value:t(r).school_account,disabled:""},null,8,["value"])]),_:1}),l(p,{label:"密碼",path:"password",feedback:t(k).password?void 0:"請至少輸入7個以上由英文 A~Z,a~z、數字0~9混和的字元,不可使用特殊符號"},{default:s(()=>[l(u,{value:t(r).password,"onUpdate:value":e[0]||(e[0]=_=>t(r).password=_),type:"password"},null,8,["value"])]),_:1},8,["feedback"]),l(p,{label:"再次輸入密碼",path:"password_recheck"},{default:s(()=>[l(u,{value:t(r).password_recheck,"onUpdate:value":e[1]||(e[1]=_=>t(r).password_recheck=_),type:"password"},null,8,["value"])]),_:1}),l(p,{class:"relative",label:"承辦人",path:"default_contact_id"},{default:s(()=>[d("div",ue,[l(N,{value:t(r).default_contact_id,"onUpdate:value":e[2]||(e[2]=_=>t(r).default_contact_id=_),options:t(v)},null,8,["value","options"]),d("div",null,[d("a",{class:"fs-7 mb-1 border-b border-current color-assist",href:"#",onClick:e[3]||(e[3]=te(_=>b.value=!0,["prevent"]))},"承辦人不在選項中?")])])]),_:1}),l(p,{label:"Email"},{default:s(()=>[l(u,{value:t(E),placeholder:"",disabled:""},null,8,["value"])]),_:1}),d("ul",ie,[d("li",null,[l(a,{round:"",size:"large",type:"primary",title:"取消重填",class:"w-full"},{default:s(()=>e[5]||(e[5]=[g(" 取消重填 ")])),_:1})]),d("li",null,[l(a,{round:"",size:"large",loading:t(f),type:"success",title:"確認送出",class:"w-full",onClick:o},{default:s(()=>e[6]||(e[6]=[g(" 確認送出 ")])),_:1},8,["loading"])])])]),_:1},16,["model","rules"]),l(Z,{show:t(b),"onUpdate:show":e[4]||(e[4]=_=>q(b)?b.value=_:null),onReload:t(m).refreshContacts},null,8,["show","onReload"])])]),_:1})}}});
1export{qe as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.