PageSourceSearch

https://swingputt.com/assets/AdminMembersView-CpqObTvp.js

js swingputt.com collected 2026-10-06 17:52:12 UTC 7,719 bytes, 1 lines download raw bytes

1import{_ as ae,D as te,o as oe,b as r,z as p,w as t,d as D,f as l,g as ne,C,ah as G,c as ie,r as se,F as ue,e as c,t as N,i as de,H as re,h as A,I as me,N as U,E as f,j as v,k as i,l as pe,s as E,O as ce,v as ve}from"./index-DNdjV_Rb.js";const fe={class:"toolbar"},_e={class:"count"},be={class:"pager"},ge={__name:"AdminMembersView",setup(we){const M=te(),S=E(()=>M.can("members","w")),T=E(()=>M.can("members","d")),H=E(()=>S.value||T.value),h=v(!1),q=v([]),z=v(0),B=v(""),$=v(""),V=v(1),F=v(20),I=o=>Number(o||0).toLocaleString(),s=ve({visible:!1,saving:!1,id:null}),n=v({name:"",nick:"",level:2,point:0,email:"",hp:"",memo:"",intercept:!1,leave:!1,password:""});async function _(){h.value=!0;try{const o=await U.members({q:B.value,level:$.value,page:V.value,size:F.value});q.value=o.items,z.value=o.total}catch{f.error("회원 목록을 불러오지 못했습니다.")}finally{h.value=!1}}function y(){V.value=1,_()}function O(o){V.value=o,_()}async function P(o){s.id=o.id;try{const e=await U.memberGet(o.id);n.value={name:e.name,nick:e.nick,level:e.level,point:e.point,email:e.email,hp:e.hp,memo:e.memo||"",intercept:e.intercept,leave:e.leave,password:""},s.visible=!0}catch{f.error("회원 정보를 불러오지 못했습니다.")}}async function W(){var u,k;const o=n.value;if(o.password&&o.password.length<6){f.error("비밀번호는 6자 이상이어야 합니다.");return}const e={name:o.name,nick:o.nick,level:o.level,point:o.point,email:o.email,hp:o.hp,memo:o.memo,intercept:o.intercept,leave:o.leave};o.password&&(e.password=o.password),s.saving=!0;try{await U.memberUpdate(s.id,e),f.success("수정되었습니다."),s.visible=!1,_()}catch(b){f.error(((k=(u=b==null?void 0:b.response)==null?void 0:u.data)==null?void 0:k.detail)||"저장에 실패했습니다.")}finally{s.saving=!1}}async function J(o){try{await ce.confirm(`회원 '${o.id}'(${o.name})을(를) 삭제하시겠습니까? 포인트 내역도 함께 삭제됩니다.`,"회원 삭제",{type:"warning",confirmButtonText:"삭제",cancelButtonText:"취소"}),await U.memberDelete(o.id),f.success("삭제되었습니다."),_()}catch(e){e!=="cancel"&&f.error("삭제에 실패했습니다.")}}return oe(_),(o,e)=>{const u=i("el-input"),k=i("el-option"),b=i("el-select"),g=i("el-button"),d=i("el-table-column"),w=i("el-tag"),Q=i("el-table"),R=i("el-pagination"),m=i("el-form-item"),x=i("el-col"),K=i("el-row"),L=i("el-input-number"),j=i("el-checkbox"),X=i("el-form"),Y=i("el-dialog"),Z=i("el-card"),ee=pe("loading");return r(),p(Z,{shadow:"never"},{default:t(()=>[D("div",fe,[l(u,{modelValue:B.value,"onUpdate:modelValue":e[0]||(e[0]=a=>B.value=a),placeholder:"아이디·이름·닉네임·이메일 검색",clearable:"",style:{width:"280px"},"prefix-icon":C(G),onKeyup:ne(y,["enter"]),onClear:y},null,8,["modelValue","prefix-icon"]),l(b,{modelValue:$.value,"onUpdate:modelValue":e[1]||(e[1]=a=>$.value=a),placeholder:"권한",clearable:"",style:{width:"110px"},onChange:y},{default:t(()=>[(r(),ie(ue,null,se([1,2,3,4,5,6,7,8,9,10],a=>l(k,{key:a,label:`레벨 ${a}`,value:String(a)},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),l(g,{type:"primary",icon:C(G),onClick:y},{default:t(()=>[...e[14]||(e[14]=[c("검색",-1)])]),_:1},8,["icon"]),D("span",_e,"총 "+N(I(z.value))+"명",1)]),de((r(),p(Q,{data:q.value,size:"small",stripe:""},{default:t(()=>[l(d,{prop:"id",label:"아이디","min-width":"120"}),l(d,{prop:"name",label:"이름","min-width":"80"}),l(d,{prop:"nick",label:"닉네임","min-width":"90"}),l(d,{label:"권한",width:"64",align:"center"},{default:t(({row:a})=>[l(w,{size:"small",effect:"plain"},{default:t(()=>[c(N(a.level),1)]),_:2},1024)]),_:1}),l(d,{prop:"email",label:"이메일","min-width":"170","show-overflow-tooltip":""}),l(d,{prop:"hp",label:"연락처","min-width":"115"}),l(d,{label:"포인트",width:"80",align:"right"},{default:t(({row:a})=>[c(N(I(a.point)),1)]),_:1}),l(d,{prop:"datetime",label:"가입일",width:"100",align:"center"}),l(d,{label:"상태",width:"80",align:"center"},{default:t(({row:a})=>[a.leave?(r(),p(w,{key:0,type:"info",size:"small"},{default:t(()=>[...e[15]||(e[15]=[c("탈퇴",-1)])]),_:1})):a.intercept?(r(),p(w,{key:1,type:"danger",size:"small"},{default:t(()=>[...e[16]||(e[16]=[c("차단",-1)])]),_:1})):a.certified?(r(),p(w,{key:2,type:"success",size:"small",effect:"plain"},{default:t(()=>[...e[17]||(e[17]=[c("인증",-1)])]),_:1})):(r(),p(w,{key:3,type:"warning",size:"small",effect:"plain"},{default:t(()=>[...e[18]||(e[18]=[c("미인증",-1)])]),_:1}))]),_:1}),H.value?(r(),p(d,{key:0,label:"관리",width:"100",align:"center",fixed:"right"},{default:t(({row:a})=>[S.value?(r(),p(g,{key:0,size:"small",text:"",type:"primary",icon:C(re),onClick:le=>P(a)},null,8,["icon","onClick"])):A("",!0),T.value?(r(),p(g,{key:1,size:"small",text:"",type:"danger",icon:C(me),onClick:le=>J(a)},null,8,["icon","onClick"])):A("",!0)]),_:1})):A("",!0)]),_:1},8,["data"])),[[ee,h.value]]),D("div",be,[l(R,{layout:"prev, pager, next, total",total:z.value,"page-size":F.value,"current-page":V.value,onCurrentChange:O,background:""},null,8,["total","page-size","current-page"])]),l(Y,{modelValue:s.visible,"onUpdate:modelValue":e[13]||(e[13]=a=>s.visible=a),title:`회원 수정 — ${s.id}`,width:"520px"},{footer:t(()=>[l(g,{onClick:e[12]||(e[12]=a=>s.visible=!1)},{default:t(()=>[...e[19]||(e[19]=[c("취소",-1)])]),_:1}),l(g,{type:"primary",loading:s.saving,onClick:W},{default:t(()=>[...e[20]||(e[20]=[c("저장",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(X,{"label-width":"80px"},{default:t(()=>[l(K,{gutter:12},{default:t(()=>[l(x,{span:12},{default:t(()=>[l(m,{label:"이름"},{default:t(()=>[l(u,{modelValue:n.value.name,"onUpdate:modelValue":e[2]||(e[2]=a=>n.value.name=a)},null,8,["modelValue"])]),_:1})]),_:1}),l(x,{span:12},{default:t(()=>[l(m,{label:"닉네임"},{default:t(()=>[l(u,{modelValue:n.value.nick,"onUpdate:modelValue":e[3]||(e[3]=a=>n.value.nick=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(K,{gutter:12},{default:t(()=>[l(x,{span:12},{default:t(()=>[l(m,{label:"권한레벨"},{default:t(()=>[l(L,{modelValue:n.value.level,"onUpdate:modelValue":e[4]||(e[4]=a=>n.value.level=a),min:1,max:10,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),l(x,{span:12},{default:t(()=>[l(m,{label:"포인트"},{default:t(()=>[l(L,{modelValue:n.value.point,"onUpdate:modelValue":e[5]||(e[5]=a=>n.value.point=a),step:100,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(m,{label:"이메일"},{default:t(()=>[l(u,{modelValue:n.value.email,"onUpdate:modelValue":e[6]||(e[6]=a=>n.value.email=a)},null,8,["modelValue"])]),_:1}),l(m,{label:"연락처"},{default:t(()=>
1[l(u,{modelValue:n.value.hp,"onUpdate:modelValue":e[7]||(e[7]=a=>n.value.hp=a)},null,8,["modelValue"])]),_:1}),l(m,{label:"비밀번호"},{default:t(()=>[l(u,{modelValue:n.value.password,"onUpdate:modelValue":e[8]||(e[8]=a=>n.value.password=a),type:"password","show-password":"",autocomplete:"new-password",placeholder:"비워두면 변경하지 않음 (6자 이상)"},null,8,["modelValue"])]),_:1}),l(m,{label:"메모"},{default:t(()=>[l(u,{modelValue:n.value.memo,"onUpdate:modelValue":e[9]||(e[9]=a=>n.value.memo=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),l(m,{label:"상태"},{default:t(()=>[l(j,{modelValue:n.value.intercept,"onUpdate:modelValue":e[10]||(e[10]=a=>n.value.intercept=a),label:"차단",border:""},null,8,["modelValue"]),l(j,{modelValue:n.value.leave,"onUpdate:modelValue":e[11]||(e[11]=a=>n.value.leave=a),label:"탈퇴",border:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])]),_:1})}}},ye=ae(ge,[["__scopeId","data-v-039a027c"]]);export{ye 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.