PageSourceSearch

https://smartkintai.ai/assets/ApprovalSettings-Cmd1XB9u.js

js smartkintai.ai collected 2026-10-05 15:06:20 UTC 8,264 bytes, 1 lines download raw bytes

1import{d as M,r as C,a as w,c as z,o as J,W as A,n as v,w as o,s as m,g as l,e as k,f as a,i as p,u as f,T as D,A as u,j as x,X as O,t as I,_ as R,aJ as X,$,v as G}from"./index-C6DB0I7I.js";import{A as H}from"./AdminLayout-CKFEpq6x.js";import{g as K,u as Q}from"./approvalSettings-GnELyCeT.js";import{g as Y}from"./subscription-BJmfEDEa.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./AdminHeader-CxaYCU54.js";import"./client-CRttDGue.js";import"./index-D5lHaTRS.js";import"./authApi-gU8Bzwv7.js";import"./employeeClient-DfmVny7z.js";const h={key:0,class:"loading-container"},ee={key:1},le={class:"form-item-description"},oe={class:"form-item-description"},te={key:2},ae={class:"usage-examples"},re={class:"example-header"},se={class:"example-header"},ne={class:"example-header"},ie=M({__name:"ApprovalSettings",setup(pe){const U=G(),F=C(!0),_=C(!1),q=w({approvalWorkflow:!1}),t=w({approvalWorkflowEnabled:!0,autoApproveApplications:!1,requireApprovalForLeave:!0,requireApprovalForOvertime:!0,requireApprovalForMissedPunch:!0,requireApprovalForPunchCorrection:!0,requireApprovalForBusinessTrip:!0,requireApprovalForSpecialLeave:!0,requireApprovalForSubstituteWork:!0}),g=w({...t}),S=z(()=>JSON.stringify(t)!==JSON.stringify(g));J(async()=>{await Promise.all([E(),P()]),F.value=!1});const E=async()=>{var n;try{const e=await Y(),s=((n=e.subscription)==null?void 0:n.plan)||e.plan;s!=null&&s.features&&(q.approvalWorkflow=s.features.approvalWorkflow||!1)}catch{A.error("プラン情報の取得に失敗しました")}},P=async()=>{try{const n=await K();Object.assign(t,n),Object.assign(g,n)}catch{A.error("設定の取得に失敗しました")}},B=async()=>{var n,e;_.value=!0;try{const s={...t};await Q(s),Object.assign(g,t),A.success("設定を保存しました")}catch(s){A.error(((e=(n=s.response)==null?void 0:n.data)==null?void 0:e.message)||"設定の保存に失敗しました")}finally{_.value=!1}},L=()=>{Object.assign(t,g)},N=()=>{U.push("/admin/subscription")};return(n,e)=>{const s=p("el-icon"),V=p("el-button"),W=p("el-alert"),d=p("el-switch"),i=p("el-form-item"),b=p("el-divider"),T=p("el-form"),c=p("el-card"),y=p("el-col"),j=p("el-row");return m(),v(H,{title:"承認ワークフロー設定"},{default:o(()=>[l(c,null,{header:o(()=>[...e[9]||(e[9]=[a("div",{class:"card-header"},[a("span",null,"承認ワークフロー設定")],-1)])]),default:o(()=>[F.value?(m(),k("div",h,[l(s,{class:"is-loading"},{default:o(()=>[l(f(D))]),_:1}),e[10]||(e[10]=a("p",null,"設定を読み込んでいます...",-1))])):(m(),k("div",ee,[q.approvalWorkflow?(m(),v(T,{key:1,model:t,"label-width":"220px","label-position":"left"},{default:o(()=>[l(i,{label:"承認ワークフロー機能"},{default:o(()=>[l(d,{modelValue:t.approvalWorkflowEnabled,"onUpdate:modelValue":e[0]||(e[0]=r=>t.approvalWorkflowEnabled=r),"active-text":"利用する","inactive-text":"利用しない"},null,8,["modelValue"]),a("div",le,[l(s,null,{default:o(()=>[l(f(O))]),_:1}),e[13]||(e[13]=a("span",null," 有効にすると、申請に対して承認ルートを設定できます。無効にすると手動承認のみになります。 ",-1))])]),_:1}),l(b),t.approvalWorkflowEnabled?(m(),v(i,{key:0,label:"自動承認"},{default:o(()=>[l(d,{modelValue:t.autoApproveApplications,"onUpdate:modelValue":e[1]||(e[1]=r=>t.autoApproveApplications=r),"active-text":"有効","inactive-text":"無効"},null,8,["modelValue"]),a("div",oe,[l(s,null,{default:o(()=>[l(f(O))]),_:1}),e[14]||(e[14]=a("span",null," 有効にすると、すべての申請が自動的に承認されます。承認フローを記録しつつ自動処理したい場合に使用します。 ",-1))])]),_:1})):x("",!0),t.approvalWorkflowEnabled?(m(),v(b,{key:1})):x("",!0),t.approvalWorkflowEnabled&&!t.autoApproveApplications?(m(),k("div",te,[e[16]||(e[16]=a("h3",{style:{"margin-bottom":"20px","font-size":"16px","font-weight":"600"}}," 申請種別ごとの承認設定 ",-1)),l(W,{title:"詳細設定",type:"info",closable:!1,style:{"margin-bottom":"20px"}},{default:o(()=>[...e[15]||(e[15]=[u(" 各申請種別で承認が必要かを個別に設定できます。無効にした種別の申請は自動承認されます。 ",-1)])]),_:1}),l(i,{label:"有給休暇申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForLeave,"onUpdate:modelValue":e[2]||(e[2]=r=>t.requireApprovalForLeave=r)},null,8,["modelValue"])]),_:1}),l(i,{label:"残業申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForOvertime,"onUpdate:modelValue":e[3]||(e[3]=r=>t.requireApprovalForOvertime=r)},null,8,["modelValue"])]),_:1}),l(i,{label:"打刻漏れ申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForMissedPunch,"onUpdate:modelValue":e[4]||(e[4]=r=>t.requireApprovalForMissedPunch=r)},null,8,["modelValue"])]),_:1}),l(i,{label:"打刻修正申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForPunchCorrection,"onUpdate:modelValue":e[5]||(e[5]=r=>t.requireApprovalForPunchCorrection=r)},null,8,["modelValue"])]),_:1}),l(i,{label:"出張申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForBusinessTrip,"onUpdate:modelValue":e[6]||(e[6]=r=>t.requireApprovalForBusinessTrip=r)},null,8,["modelValue"])]),_:1}),l(i,{label:"特別休暇申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForSpecialLeave,"onUpdate:modelValue":e[7]||
1(e[7]=r=>t.requireApprovalForSpecialLeave=r)},null,8,["modelValue"])]),_:1}),l(i,{label:"振替出勤申請"},{default:o(()=>[l(d,{modelValue:t.requireApprovalForSubstituteWork,"onUpdate:modelValue":e[8]||(e[8]=r=>t.requireApprovalForSubstituteWork=r)},null,8,["modelValue"])]),_:1})])):x("",!0),l(b),l(i,null,{default:o(()=>[l(V,{type:"primary",loading:_.value,onClick:B,disabled:!S.value},{default:o(()=>[u(I(_.value?"保存中...":"設定を保存"),1)]),_:1},8,["loading","disabled"]),l(V,{onClick:L,disabled:!S.value},{default:o(()=>[...e[17]||(e[17]=[u(" キャンセル ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["model"])):(m(),v(W,{key:0,title:"承認ワークフロー機能は現在のプランではご利用いただけません",type:"warning","show-icon":"",closable:!1,style:{"margin-bottom":"20px"}},{default:o(()=>[e[12]||(e[12]=a("p",null,"この機能を利用するには、ベーシックプラン以上へのアップグレードが必要です。",-1)),l(V,{type:"primary",size:"small",onClick:N,style:{"margin-top":"10px"}},{default:o(()=>[...e[11]||(e[11]=[u(" プランをアップグレード ",-1)])]),_:1})]),_:1})),l(b),a("div",ae,[e[24]||(e[24]=a("h3",{style:{"margin-bottom":"15px","font-size":"16px","font-weight":"600"}}," 推奨される使用パターン ",-1)),l(j,{gutter:20},{default:o(()=>[l(y,{span:8},{default:o(()=>[l(c,{shadow:"hover"},{header:o(()=>[a("div",re,[l(s,null,{default:o(()=>[l(f(R))]),_:1}),e[18]||(e[18]=a("span",null,"小規模企業向け",-1))])]),default:o(()=>[e[19]||(e[19]=a("p",{class:"example-description"},[a("strong",null,"設定:"),u(" 承認ワークフロー無効"),a("br"),a("strong",null,"効果:"),u(" 管理者が申請管理画面で手動承認・却下を行います。シンプルで運用が簡単です。 ")],-1))]),_:1})]),_:1}),l(y,{span:8},{default:o(()=>[l(c,{shadow:"hover"},{header:o(()=>[a("div",se,[l(s,null,{default:o(()=>[l(f(X))]),_:1}),e[20]||(e[20]=a("span",null,"中規模企業向け",-1))])]),default:o(()=>[e[21]||(e[21]=a("p",{class:"example-description"},[a("strong",null,"設定:"),u(" 承認ワークフロー有効 + 種別ごとに設定"),a("br"),a("strong",null,"効果:"),u(" 重要な申請(有給、残業)のみ承認フローを使用し、その他は自動承認できます。 ")],-1))]),_:1})]),_:1}),l(y,{span:8},{default:o(()=>[l(c,{shadow:"hover"},{header:o(()=>[a("div",ne,[l(s,null,{default:o(()=>[l(f($))]),_:1}),e[22]||(e[22]=a("span",null,"大規模企業向け",-1))])]),default:o(()=>[e[23]||(e[23]=a("p",{class:"example-description"},[a("strong",null,"設定:"),u(" 承認ワークフロー有効 + 全種別承認必須"),a("br"),a("strong",null,"効果:"),u(" 多段階承認ルートを設定し、組織階層に応じた厳密な承認管理を実現します。 ")],-1))]),_:1})]),_:1})]),_:1})])]))]),_:1})]),_:1})}}}),Ve=Z(ie,[["__scopeId","data-v-67e971bb"]]);export{Ve 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.