PageSourceSearch

https://www.tokuji.co.jp/_nuxt/BimmPH5p.js

js tokuji.co.jp collected 2026-10-04 19:29:24 UTC 3,352 bytes, 1 lines download raw bytes

1import{d as $,P as B,E as D,O as P,Q as T,q as h,an as A,c as y,a as s,b as C,w as M,j as i,t as r,H,e as d,y as b,z as w,ai as I,g as U,x as t,_ as O,o as _,h as Q}from"./q0PInWCQ.js";import{u as R}from"./DXU4uryr.js";const j={class:"admin-shell"},z={class:"topbar"},F={class:"main"},K={key:0,class:"empty error"},L={class:"meta"},W={key:0,class:"error"},G={class:"actions"},J=["disabled"],X=$({__name:"[id]",async setup(Y){let m,x;B({title:"ユーザー編集 | とくじCMS"});const q=D(),g=P(),{user:N}=T();N.value&&N.value.role!=="admin"&&g.replace("/cmsadminconsole");const V=Number(q.params.id),{data:a,error:k}=([m,x]=h(()=>R(`/api/cmsadminconsole/users/${V}`,"$ruPuQSbKWO")),m=await m,x(),m),p=t(""),v=t(""),c=t("editor"),o=t(""),n=t(""),f=t(!1);A(()=>{a.value&&(p.value=a.value.email,v.value=a.value.displayName,c.value=a.value.role)});async function E(){if(n.value="",o.value&&o.value.length<8){n.value="パスワードは8文字以上で入力してください";return}f.value=!0;try{await $fetch(`/api/cmsadminconsole/users/${V}`,{method:"PUT",body:{email:p.value,displayName:v.value,role:c.value,password:o.value}}),await g.push("/cmsadminconsole/users")}catch(u){n.value=u?.data?.message||u?.data?.statusMessage||u?.message||u?.statusMessage||"ユーザー更新に失敗しました"}finally{f.value=!1}}return(u,e)=>{const S=O;return _(),y("div",j,[s("header",z,[C(S,{to:"/cmsadminconsole/users",class:"back"},{default:M(()=>[...e[4]||(e[4]=[d("← ユーザー一覧",-1)])]),_:1}),e[5]||(e[5]=s("h1",null,"ユーザー編集",-1)),e[6]||(e[6]=s("span",{class:"spacer"},null,-1))]),s("main",F,[i(k)?(_(),y("div",K," ユーザー情報の取得に失敗しました("+r(i(k)?.statusCode||"")+")。 ",1)):i(a)?(_(),y("form",{key:1,class:"card",onSubmit:H(E,["prevent"])},[s("div",L,"ID: "+r(i(a).id)+" / 登録日時: "+r(i(a).createdAt?.slice(0,16)),1),s("label",null,[e[7]||(e[7]=s("span",null,[d("メールアドレス "),s("em",null,"*")],-1)),b(s("input",{"onUpdate:modelValue":e[0]||(e[0]=l=>p.value=l),type:"email",required:"",maxlength:"255"},null,512),[[w,p.value]])]),s("label",null,[e[8]||(e[8]=s("span",null,[d("表示名 "),s("em",null,"*")],-1)),b(s("input",{"onUpdate:modelValue":e[1]||(e[1]=l=>v.value=l),type:"text",required:"",maxlength:"100"},null,512),[[w,v.value]])]),s("label",null,[e[10]||(e[10]=s("span",null,[d("ロール "),s("em",null,"*")],-1)),b(s("select",{"onUpdate:modelValue":e[2]||(e[2]=l=>c.value=l),required:""},[...e[9]||(e[9]=[s("option",{value:"editor"},"編集者 (editor)",-1),s("option",{value:"admin"},"管理者 (admin)",-1)])],512),[[I,c.value]])]),s("label",null,[e[11]||(e[11]=s("span",null,"パスワードリセット",-1)),b(s("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>o.value=l),type:"password",autocomplete:"new-password",minlength:"8",maxlength:"200",placeholder:"変更する場合のみ入力(8文字以上)"},null,512),[[w,o.value]]),e[12]||(e[12]=s("small",null,"空欄のままなら変更されません。",-1))]),n.value?(_(),y("p",W,r(n.value),1)):U("",!0),s("div",G,[C(S,{to:"/cmsadminconsole/users",class:"cancel"},{default:M(()=>[...e[13]||(e[13]=[d("キャンセル",-1)])]),_:1}),s("button",{type:"submit",disabled:f.value},r(f.value?"更新中...":"更新"),9,J)])],32)):U("",!0)])])}}}),se=Q(X,[["__scopeId","data-v-10d1d20f"]]);export{se 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.