import{l as Qs,p as Xs,h as Ys,a as v,f as l,e as n,w as o,j as m,s as I,v as d,q as Q,z as Zs,E as ds,G as Oe,r as y,i as ye,o as p,g as i,t as c,F as N,b as A,n as F,c as U,d as V,k as w,_ as el}from"./index-goFN5iMk.js";import{t as $}from"./leaveTime-ZdUoa0wT.js";import{M as Fe}from"./index-Do1JH6k2.js";const sl={class:"page-wrapper"},ll={class:"main-container setting-container"},tl={class:"panel-tip"},nl={class:"form-section"},al={class:"section-head"},ol={class:"section-extra"},il={class:"period-row"},ul={class:"period-row"},dl={class:"form-section"},rl={class:"form-footer"},cl={class:"type-toolbar fix"},pl={class:"fr type-meta"},ml={class:"type-grid mt-12"},vl=["onDragstart","onDragover"],fl={class:"type-head"},gl=["title"],bl={class:"type-name"},yl=["title","onDblclick"],wl={class:"type-actions"},kl=["onClick"],_l=["onClick"],Ml=["onClick"],Tl={key:0,class:"empty-tip"},Vl={class:"managed-box"},xl={class:"managed-head"},Cl={class:"managed-head-l"},hl={class:"managed-title"},El={class:"managed-types"},Sl={key:0,class:"managed-empty"},Nl={class:"stat-row"},Gl={class:"stat-card"},Il={class:"sc-icon ic-blue"},Ul={class:"sc-body"},$l={class:"sc-num"},Dl={class:"stat-card"},Hl={class:"sc-icon ic-green"},Ol={class:"sc-body"},Fl={class:"sc-num"},zl={class:"stat-card"},Bl={class:"sc-icon ic-purple"},Rl={class:"sc-body"},Ll={class:"sc-num"},Al={class:"sc-icon ic-red"},Wl={class:"sc-body"},Pl={class:"sc-num"},Kl={class:"usertime-box"},ql={class:"tree-panel"},jl={class:"panel-side-title"},Jl={class:"table-panel"},Ql={class:"table-toolbar"},Xl={class:"tt-left"},Yl={class:"tt-count"},Zl={class:"tt-right"},et={class:"foot-info"},st={class:"fi-item"},lt={class:"hl-blue"},tt={class:"fi-item"},nt={class:"hl-orange"},at={class:"foot-btns"},ot={class:"panel-tip"},it={class:"sec-toolbar"},ut={class:"sec-stat"},dt={class:"stat-chip"},rt={key:0,class:"stat-chip am"},ct={key:1,class:"stat-chip pm"},pt={key:2,class:"stat-chip night"},mt={key:3,class:"stat-chip total"},vt={class:"panel-tip"},ft={key:0,class:"opt-skeleton"},gt={class:"opt-group"},bt={class:"opt-row"},yt={class:"opt-ctrl"},wt={class:"opt-group"},kt={class:"opt-row"},_t={class:"opt-ctrl"},Mt={class:"opt-row"},Tt={class:"opt-ctrl"},Vt={class:"opt-group"},xt={class:"opt-group-head"},Ct={class:"opt-row"},ht={class:"opt-ctrl"},Et={class:"opt-row"},St={class:"opt-ctrl"},Nt={class:"form-footer opt-footer"},Gt={class:"opt-foot-tip"},It={class:"opt-foot-btns"},Ut={class:"panel-tip"},$t={class:"flow-block"},Dt={class:"fbc-main"},Ht={class:"fbc-name"},Ot={class:"fbc-ver"},Ft={key:0,class:"fc-badge is-dead"},zt={class:"fbc-sub"},Bt={class:"fbc-guid"},Rt={key:0,class:"fbc-nodes"},Lt={class:"fbc-ops"},At={class:"fbc-empty"},Wt={class:"fbc-ops"},Pt={class:"flow-block"},Kt={class:"fb-head"},qt={class:"fb-desc"},jt={class:"fb-head-ops"},Jt={class:"flow-block"},Qt={class:"import-upload"},Xt={key:0,class:"import-errors"},Yt={class:"period-row sec-period-row"},Zt={key:0,class:"sec-dur-hint"},en={key:0,class:"opt-ver"},sn={key:0,class:"flow-pick-preview"},ln={class:"fpp-guid"},tn={key:0,class:"fpp-nodes"},ze=-1,nn=Qs({__name:"LeaveSetting",setup(an){const we=m("time"),k=m({forenoon1:"08:00",forenoon2:"12:00",afternoon1:"13:00",afternoon2:"17:00",intervalMinutes:10,minMinutes:0}),ke=m(!1),rs=w(()=>{const s=t=>{const[u,r]=String(t||"0:0").split(":").map(Number);return(u||0)*60+(r||0)},e=s(k.value.forenoon2)-s(k.value.forenoon1)+s(k.value.afternoon2)-s(k.value.afternoon1);return!isFinite(e)||e<=0?"0":String(Number((e/60).toFixed(2)))});async function cs(){try{const s=await I.getTimeSet().send();s&&(k.value={...k.value,...s})}catch(s){d.Message.error(s.message||"加载作息时间失败")}}async function ps(){ke.value=!0;try{await I.setTimeSet(k.value).send(),d.Message.success("作息时间已保存(影响新提交的时长计算)")}catch(s){d.Message.error(s.message||"保存失败")}finally{ke.value=!1}}const z=m([]),ue=m(""),_e=m(null),de=m("");async function B(){try{z.value=await Q.manageList().send()||[]}catch(s){d.Message.error(s.message||"加载请假类型失败")}}async function Be(){const s=ue.value.trim();if(!s){d.Message.warning("请输入类型名称");return}try{await Q.add(s).send(),d.Message.success("新增成功"),ue.value="",B()}catch(e){d.Message.error(e.message||"新增失败")}}function Re(s){_e.value=s.SerID,de.value=s.Name}async function Le(s){const e=de.value.trim();if(!e){d.Message.warning("类型名称不得为空");return}try{await Q.update(s.SerID,e,s.Enable).send(),d.Message.success("修改成功"),_e.value=null,B()}catch(t){d.Message.error(t.message||"修改失败")}}async function ms(s){try{await Q.update(s.SerID,s.Name,s.Enable===1?0:1).send(),d.Message.success(s.Enable===1?"已停用":"已启用"),B()}catch(e){d.Message.error(e.message||"操作失败")}}const D=m(null);function vs(s){D.value=s}function fs(s,e){if(e.preventDefault(),D.value===null||D.value===s)return;const t=z.value,[u]=t.splice(D.value,1);t.splice(s,0,u),D.value=s}async function gs(){if(D.value!==null){D.value=null;try{await Q.sort(z.value.map(s=>s.SerID).join(",")),B()}catch(s){d.Message.error(s.message||"排序保存失败"),B()}}}function bs(s){Fe({title:"删除类型",msg:`确定删除请假类型「${s.Name}」吗?`,info:"已被请假记录引用的类型无法删除",async onOk(){try{await Q.remove(s.SerID).send(),d.Message.success("删除成功"),B()}catch(e){d.Message.error(e.message||"删除失败")}}})}const E=m([]),Me=m(""),Te=m(!1);function W(s){return s.editTime!==null&&s.editTime!==void 0&&s.editTime!==""}function ys(s){const e=Number(s)||0;return e<=0?"danger":e<8?"warn":"ok"}function ws(s){return W(s)?$((s.usableHours||0)+(Number(s.editTime)||0)):""}const Ve=m([]),Ae=m([]),xe=m(new Map),X=m(null);function ks(s){if(!s.length)return[];const e=s.some(f=>f.pid!==void 0&&f.pid!==null);if(s.some(f=>f.children&&f.children.length)||!e)return s;const u=new Map;s.forEach(f=>{const M=f.pid===void 0||f.pid===null?0:f.pid;u.has(M)||u.set(M,[]),u.get(M).push(f)});const r=[],g=(f,M)=>{(u.get(f)||[]).forEach(oe=>{const b=[];g(oe.id,b),b.length&&(oe.children=b),M.push(oe)})};return g(0,r),r.length?r:s}function We(s){const e=[];for(const t of s){if(!(t.type===1||!!t.isParent))continue;const r=new Set,g=f=>f.forEach(M=>{(M.type===2||!M.isParent&&!(M.children&&M.children.length))&&r.add(M.id),M.children&&g(M.children)});t.children&&g(t.children),xe.value.set(t.id,r),e.push({id:t.id,title:t.name,expand:!0,render:f=>f("span",{class:"g-node"},[f("span",{class:"g-name"},t.name),f("span",{class:"g-count"},String(r.size))]),children:We(t.children||[])})}return e}async function _s(){try{Ae.value=ks(await Zs.getSchoolAll().send()||[]),xe.value=new Map;const s=We(Ae.value);Ve.value=[{id:ze,title:"全部教师",expand:!0,selected:!0,render:e=>e("span",{class:"g-node is-root"},[e("span",{class:"g-name"},"全部教师"),e("span",{class:"g-count"},String(E.value.length))]),children:s}],X.value=ze}catch(s){d.Message.error(s.message||"加载教师组树失败")}}function Ms(s){s.length&&(X.value=s[0].id)}const Ce=m(0);function P(){Ce.value+=1}const R=w(()=>{if(Ce.value,!X.value||X.value===ze)return E.value;const s=xe.value.get(X.value);return s?E.value.filter(e=>s.has(e.userId)):E.value}),Pe=w(()=>R.value.reduce((s,e)=>s+(e.usableHours||0),0)),re=w(()=>R.value.length),Ke=w(()=>$(Pe.value)),Ts=w(()=>re.value?$(Pe.value/re.value):"0"),qe=w(()=>R.value.filter(s=>(s.usableHours||0)<=0).length),je=w(()=>(Ce.value,E.value.filter(W))),K=w(()=>je.value.length),he=w(()=>$(je.value.reduce((s,e)=>s+(Number(e.editTime)||0),0)));async function q(){Te.value=!0;try{const s=await ds.userTimeList({keyword:Me.value||void 0}).send()||[];E.value=s.map(t=>({...t,editTime:null,editRemark:""}));const e=Ve.value[0];e&&e.render&&(e.render=t=>t("span",{class:"g-node is-root"},[t("span",{class:"g-name"},"全部教师"),t("span",{class:"g-count"},String(E.value.length))]))}catch(s){d.Message.error(s.message||"加载教师时长失败")}finally{Te.value=!1}}const Ee=m(!1);async function Vs(){const s=E.value.filter(W).map(e=>({userId:e.userId,editHours:e.editTime,remark:(e.editRemark||"").trim()}));if(!s.length){d.Message.warning("请先填写需要新加的时长");return}Ee.value=!0;try{await ds.adjust(s).send(),d.Message.success(`设置成功!共调整 ${s.length} 位教师`),await q()}catch(e){d.Message.error(e.message||"提交失败")}finally{Ee.value=!1}}function ce(s){return E.value.find(e=>e.userId===s.userId)||s}function Se(s,e){const t=ce(s),u=Number(t.editTime)||0,r=Math.round((u+e)*100)/100;if(Math.abs(r)<.001){t.editTime=null,P();return}if((t.usableHours||0)+r<0){d.Message.warning(`「${t.userName||"该教师"}」剩余仅 ${$(t.usableHours||0)} 小时,不能再扣减`);return}t.editTime=r,P()}function Je(){E.value.forEach(s=>{s.editTime=null,s.editRemark=""}),P()}function xs(s){const e=ce(s);e.editTime=null,e.editRemark="",P()}function Cs(s,e){const t=R.value[e]||s;return W(t)?"row-edited":""}const hs=[{title:"序号",type:"index",width:60,align:"center"},{title:"教师",key:"userName",minWidth:120,align:"left",render:(s,e)=>{const t=e.row.userName||"未命名",u=t.charAt(0);return s("div",{class:"u-cell"},[s("span",{class:"u-avatar"},u),s("span",{class:"u-name"},[s("span",{class:"u-name-main"},t),e.row.remark?s("span",{class:"u-remark"},e.row.remark):null])])}},{title:"剩余时长",key:"usableHours",width:150,align:"left",render:(s,e)=>{const t=e.row.usableHours||0,u=ys(t);return s("div",{class:"h-cell lv-"+u},[s("span",{class:"h-num"},[$(t),s("i",{},"小时")]),s("span",{class:"h-day"},`≈ ${$(t/8)} 天`)])}},{title:"本次新加(小时)",width:230,align:"center",render:(s,e)=>s("div",{class:"edit-cell"},[s("InputNumber",{props:{value:e.row.editTime,max:9999,precision:2,activeChange:!1,placeholder:"可填负数"},class:"edit-hours-input",on:{"on-change":t=>{const u=ce(e.row),r=t??null;if(r!==null&&(u.usableHours||0)+Number(r)<0){d.Message.warning(`「${u.userName||"该教师"}」剩余仅 ${$(u.usableHours||0)} 小时,不能再扣减`),P();return}u.editTime=r,P()}}}),s("div",{class:"quick-btns"},[s("button",{class:"q-btn",title:"+1 小时",onClick:()=>Se(e.row,1)},"+1"),s("button",{class:"q-btn",title:"+4 小时(半天)",onClick:()=>Se(e.row,4)},"+4"),s("button",{class:"q-btn danger",title:"-1 小时",onClick:()=>Se(e.row,-1)},"-1")])])},{title:"调整后",width:130,align:"center",render:(s,e)=>{const t=R.value[e.index]||e.row;if(!W(t))return s("span",{class:"pf-empty"},"—");const u=Number(t.editTime)||0;return s("div",{class:"pf-cell"},[s("span",{class:"pf-num"},ws(t)),s("span",{class:u>=0?"pf-delta up":"pf-delta down"},(u>=0?"+":"")+$(u))])}},{title:"情况备注",minWidth:180,align:"center",render:(s,e)=>s("Input",{props:{type:"textarea",rows:1,maxlength:50,value:e.row.editRemark,placeholder:"如:补课补时"},on:{"on-blur":t=>{ce(e.row).editRemark=t.target.value}}})},{title:"操作",width:70,align:"center",render:(s,e)=>{const t=R.value[e.index]||e.row;return W(t)?s("a",{class:"act-link reset",onClick:()=>xs(t)},"撤销"):s("span",{class:"pf-empty"},"—")}}],pe=m(!1),Es=(ye.isMock?"":ye.serviceHost)+"/api/leave/time/Import",Ss=(ye.isMock?"":ye.serviceHost)+"/api/leave/time/ImportTemplate",me=m([]);function Ns(){me.value=[],pe.value=!0}function Gs(s){if(s.code!==0){d.Message.error(s.msg||"导入失败");return}const e=s.data||{};e.success?(d.Message.success("导入成功!"),pe.value=!1,q()):(me.value=e.errors||[],d.Message.error(e.message||"导入失败!"))}function Is(){d.Message.error("不支持的上传类型!仅支持 xls / xlsx 格式")}const Ne=m([]),Y=m(!1),T=m({name:"",beginTime:"08:00",endTime:"08:45"});async function Ge(){try{Ne.value=await I.sectionList().send()||[]}catch(s){d.Message.error(s.message||"加载节次失败")}}function Qe(s){T.value=s?{...s}:{name:"",beginTime:"08:00",endTime:"08:45"},Y.value=!0}async function Us(){if(!T.value.name.trim()){d.Message.warning("请输入节次名称");return}try{await I.sectionSave(T.value).send(),d.Message.success("保存成功"),Y.value=!1,Ge()}catch(s){d.Message.error(s.message||"保存失败")}}function $s(s){Fe({title:"删除节次",msg:`确定删除「${s.name}」吗?`,async onOk(){try{await I.sectionDelete(s.id).send(),d.Message.success("删除成功"),Ge()}catch(e){d.Message.error(e.message||"删除失败")}}})}const x=m({reasonMust:1,showExplain:1,timeLimitEnabled:0,timeManagedTypes:"",enableCourse:0,allowExchange:0,calcWay:1}),Z=m(!1),Xe=m(!1),H=m(!1),Ie=m(!1),O=m([]);function Ye(s){const e=(u,r)=>{const g=Number(u);return Number.isFinite(g)?g===0?0:1:r},t=typeof(s==null?void 0:s.timeManagedTypes)=="string"?s.timeManagedTypes:"";return{reasonMust:e(s==null?void 0:s.reasonMust,1),showExplain:e(s==null?void 0:s.showExplain,1),enableCourse:e(s==null?void 0:s.enableCourse,0),allowExchange:e(s==null?void 0:s.allowExchange,0),timeLimitEnabled:e(s==null?void 0:s.timeLimitEnabled,0),calcWay:Number(s==null?void 0:s.calcWay)===0?0:1,timeManagedTypes:t}}const Ze=w({get:()=>x.value.calcWay===0?0:1,set:s=>x.value.calcWay=Number(s)===0?0:1}),es=w({get:()=>x.value.reasonMust===1,set:s=>x.value.reasonMust=s?1:0}),ss=w({get:()=>x.value.showExplain===1,set:s=>x.value.showExplain=s?1:0}),ls=w({get:()=>x.value.enableCourse===1,set:s=>x.value.enableCourse=s?1:0}),ts=w({get:()=>x.value.allowExchange===1,set:s=>x.value.allowExchange=s?1:0});function ns(s){const e=Ye(s);x.value=e,O.value=e.timeManagedTypes?e.timeManagedTypes.split(",").filter(Boolean):[],H.value=!0}async function ee(s=!1){Ie.value=!0,s||(H.value=!1);try{const e=await I.getOption().send();ns(e)}catch(e){H.value=!0,d.Message.error(e.message||"加载其他设置失败")}finally{Ie.value=!1}}async function Ds(){if(!Z.value){if(!H.value){d.Message.warning("设置尚未加载完成,请稍后再试");return}Z.value=!0;try{const s={...Ye({...x.value,timeManagedTypes:O.value.join(",")})};await I.setOption(s).send();const e=await I.getOption().send();ns(e),d.Message.success("设置已保存")}catch(s){d.Message.error(s.message||"保存失败"),ee(!0)}finally{Z.value=!1}}}async function Hs(){const s=O.value.join(",");x.value.timeManagedTypes=s,x.value.timeLimitEnabled=O.value.length?1:0;try{await I.setOption({timeManagedTypes:s,timeLimitEnabled:x.value.timeLimitEnabled}).send(),d.Message.success("已保存")}catch(e){d.Message.error(e.message||"保存失败"),ee(!0)}}async function Os(){Xe.value=!0;try{await Hs()}finally{Xe.value=!1}}const as=w(()=>z.value.filter(s=>s.Enable===1));function se(s){const[e,t]=String(s||"0:0").split(":").map(Number);return(e||0)*60+(t||0)}function Ue(s){const e=se(s.endTime)-se(s.beginTime);return!s.beginTime||!s.endTime||e<=0?"":e>=60?`${Number((e/60).toFixed(1))} 小时`:`${e} 分钟`}function L(s){const e=se(s.beginTime);return s.beginTime?e<12*60?"上午":e<18*60?"下午":"晚上":"—"}const Fs=[{title:"序号",type:"index",width:70,align:"center"},{title:"节次名称",key:"name",minWidth:150,align:"left",render:(s,e)=>{const t=e.row;return s("span",{class:"sec-name",attrs:{title:t.name}},t.name)}},{title:"时段",width:100,align:"center",render:(s,e)=>{const t=e.row,u=L(t);return s("span",{class:`sec-tag ${u==="上午"?"am":u==="下午"?"pm":u==="晚上"?"night":"none"}`},u)}},{title:"上课时间",width:210,align:"center",render:(s,e)=>{const t=e.row;return s("span",{class:"sec-time"},[s("b",{},t.beginTime||"--:--"),s("i",{},"—"),s("b",{},t.endTime||"--:--")])}},{title:"时长",width:110,align:"center",render:(s,e)=>{const t=Ue(e.row);return t?s("span",{class:"sec-dur"},t):s("span",{class:"sec-dur muted"},"—")}},{title:"操作",width:150,align:"center",render:(s,e)=>[s("a",{class:"sec-op",onClick:()=>Qe(e.row)},"编辑"),s("span",{class:"sec-split"},"|"),s("a",{class:"sec-op danger",onClick:()=>$s(e.row)},"删除")]}],G=w(()=>{const s=Ne.value||[],e=s.filter(g=>L(g)==="上午").length,t=s.filter(g=>L(g)==="下午").length,u=s.filter(g=>L(g)==="晚上").length,r=s.reduce((g,f)=>g+Math.max(se(f.endTime)-se(f.beginTime),0),0);return{count:s.length,am:e,pm:t,night:u,totalText:r>=60?`${Number((r/60).toFixed(1))} 小时`:`${r} 分钟`}}),_=m({bizType:"leave",centerReachable:!0,flows:[],binds:[],leaveTypes:[]}),le=m(!1),te=m(!1),$e=m(!1),h=m({scope:0,scopeKey:"",flowGuid:""}),C=w(()=>_.value.binds.find(s=>s.scope===0)||null),zs=w(()=>{const s=new Map;return _.value.binds.forEach(e=>{e.scope===1&&e.scopeKey&&s.set(e.scopeKey,e)}),s}),Bs=w(()=>(_.value.leaveTypes||[]).map(s=>({key:s.key,name:s.name,bind:zs.value.get(s.key)||null}))),Rs=[{title:"流程名称",key:"name",minWidth:200,render:(s,e)=>s("div",{class:"fc-name"},[s("span",{class:"fc-title"},e.row.name||e.row.flowGuid),e.row.defaultBind?s("em",{class:"fc-badge is-default"},"默认"):null,e.row.typeNames&&e.row.typeNames.length?s("em",{class:"fc-badge is-type"},`${e.row.typeNames.length} 个类型`):null])},{title:"流程标识(flowGuid)",key:"flowGuid",minWidth:180,render:(s,e)=>s("span",{class:"fc-guid"},e.row.flowGuid)},{title:"版本",key:"version",width:90,align:"center",render:(s,e)=>s("span",{class:"fc-version"},e.row.version==null?"-":`v${e.row.version}`)},{title:"节点摘要",key:"nodeSummary",minWidth:200,render:(s,e)=>s("span",{class:"fc-nodes"},e.row.nodeSummary||"—")},{title:"操作",key:"ops",width:210,align:"center",render:(s,e)=>s("div",{class:"fc-ops"},[s("span",{class:"fc-op"+(e.row.defaultBind?" is-on":""),onClick:()=>ae(0,"",e.row.flowGuid)},e.row.defaultBind?"已是默认":"设为默认"),s("span",{class:"fc-op",onClick:()=>ae(1,"",e.row.flowGuid)},"按类型绑定")])}],Ls=[{title:"请假类型",key:"name",minWidth:160},{title:"当前流程",key:"flow",minWidth:240,render:(s,e)=>{const t=e.row.bind;return t?s("div",{class:"fc-name"},[s("span",{class:"fc-title"},t.flowName||t.flowGuid),t.existsInCenter===!1?s("em",{class:"fc-badge is-dead"},"已下线"):null]):s("span",{class:"fc-mute"},"走全校默认流程")}},{title:"操作",key:"ops",width:200,align:"center",render:(s,e)=>s("div",{class:"fc-ops"},[s("span",{class:"fc-op",onClick:()=>ae(1,e.row.key,e.row.bind?e.row.bind.flowGuid:"")},e.row.bind?"更换":"指定流程"),e.row.bind?s("span",{class:"fc-op is-danger",onClick:()=>is(1,e.row.key,e.row.name)},"解除"):null])}],os=w(()=>{const s=_.value.flows.find(e=>e.flowGuid===h.value.flowGuid);return s&&s.nodeSummary||""});async function ne(){le.value=!0;try{const s=await Oe.list().send();s&&(_.value=s)}catch(s){d.Message.error(s.message||"加载流程列表失败")}finally{le.value=!1}}function ae(s,e,t){const u=_.value.leaveTypes[0],r=_.value.flows[0];h.value={scope:s,scopeKey:e||(u?u.key:""),flowGuid:t||(C.value?C.value.flowGuid:"")||(r?r.flowGuid:"")},te.value=!0}async function As(){const s=h.value;if(!s.flowGuid){d.Message.warning("请选择要绑定的流程");return}if(s.scope===1&&!s.scopeKey){d.Message.warning("请选择请假类型");return}const e=_.value.flows.find(t=>t.flowGuid===s.flowGuid);$e.value=!0;try{await Oe.bind({scope:s.scope,scopeKey:s.scope===1?s.scopeKey:null,flowGuid:s.flowGuid,flowName:e?e.name??null:null,flowVersion:e?e.version??null:null,nodeSummary:e?e.nodeSummary??null:null}).send(),d.Message.success(s.scope===1?"已按请假类型绑定流程":"已设为全校默认流程"),te.value=!1,ne()}catch(t){d.Message.error(t.message||"绑定失败")}finally{$e.value=!1}}function is(s,e,t){Fe({title:"解除流程绑定",msg:`确定解除「${t}」的流程绑定吗?`,info:"解除后该场景回落到全校默认流程;默认流程解除后回落到配置值",async onOk(){try{await Oe.unbind(s,e).send(),d.Message.success("已解除绑定"),ne()}catch(u){d.Message.error(u.message||"解除失败")}}})}return Xs(()=>{cs(),B(),q(),Ge(),ee(),_s(),ne()}),Ys(we,s=>{s==="option"&&!H.value&&ee(!0),s==="flow"&&ne()}),(s,e)=>{const t=y("Icon"),u=y("TimePicker"),r=y("FormItem"),g=y("Form"),f=y("Option"),M=y("Select"),oe=y("InputNumber"),b=y("Button"),j=y("Card"),J=y("TabPane"),ve=y("Input"),De=y("Tag"),Ws=y("Checkbox"),Ps=y("CheckboxGroup"),Ks=y("Tree"),fe=y("Table"),ge=y("Radio"),us=y("RadioGroup"),be=y("i-switch"),qs=y("Alert"),js=y("Tabs"),Js=y("Upload"),He=y("Modal");return p(),v("div",sl,[l("div",ll,[n(js,{modelValue:we.value,"onUpdate:modelValue":e[20]||(e[20]=a=>we.value=a),class:"sett-tabs"},{default:o(()=>[n(J,{label:"作息时间",name:"time"},{default:o(()=>[n(j,{bordered:!1,"dis-hover":"",class:"panel-card"},{default:o(()=>[l("div",tl,[n(t,{type:"ios-information-circle-outline"}),e[32]||(e[32]=l("span",null,"学校作息用于计算请假时长:同日扣除午休,跨天按整天 8 小时折算。修改后仅影响新提交的申请。",-1))]),l("div",nl,[l("div",al,[e[35]||(e[35]=l("span",{class:"section-title"},"上下班时段",-1)),l("span",ol,[e[33]||(e[33]=i("每日工作时长 ",-1)),l("b",null,c(rs.value),1),e[34]||(e[34]=i(" 小时",-1))])]),n(g,{"label-width":96,class:"section-form"},{default:o(()=>[n(r,{label:"上午"},{default:o(()=>[l("div",il,[n(u,{modelValue:k.value.forenoon1,"onUpdate:modelValue":e[0]||(e[0]=a=>k.value.forenoon1=a),format:"HH:mm",placeholder:"08:00",style:{width:"150px"}},null,8,["modelValue"]),e[36]||(e[36]=l("span",{class:"period-sep"},"至",-1)),n(u,{modelValue:k.value.forenoon2,"onUpdate:modelValue":e[1]||(e[1]=a=>k.value.forenoon2=a),format:"HH:mm",placeholder:"12:00",style:{width:"150px"}},null,8,["modelValue"])])]),_:1}),n(r,{label:"下午"},{default:o(()=>[l("div",ul,[n(u,{modelValue:k.value.afternoon1,"onUpdate:modelValue":e[2]||(e[2]=a=>k.value.afternoon1=a),format:"HH:mm",placeholder:"13:00",style:{width:"150px"}},null,8,["modelValue"]),e[37]||(e[37]=l("span",{class:"period-sep"},"至",-1)),n(u,{modelValue:k.value.afternoon2,"onUpdate:modelValue":e[3]||(e[3]=a=>k.value.afternoon2=a),format:"HH:mm",placeholder:"17:00",style:{width:"150px"}},null,8,["modelValue"])])]),_:1})]),_:1})]),l("div",dl,[e[41]||(e[41]=l("div",{class:"section-head"},[l("span",{class:"section-title"},"请假规则")],-1)),n(g,{"label-width":96,class:"section-form"},{default:o(()=>[n(r,{label:"最短请假间隔"},{default:o(()=>[n(M,{modelValue:k.value.intervalMinutes,"onUpdate:modelValue":e[4]||(e[4]=a=>k.value.intervalMinutes=a),style:{width:"150px"}},{default:o(()=>[(p(),v(N,null,A([5,10,15,20,30,60],a=>n(f,{key:a,value:a},{default:o(()=>[i(c(a)+" 分钟",1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"]),e[38]||(e[38]=l("span",{class:"form-tip"},"起止时间按该间隔取整",-1))]),_:1}),n(r,{label:"最少请假时间"},{default:o(()=>[n(oe,{modelValue:k.value.minMinutes,"onUpdate:modelValue":e[5]||(e[5]=a=>k.value.minMinutes=a),min:0,step:10,precision:0,style:{width:"150px"}},null,8,["modelValue"]),e[39]||(e[39]=l("span",{class:"unit-text"},"分钟",-1)),e[40]||(e[40]=l("div",{class:"form-tip"},"0 = 不限制;低于该时长的申请将被拒绝",-1))]),_:1})]),_:1})]),l("div",rl,[n(b,{type:"primary",loading:ke.value,icon:"md-checkmark",onClick:ps},{default:o(()=>[...e[42]||(e[42]=[i("保存设置",-1)])]),_:1},8,["loading"])])]),_:1})]),_:1}),n(J,{label:"请假类型",name:"type"},{default:o(()=>[n(j,{bordered:!1,"dis-hover":"",class:"panel-card"},{default:o(()=>[l("div",cl,[n(ve,{modelValue:ue.value,"onUpdate:modelValue":e[6]||(e[6]=a=>ue.value=a),placeholder:"输入名称,回车快速新增",style:{width:"240px"},class:"fl",clearable:"",onOnEnter:Be},null,8,["modelValue"]),n(b,{type:"primary",class:"fl ml-8",icon:"md-add",onClick:Be},{default:o(()=>[...e[43]||(e[43]=[i("新增类型",-1)])]),_:1}),l("span",pl,[e[44]||(e[44]=i(" 共 ",-1)),l("b",null,c(z.value.length),1),e[45]||(e[45]=i(" 个类型 · 拖动卡片排序 / 双击名称编辑 ",-1))])]),l("div",ml,[(p(!0),v(N,null,A(z.value,(a,ie)=>(p(),v("div",{key:a.SerID,class:F(["type-card",{disabled:a.Enable===0,dragging:D.value===ie}]),draggable:"true",onDragstart:S=>vs(ie),onDragover:S=>fs(ie,S),onDragend:gs},[l("div",fl,[l("span",{class:F(["status-dot",a.Enable===1?"on":"off"]),title:a.Enable===1?"启用中":"已停用"},null,10,gl),l("div",bl,[_e.value===a.SerID?(p(),U(ve,{key:0,modelValue:de.value,"onUpdate:modelValue":e[7]||(e[7]=S=>de.value=S),size:"small",onOnEnter:S=>Le(a),onOnBlur:S=>Le(a)},null,8,["modelValue","onOnEnter","onOnBlur"])):(p(),v("span",{key:1,title:a.Name,onDblclick:S=>Re(a)},c(a.Name),41,yl))]),n(t,{class:"drag-handle",type:"ios-reorder"})]),l("div",wl,[l("a",{class:"act-link act-toggle",onClick:S=>ms(a)},c(a.Enable===1?"停用":"启用"),9,kl),l("a",{class:"act-link",onClick:S=>Re(a)},"编辑",8,_l),l("a",{class:"act-link act-del",onClick:S=>bs(a)},"删除",8,Ml)])],42,vl))),128)),z.value.length?V("",!0):(p(),v("div",Tl,[n(t,{type:"ios-apps-outline"}),e[46]||(e[46]=l("p",null,"暂无请假类型,请在上方输入名称新增",-1))]))])]),_:1})]),_:1}),n(J,{label:"教师时长",name:"usertime"},{default:o(()=>[n(j,{bordered:!1,"dis-hover":"",class:"panel-card"},{default:o(()=>[l("div",Vl,[l("div",xl,[l("div",Cl,[n(t,{type:"ios-shield-checkmark-outline",class:"mh-icon"}),l("div",null,[l("div",hl,[e[48]||(e[48]=i(" 需扣减时长的请假类型 ",-1)),O.value.length?(p(),U(De,{key:0,color:"success",class:"mini-tag"},{default:o(()=>[i(" 已启用 "+c(O.value.length)+" 项 ",1)]),_:1})):(p(),U(De,{key:1,color:"warning",class:"mini-tag"},{default:o(()=>[...e[47]||(e[47]=[i("未启用",-1)])]),_:1}))]),e[49]||(e[49]=l("div",{class:"managed-tip"}," 勾选后,该类型请假审批通过将自动扣减教师时长;取消勾选即停止扣减。变更即时保存。 ",-1))])]),n(b,{type:"primary",ghost:"",icon:"ios-cloud-upload-outline",onClick:Ns},{default:o(()=>[...e[50]||(e[50]=[i("批量导入",-1)])]),_:1})]),l("div",El,[n(Ps,{modelValue:O.value,"onUpdate:modelValue":e[8]||(e[8]=a=>O.value=a),onOnChange:Os},{default:o(()=>[(p(!0),v(N,null,A(as.value,a=>(p(),U(Ws,{key:a.CodeID,label:a.CodeID},{default:o(()=>[i(c(a.Name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"]),as.value.length?V("",!0):(p(),v("div",Sl,"暂无可选的请假类型,请先到「请假类型」新增并启用"))])]),l("div",Nl,[l("div",Gl,[l("div",Il,[n(t,{type:"ios-people-outline"})]),l("div",Ul,[l("div",$l,[i(c(re.value),1),e[51]||(e[51]=l("i",null,"人",-1))]),e[52]||(e[52]=l("div",{class:"sc-label"},"当前范围教师",-1))])]),l("div",Dl,[l("div",Hl,[n(t,{type:"ios-time-outline"})]),l("div",Ol,[l("div",Fl,[i(c(Ke.value),1),e[53]||(e[53]=l("i",null,"小时",-1))]),e[54]||(e[54]=l("div",{class:"sc-label"},"剩余时长合计",-1))])]),l("div",zl,[l("div",Bl,[n(t,{type:"ios-stats-outline"})]),l("div",Rl,[l("div",Ll,[i(c(Ts.value),1),e[55]||(e[55]=l("i",null,"小时",-1))]),e[56]||(e[56]=l("div",{class:"sc-label"},"人均可用时长",-1))])]),l("div",{class:F(["stat-card",{"is-warn":qe.value>0}])},[l("div",Al,[n(t,{type:"ios-warning-outline"})]),l("div",Wl,[l("div",Pl,[i(c(qe.value),1),e[57]||(e[57]=l("i",null,"人",-1))]),e[58]||(e[58]=l("div",{class:"sc-label"},"时长已用尽",-1))])],2)]),l("div",Kl,[l("div",ql,[l("div",jl,[n(t,{type:"ios-git-branch-outline"}),e[59]||(e[59]=l("span",null,"教师分组",-1)),e[60]||(e[60]=l("em",null,"点击筛选",-1))]),n(Ks,{data:Ve.value,onOnSelectChange:Ms,class:"grp-tree"},null,8,["data"])]),l("div",Jl,[l("div",Ql,[l("div",Xl,[n(ve,{class:"tt-search",search:"",suffix:"ios-search",modelValue:Me.value,"onUpdate:modelValue":e[9]||(e[9]=a=>Me.value=a),placeholder:"搜索教师姓名 / 备注",onOnSearch:q,onOnClear:q},null,8,["modelValue"]),l("span",Yl,[e[61]||(e[61]=i("共 ",-1)),l("b",null,c(re.value),1),e[62]||(e[62]=i(" 位教师",-1))])]),l("div",Zl,[n(b,{size:"small",icon:"md-refresh",onClick:q},{default:o(()=>[...e[63]||(e[63]=[i("刷新",-1)])]),_:1}),n(b,{size:"small",icon:"ios-undo-outline",disabled:!K.value,onClick:Je},{default:o(()=>[...e[64]||(e[64]=[i(" 清空改动 ",-1)])]),_:1},8,["disabled"])])]),n(fe,{columns:hs,data:R.value,loading:Te.value,"row-class-name":Cs,"no-data-text":"暂无教师时长数据"},null,8,["data","loading"]),l("div",{class:F(["usertime-footer",{active:K.value>0}])},[l("div",et,[l("span",st,[e[65]||(e[65]=i(" 范围剩余合计",-1)),l("b",lt,c(Ke.value),1),e[66]||(e[66]=i(" 小时 ",-1))]),e[71]||(e[71]=l("span",{class:"fi-sep"},null,-1)),l("span",tt,[e[69]||(e[69]=i(" 待提交",-1)),l("b",nt,c(K.value),1),e[70]||(e[70]=i(" 人 ",-1)),K.value>0?(p(),v(N,{key:0},[e[67]||(e[67]=i(" ,净增减 ",-1)),l("b",{class:F(Number(he.value)>=0?"hl-green":"hl-red")},c(Number(he.value)>0?"+":"")+c(he.value),3),e[68]||(e[68]=i(" 小时 ",-1))],64)):V("",!0)])]),l("div",at,[n(b,{disabled:!K.value,onClick:Je},{default:o(()=>[...e[72]||(e[72]=[i("取消",-1)])]),_:1},8,["disabled"]),n(b,{type:"primary",icon:"md-checkmark",disabled:!K.value,loading:Ee.value,onClick:Vs},{default:o(()=>[...e[73]||(e[73]=[i(" 提交本次调整 ",-1)])]),_:1},8,["disabled","loading"])])],2)])])]),_:1})]),_:1}),n(J,{label:"节次",name:"section"},{default:o(()=>[n(j,{bordered:!1,"dis-hover":"",class:"panel-card"},{default:o(()=>[l("div",ot,[n(t,{type:"ios-information-circle-outline"}),e[74]||(e[74]=l("span",null,"节次供「指派代课」等课务场景使用(P7 规划);可按学校作息维护。课务功能启用后,请假将按节次精确扣减。",-1))]),l("div",it,[l("div",ut,[l("span",dt,[e[75]||(e[75]=i(" 共 ",-1)),l("b",null,c(G.value.count),1),e[76]||(e[76]=i(" 个节次 ",-1))]),G.value.am?(p(),v("span",rt,"上午 "+c(G.value.am),1)):V("",!0),G.value.pm?(p(),v("span",ct,"下午 "+c(G.value.pm),1)):V("",!0),G.value.night?(p(),v("span",pt,"晚上 "+c(G.value.night),1)):V("",!0),G.value.count?(p(),v("span",mt,"累计课时 "+c(G.value.totalText),1)):V("",!0)]),n(b,{type:"primary",icon:"md-add",onClick:e[10]||(e[10]=a=>Qe())},{default:o(()=>[...e[77]||(e[77]=[i("新增节次",-1)])]),_:1})]),n(fe,{class:"sec-table",columns:Fs,data:Ne.value,"no-data-text":"暂无节次",stripe:""},null,8,["data"])]),_:1})]),_:1}),n(J,{label:"其他设置",name:"option"},{default:o(()=>[n(j,{bordered:!1,"dis-hover":"",class:"panel-card"},{default:o(()=>[l("div",vt,[n(t,{type:"ios-information-circle-outline"}),e[78]||(e[78]=l("span",null,"此处设置全校统一的请假规则,保存后立即对新的请假申请生效(已提交的申请按提交时的规则计算)。",-1))]),Ie.value&&!H.value?(p(),v("div",ft,[(p(),v(N,null,A(5,a=>l("div",{class:"sk-row",key:a},[...e[79]||(e[79]=[l("span",{class:"sk-label"},null,-1),l("span",{class:"sk-ctrl"},null,-1)])])),64))])):(p(),U(g,{key:1,"label-width":0,class:F(["opt-form",{"is-disabled":!H.value}])},{default:o(()=>[l("div",gt,[e[83]||(e[83]=l("div",{class:"opt-group-head"},[l("span",{class:"opt-group-title"},"计算口径"),l("span",{class:"opt-group-desc"},"决定请假时长如何录入与统计")],-1)),l("div",bt,[e[82]||(e[82]=l("div",{class:"opt-label"},[l("span",{class:"opt-label-main"},"请假计算"),l("span",{class:"opt-label-sub"},"按天时,申请页改为「半天 / 半天以上 + 上午 / 下午」选择")],-1)),l("div",yt,[n(us,{modelValue:Ze.value,"onUpdate:modelValue":e[11]||(e[11]=a=>Ze.value=a),class:"opt-seg"},{default:o(()=>[n(ge,{label:1},{default:o(()=>[...e[80]||(e[80]=[i("按小时",-1)])]),_:1}),n(ge,{label:0},{default:o(()=>[...e[81]||(e[81]=[i("按天",-1)])]),_:1})]),_:1},8,["modelValue"])])])]),l("div",wt,[e[86]||(e[86]=l("div",{class:"opt-group-head"},[l("span",{class:"opt-group-title"},"申请表单"),l("span",{class:"opt-group-desc"},"控制申请页的填写要求与提示")],-1)),l("div",kt,[e[84]||(e[84]=l("div",{class:"opt-label"},[l("span",{class:"opt-label-main"},"请假事由必填"),l("span",{class:"opt-label-sub"},"关闭后事由可留空,仅审批时可见")],-1)),l("div",_t,[n(be,{modelValue:es.value,"onUpdate:modelValue":e[12]||(e[12]=a=>es.value=a),size:"large"},null,8,["modelValue"])])]),l("div",Mt,[e[85]||(e[85]=l("div",{class:"opt-label"},[l("span",{class:"opt-label-main"},"显示请假说明"),l("span",{class:"opt-label-sub"},"在申请页顶部展示作息时间说明")],-1)),l("div",Tt,[n(be,{modelValue:ss.value,"onUpdate:modelValue":e[13]||(e[13]=a=>ss.value=a),size:"large"},null,8,["modelValue"])])])]),l("div",Vt,[l("div",xt,[e[88]||(e[88]=l("span",{class:"opt-group-title"},"课务安排",-1)),n(De,{color:"warning",size:"small"},{default:o(()=>[...e[87]||(e[87]=[i("规划中",-1)])]),_:1}),e[89]||(e[89]=l("span",{class:"opt-group-desc"},"启用后申请页出现课务三选一",-1))]),l("div",Ct,[e[90]||(e[90]=l("div",{class:"opt-label"},[l("span",{class:"opt-label-main"},"启用课务安排"),l("span",{class:"opt-label-sub"},"申请页可选择「无 / 自行安排 / 教务安排」")],-1)),l("div",ht,[n(be,{modelValue:ls.value,"onUpdate:modelValue":e[14]||(e[14]=a=>ls.value=a),size:"large"},null,8,["modelValue"])])]),l("div",Et,[e[91]||(e[91]=l("div",{class:"opt-label"},[l("span",{class:"opt-label-main"},"允许换课"),l("span",{class:"opt-label-sub"},"允许教师在请假期间申请调课")],-1)),l("div",St,[n(be,{modelValue:ts.value,"onUpdate:modelValue":e[15]||(e[15]=a=>ts.value=a),size:"large"},null,8,["modelValue"])])])]),l("div",Nt,[l("span",Gt,[n(t,{type:"ios-information-circle-outline"}),e[92]||(e[92]=i(" 修改后需点击「保存设置」才会生效 ",-1))]),l("div",It,[n(b,{onClick:e[16]||(e[16]=a=>ee()),disabled:Z.value},{default:o(()=>[...e[93]||(e[93]=[i("重新加载",-1)])]),_:1},8,["disabled"]),n(b,{type:"primary",icon:"md-checkmark",loading:Z.value,disabled:!H.value,onClick:Ds},{default:o(()=>[...e[94]||(e[94]=[i(" 保存设置 ",-1)])]),_:1},8,["loading","disabled"])])])]),_:1},8,["class"]))]),_:1})]),_:1}),n(J,{label:"流程管理",name:"flow"},{default:o(()=>[n(j,{bordered:!1,"dis-hover":"",class:"panel-card"},{default:o(()=>[l("div",Ut,[n(t,{type:"ios-information-circle-outline"}),l("span",null,[e[95]||(e[95]=i(" 审批流程在「流程中心 → 流程编排」中注册;此处只选择本校使用哪条流程。 业务类型 ",-1)),e[96]||(e[96]=l("b",null,"bizType",-1)),e[97]||(e[97]=i(" 恒为 ",-1)),l("b",null,c(_.value.bizType),1),e[98]||(e[98]=i(",多套审批流程用流程标识(flowGuid)区分。 ",-1))])]),_.value.centerReachable?V("",!0):(p(),U(qs,{key:0,type:"warning","show-icon":"",class:"flow-alert"},{desc:o(()=>[i(c(_.value.centerError||"无法拉取流程列表")+"。已绑定关系仍可查看和解除,服务恢复后即可重新绑定。 ",1)]),default:o(()=>[e[99]||(e[99]=i(" 流程中心暂不可达 ",-1))]),_:1})),l("div",$t,[e[104]||(e[104]=l("div",{class:"fb-head"},[l("span",{class:"fb-title"},"全校默认流程"),l("span",{class:"fb-desc"},"未单独指定流程的请假类型,全部走这条流程")],-1)),l("div",{class:F(["fb-current",{"is-empty":!C.value}])},[C.value?(p(),v(N,{key:0},[l("div",Dt,[l("span",Ht,c(C.value.flowName||C.value.flowGuid),1),l("span",Ot,"v"+c(C.value.flowVersion==null?"-":C.value.flowVersion),1),C.value.existsInCenter===!1?(p(),v("span",Ft,"流程中心已下线")):V("",!0)]),l("div",zt,[l("span",Bt,c(C.value.flowGuid),1),C.value.nodeSummary?(p(),v("span",Rt,c(C.value.nodeSummary),1)):V("",!0)]),l("div",Lt,[n(b,{size:"small",icon:"md-swap",onClick:e[17]||(e[17]=a=>ae(0,"",C.value.flowGuid))},{default:o(()=>[...e[100]||(e[100]=[i(" 更换 ",-1)])]),_:1}),n(b,{size:"small",onClick:e[18]||(e[18]=a=>is(0,"","全校默认流程"))},{default:o(()=>[...e[101]||(e[101]=[i("解除",-1)])]),_:1})])],64)):(p(),v(N,{key:1},[l("div",At,[n(t,{type:"ios-git-network-outline"}),l("span",null,[e[102]||(e[102]=i(" 尚未绑定默认流程,当前回落到配置值 ",-1)),l("b",null,c(_.value.configFlowGuid||"-"),1)])]),l("div",Wt,[n(b,{type:"primary",size:"small",icon:"md-link",disabled:!_.value.flows.length,onClick:e[19]||(e[19]=a=>ae(0))},{default:o(()=>[...e[103]||(e[103]=[i(" 绑定默认流程 ",-1)])]),_:1},8,["disabled"])])],64))],2)]),l("div",Pt,[l("div",Kt,[e[106]||(e[106]=l("span",{class:"fb-title"},"流程列表",-1)),l("span",qt,"来自流程中心「流程编排」,共 "+c(_.value.flows.length)+" 条",1),l("div",jt,[n(b,{size:"small",icon:"md-refresh",loading:le.value,onClick:ne},{default:o(()=>[...e[105]||(e[105]=[i(" 刷新 ",-1)])]),_:1},8,["loading"])])]),n(fe,{columns:Rs,data:_.value.flows,loading:le.value,"no-data-text":"流程中心暂无可用流程",class:"flow-table"},null,8,["data","loading"])]),l("div",Jt,[e[107]||(e[107]=l("div",{class:"fb-head"},[l("span",{class:"fb-title"},"按请假类型指定"),l("span",{class:"fb-desc"},"指定后该类型优先走对应流程;未指定则走全校默认流程")],-1)),n(fe,{columns:Ls,data:Bs.value,loading:le.value,"no-data-text":"暂无请假类型,请先在「请假类型」中维护",class:"flow-table"},null,8,["data","loading"])])]),_:1})]),_:1})]),_:1},8,["modelValue"]),n(He,{modelValue:pe.value,"onUpdate:modelValue":e[21]||(e[21]=a=>pe.value=a),title:"教师时长导入","mask-closable":!1,width:520},{default:o(()=>[l("a",{href:Ss},"点击链接下载[教师时长导入模板.xlsx]"),l("div",Qt,[n(Js,{action:Es,accept:".xls,.xlsx",format:["xls","xlsx"],"on-success":Gs,"on-format-error":Is,"show-upload-list":""},{default:o(()=>[n(b,null,{default:o(()=>[n(t,{type:"ios-cloud-upload-outline"}),e[108]||(e[108]=i(" 选择要上传的文件",-1))]),_:1})]),_:1})]),me.value.length?(p(),v("div",Xt,[(p(!0),v(N,null,A(me.value,(a,ie)=>(p(),v("div",{key:ie,class:"import-error-line"}," 第 "+c(a.row)+" 行:"+c(a.msg),1))),128))])):V("",!0)]),_:1},8,["modelValue"]),n(He,{modelValue:Y.value,"onUpdate:modelValue":e[26]||(e[26]=a=>Y.value=a),title:T.value.id?"编辑节次":"新增节次",width:520},{footer:o(()=>[n(b,{onClick:e[25]||(e[25]=a=>Y.value=!1)},{default:o(()=>[...e[111]||(e[111]=[i("取消",-1)])]),_:1}),n(b,{type:"primary",onClick:Us},{default:o(()=>[...e[112]||(e[112]=[i("保存",-1)])]),_:1})]),default:o(()=>[n(g,{"label-width":96,model:T.value},{default:o(()=>[n(r,{label:"节次名称",prop:"name",rules:[{required:!0,message:"请输入节次名称",trigger:"blur"}]},{default:o(()=>[n(ve,{modelValue:T.value.name,"onUpdate:modelValue":e[22]||(e[22]=a=>T.value.name=a),placeholder:"如:第一节",maxlength:20},null,8,["modelValue"])]),_:1}),n(r,{label:"上课时间"},{default:o(()=>[l("div",Yt,[n(u,{modelValue:T.value.beginTime,"onUpdate:modelValue":e[23]||(e[23]=a=>T.value.beginTime=a),format:"HH:mm",placeholder:"08:00",class:"sec-time-picker"},null,8,["modelValue"]),e[109]||(e[109]=l("span",{class:"period-sep"},"至",-1)),n(u,{modelValue:T.value.endTime,"onUpdate:modelValue":e[24]||(e[24]=a=>T.value.endTime=a),format:"HH:mm",placeholder:"08:45",class:"sec-time-picker"},null,8,["modelValue"]),Ue(T.value)?(p(),v("span",Zt,c(Ue(T.value)),1)):V("",!0)])]),_:1}),n(r,{label:"所属时段"},{default:o(()=>[l("span",{class:F(["sec-tag",L(T.value)==="上午"?"am":L(T.value)==="下午"?"pm":"night"])},c(L(T.value)),3),e[110]||(e[110]=l("span",{class:"form-tip sec-form-tip"},"时段由开始时间自动归类,无需手动设置",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),n(He,{modelValue:te.value,"onUpdate:modelValue":e[31]||(e[31]=a=>te.value=a),title:"绑定审批流程","mask-closable":!1,width:560},{footer:o(()=>[n(b,{onClick:e[30]||(e[30]=a=>te.value=!1)},{default:o(()=>[...e[116]||(e[116]=[i("取消",-1)])]),_:1}),n(b,{type:"primary",loading:$e.value,onClick:As},{default:o(()=>[...e[117]||(e[117]=[i("确定绑定",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(g,{"label-width":96,class:"flow-form"},{default:o(()=>[n(r,{label:"绑定范围"},{default:o(()=>[n(us,{modelValue:h.value.scope,"onUpdate:modelValue":e[27]||(e[27]=a=>h.value.scope=a)},{default:o(()=>[n(ge,{label:0},{default:o(()=>[...e[113]||(e[113]=[i("全校默认流程",-1)])]),_:1}),n(ge,{label:1},{default:o(()=>[...e[114]||(e[114]=[i("指定请假类型",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),h.value.scope===1?(p(),U(r,{key:0,label:"请假类型"},{default:o(()=>[n(M,{modelValue:h.value.scopeKey,"onUpdate:modelValue":e[28]||(e[28]=a=>h.value.scopeKey=a),placeholder:"选择请假类型",style:{width:"260px"}},{default:o(()=>[(p(!0),v(N,null,A(_.value.leaveTypes,a=>(p(),U(f,{key:a.key,value:a.key},{default:o(()=>[i(c(a.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),e[115]||(e[115]=l("div",{class:"form-tip"},"该类型的请假单将优先走所选流程",-1))]),_:1})):V("",!0),n(r,{label:"审批流程"},{default:o(()=>[n(M,{modelValue:h.value.flowGuid,"onUpdate:modelValue":e[29]||(e[29]=a=>h.value.flowGuid=a),placeholder:"选择流程",style:{width:"100%"}},{default:o(()=>[(p(!0),v(N,null,A(_.value.flows,a=>(p(),U(f,{key:a.flowGuid,value:a.flowGuid},{default:o(()=>[i(c(a.name||a.flowGuid),1),a.version!=null?(p(),v("em",en,"v"+c(a.version),1)):V("",!0)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),h.value.flowGuid?(p(),v("div",sn,[l("span",ln,c(h.value.flowGuid),1),os.value?(p(),v("span",tn,c(os.value),1)):V("",!0)])):V("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])])])}}}),rn=el(nn,[["__scopeId","data-v-35b3ddc4"]]);export{rn as default};