PageSourceSearch

https://app.romuten.jp/_next/static/chunks/5709.7ff7ea974bd5f326.js

js romuten.jp collected 2026-09-25 02:58:45 UTC 8,853 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5709],{25709:(e,r,a)=>{a.r(r),a.d(r,{WorkerWorkPermitCardContainer:()=>P});var t=a(54568),i=a(7620),n=a(49610),s=a(87931),l=a(80603),o=a(61299),d=a(74211),c=a(59269),m=a(57466),u=a(65157);let p=({license:e})=>{let r;return(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-x-4 gap-y-4",children:[(0,t.jsx)(m.B,{label:"画像",value:(0,t.jsx)(u.F,{fileName:e?.image,uploadType:"worker",alt:"資格外活動許可書",className:"border-border bg-muted/20 aspect-[3/2] w-full max-w-[16rem] rounded border object-contain"})}),(0,t.jsx)(m.B,{label:"ビザ種別",value:(r=e?.visaType?.name)&&r.length>0?r:"-",valueClassName:"bg-muted/40 rounded px-2 py-1"})]})},h=({current:e,hasPending:r,onHistoryOpen:a,onPendingOpen:i,onUploadOpen:n,onDelete:m})=>(0,t.jsx)(o.m,{title:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsxs)(d._,{icon:s.A,children:["指定書",e?"":"(登録無し)"]}),e?.isChecked?(0,t.jsx)(l.A,{className:"h-4 w-4 text-green-600","aria-label":"確認済み"}):null]}),actions:(0,t.jsx)(c.W,{onUpload:n,onHistory:a,onPending:i,hasPending:r,onDelete:m}),children:(0,t.jsx)(p,{license:e})});var x=a(66622),f=a(88305);let g=({open:e,onOpenChange:r,items:a,onDeleteItem:i})=>(0,t.jsx)(f.m,{open:e,onOpenChange:r,title:"資格外活動許可書 履歴",items:a,onDeleteItem:i});var k=a(79748),v=a(62024),j=a(66101),b=a(74944),w=a(26454),y=a(69321),C=a(92821),N=a(72648);let P=({workerId:e})=>{let{current:r,pendingFormValues:a,historyItems:s,hasPending:l,uploadOpen:o,pendingOpen:d,historyOpen:c,setUploadOpen:m,setPendingOpen:u,setHistoryOpen:p,handleSave:f,handleConfirm:P,handleReject:W,deleteWorkPermit:T}=(e=>{let[r,a]=(0,i.useState)(!1),[t,n]=(0,i.useState)(!1),[s,l]=(0,i.useState)(!1),o=(0,k.useRouter)(),{current:d,pending:c,pendingFormValues:m,refetch:u,handleConfirm:p,isConfirmPending:h,handleReject:x,isRejectPending:f}=(0,C.i)(e),{data:g}=(0,v.I)(w.NM,{variables:{workerId:e},skip:!s}),[N,{loading:P}]=(0,j.n)(w.J9),[W]=(0,j.n)(w.Vm,{refetchQueries:[w.NM],awaitRefetchQueries:!0});return{current:d,pending:c,pendingFormValues:m,historyItems:(0,i.useMemo)(()=>(g?.workerWorkPermits.items??[]).map(y.Bf),[g?.workerWorkPermits.items]),hasPending:!!c,isPending:P,isConfirmPending:h,uploadOpen:r,pendingOpen:t,historyOpen:s,setUploadOpen:a,setPendingOpen:n,setHistoryOpen:l,handleSave:async r=>{let a=!1;try{let{data:t}=await N({variables:{workerId:e,input:(0,y.ln)(r)}});a=!!t?.uploadWorkerCardWorkPermit.id}catch{b.c.error("指定書の保存に失敗しました。もう一度お試しください。")}if(!a)throw Error("Failed to upload worker work permit");await u(),o.refresh()},handleConfirm:p,handleReject:x,isRejectPending:f,deleteWorkPermit:async r=>{try{let{data:a}=await W({variables:{workerId:e,id:r}});if(!a?.deleteWorkerCardWorkPermit)return!1;return b.c.success("指定書を削除しました"),await u(),o.refresh(),!0}catch{return b.c.error("指定書の削除に失敗しました"),!1}}}})(e),[D,S]=(0,i.useState)(null),F=async()=>{D&&(await T(D),S(null))};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h,{current:r,hasPending:l,onUploadOpen:()=>m(!0),onPendingOpen:()=>u(!0),onHistoryOpen:()=>p(!0),onDelete:r?()=>S(r.id):void 0}),o&&(0,t.jsx)(x.WorkerWorkPermitFormDialog,{open:o,workerId:e,onOpenChange:m,onSave:f}),c&&(0,t.jsx)(g,{open:c,onOpenChange:p,items:s,onDeleteItem:e=>S(e)}),d&&(0,t.jsx)(x.WorkerWorkPermitFormDialog,{open:d,workerId:e,title:`${N.TV.cardWorkPermit} 申請中の書類`,cancelLabel:"閉じる",isChecking:!0,initialValues:a,onOpenChange:u,onSave:P,onReject:W}),(0,t.jsx)(n.T,{open:null!==D,onOpenChange:e=>{e||S(null)},title:"指定書を削除しますか?",description:"この操作は取り消せません。",confirmLabel:"削除",destructive:!0,onConfirm:F})]})}},66622:(e,r,a)=>{a.r(r),a.d(r,{WorkerWorkPermitFormDialog:()=>g});var t=a(54568),i=a(7620),n=a(42584),s=a(50063),l=a(62024),o=a(49610),d=a(83049),c=a(38072),m=a(28465),u=a(65157),p=a(96097),h=a(66005);let x="worker",f="validation failed",g=({open:e,onOpenChange:r,onSave:a,onReject:g,initialValues:k,uploadType:v=x,workerId:j,title:b="指定書 アップロード",cancelLabel:w="キャンセル",confirmLabel:y,isChecking:C=!1,loading:N=!1})=>{let{data:P}=(0,l.I)(p.x5),W=y??(C?"確認して登録":"登録する"),T=(0,n.mN)({resolver:(0,s.u)(h.xs),defaultValues:k,mode:"onChange"});(0,i.useEffect)(()=>{e&&T.reset(k)},[e,k,T]);let D=(0,i.useMemo)(()=>(P?.sourceVisaTypes??[]).filter(e=>240007===e.typeGroupId).map(e=>({value:String(e.code),label:e.typeName?`${e.name} (${e.typeName})`:e.name})),[P]),S=(0,i.useMemo)(()=>{let e=k?.visaTypeCode;return e?D.find(r=>r.value===e)?.label??e:"-"},[k?.visaTypeCode,D]),[F,O]=(0,i.useState)(!1),[E,I]=(0,i.useState)(!1),[M,V]=(0,i.useState)(null);(0,i.useEffect)(()=>{e&&(O(!1),I(!1),V(null))},[e]);let A=()=>new Promise((e,r)=>{if(C){let e=h.xs.safeParse(k??T.getValues());e.success&&(V(e.data),O(!0)),r(Error(f));return}T.handleSubmit(e=>{V(e),O(!0),r(Error(f))},()=>r(Error(f)))()}),L=async()=>{M&&(await a({...M,isChecked:!0}),O(!1),r(!1))},$=async()=>{g&&(await g(),I(!1),r(!1))};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.q,{open:e,onOpenChange:r,title:b,cancelLabel:w,confirmLabel:C&&g?void 0:W,onConfirm:C&&g?void 0:A,footer:C&&g?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.$,{variant:"outline",onClick:()=>r(!1),children:w}),(0,t.jsx)(m.$,{variant:"destructive",disabled:N||!k,onClick:()=>I(!0),children:"差し戻し"}),(0,t.jsx)(m.$,{disabled:N||!k,onClick:()=>{A().catch(()=>{})},children:W})]}):void 0,children:(0,t.jsx)(n.Op,{...T,children:C?(0,t.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"指定書画像"}),(0,t.jsx)(u.F,{fileName:k?.image,uploadType:v,alt:"資格外活動許可書",className:"border-border bg-muted/20 aspect-[3/2] w-full rounded-md border object-contain"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"ビザ種別"}),(0,t.jsx)("div",{className:"border-input bg-muted/40 text-foreground min-h-10 rounded-md border px-3 py-2 text-sm",children:S})]})]}):(0,t.jsxs)("form",{noValidate:!0,className:"flex flex-col gap-5",children:[(0,t.jsxs)(c.ef,{name:"image",uploadType:v,workerId:j,children:[(0,t.jsx)(c.ef.Label,{required:!0,children:"指定書画像"}),(0,t.jsx)(c.ef.Dropzone,{hint:"JPG / PNG / PDF"}),(0,t.jsx)(c.ef.Error,{})]}),(0,t.jsx)(c.zM,{name:"visaTypeCode",label:"ビザ種別",placeholder:"選択してください",required:!0,options:D})]})})}),(0,t.jsx)(o.T,{open:F,onOpenChange:O,title:C?"書類を承認して登録しますか?":"書類を登録しますか?",confirmLabel:C?"承認して登録する":"登録する",onConfirm:L}),(0,t.jsx)(o.T,{open:E,onOpenChange:I,title:"書類を差し戻しますか?",confirmLabel:"差し戻す",onConfirm:$})]})}},69321:(e,r,a)=>{a.d(r,{Bf:()=>n,ln:()=>t,s1:()=>i});let t=e=>({image:e.image,visaTypeCode:Number(e.visaTypeCode),isChecked:e.isChecked}),i=e=>({image:e.image,visaTypeCode:String(e.visaTypeCode),isChecked:e.isChecked}),n=e=>({...e,startDate:new Date(e.createdAt),endDate:new Date(e.createdAt)})},87931:(e,r,a)=>{a.d(r,{A:()=>t});let t=(0,a(83067).A)("file-badge",[["path",{d:"M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.3",key:"cvl1xm"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m7.69 16.479 1.29 4.88a.5.5 0 0 1-.698.591l-1.843-.849a1 1 0 0 0-.879.001l-1.846.85a.5.5 0 0 1-.692-.593l1.29-4.88",key:"1ff7gj"}],["circle",{cx:"6",cy:"14",r:"3",key:"a1xfv6"}]])},92821:(e,r,a)=>{a.d(r,{i:()=>d});var t=a(79748),i=a(62024),n=a(66101),s=a(74944),l=a(26454),o=a(69321);let d=(e,{skip:r=!1,onDone:a}={})=>{let d=(0,t.useRouter)(),{data:c,refetch:m}=(0,i.I)(l.sq,{variables:{workerId:e},skip:r}),[u,{loading:p}]=(0,n.n)(l.Y1),[h,{loading:x}]=(0,n.n)(l.R4),f=c?.workerWorkPermit.current,g=c?.workerWorkPermit.pending,k=g?(0,o.s1)(g):void 0,v=async r=>
1{if(g){try{await u({variables:{workerId:e,id:g.id,input:(0,o.ln)(r)}})}catch{throw s.c.error("指定書の確認に失敗しました。もう一度お試しください。"),Error("Failed to confirm worker work permit")}s.c.success("指定書を承認しました"),await m(),d.refresh(),a?.()}},j=async()=>{if(g){try{await h({variables:{workerId:e,id:g.id}})}catch{throw s.c.error("指定書の差し戻しに失敗しました。もう一度お試しください。"),Error("Failed to reject worker work permit")}s.c.success("指定書を差し戻しました"),await m(),d.refresh(),a?.()}};return{current:f,pending:g,pendingFormValues:k,isConfirmPending:p,isRejectPending:x,refetch:m,handleConfirm:v,handleReject:j}}}}]);

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.