Files
Lucky_Wheel/apps/admin/dist/assets/UserDetailView-BifrFoXz.js
T
2026-09-15 17:26:42 +03:30

2 lines
8.8 KiB
JavaScript

import{t as z,f as U}from"./farsi-number-stB7JMN0.js";import{d as _e,h as p,l as me,c as _,b as t,w as e,e as c,Q as ye,i as fe,n as B,r as l,o as d,f as r,R as ve,a as H,t as u,x as k,s as O,F as j,y as ge,z as V,_ as ke}from"./index-C4s_T2hP.js";import{P as G}from"./PlusCircleOutlined-DvvDmI1x.js";const Ce={class:"user-detail-page"},be={class:"num-cell"},xe={class:"date-cell"},Ie={key:1,class:"num-cell"},ze={key:2,class:"num-cell"},he={key:0,class:"code-badge"},Ae={key:1,class:"text-muted"},De={key:3,class:"date-cell"},we={key:1,class:"date-cell"},Se=_e({__name:"UserDetailView",setup(Ee){const Q=ye(),X=fe(),S=p(Q.params.id||""),f=p(!1),o=p(null),h=p(!1),E=p(!1),C=p(""),b=p(1),A=p(""),L=p([]);async function Y(){var m;try{const n=await B.get("/admin/campaigns",{params:{pageSize:100}});L.value=Array.isArray(n.data)?n.data:((m=n.data)==null?void 0:m.data)||[]}catch{}}async function T(){if(S.value){f.value=!0;try{const m=await B.get(`/admin/users/${S.value}`);o.value=m.data}finally{f.value=!1}}}function K(m){var n,v,D,w,y;C.value=m||((D=(v=(n=o.value)==null?void 0:n.userCampaigns)==null?void 0:v[0])==null?void 0:D.campaignId)||((y=(w=L.value)==null?void 0:w[0])==null?void 0:y.id)||"",b.value=1,A.value="اهدای شانس تشویقی توسط مدیر",h.value=!0}async function J(){if(!C.value){V.error("انتخاب کمپین الزامی است.");return}if(!b.value){V.error("مقدار شانس نامعتبر است.");return}E.value=!0;try{await B.post("/admin/chances/adjust",{userId:S.value,campaignId:C.value,amount:b.value,reason:A.value}),V.success("شانس کاربر با موفقیت تغییر کرد."),h.value=!1,T()}finally{E.value=!1}}const F={PENDING:{text:"در انتظار",color:"processing"},DELIVERED:{text:"تحویل داده شده",color:"success"},USED:{text:"استفاده شده",color:"cyan"},CANCELLED:{text:"لغو شده",color:"error"},EXPIRED:{text:"منقضی شده",color:"default"}},Z={DIGITAL_CODE:"کد دیجیتال",PHYSICAL:"کالای فیزیکی",DISCOUNT:"کد تخفیف",CASH:"جایزه نقدی",FREE_CHANCE:"شانس مجدد",CUSTOM:"سفارشی"},ee=[{title:"عنوان کمپین",dataIndex:["campaign","title"],key:"title"},{title:"شانس باقی‌مانده",dataIndex:"remainingChances",key:"remainingChances"},{title:"کل شانس‌ها",dataIndex:"totalChances",key:"totalChances",align:"center"},{title:"شانس مصرف‌شده",dataIndex:"usedChances",key:"usedChances",align:"center"},{title:"عملیات",key:"actions",width:110,align:"center"}],ae=[{title:"عنوان جایزه",dataIndex:["prize","title"],key:"title"},{title:"نوع جایزه",dataIndex:["prize","prizeType"],key:"prizeType"},{title:"کد دیجیتال",dataIndex:"code",key:"code"},{title:"وضعیت",dataIndex:"status",key:"status"},{title:"تاریخ دریافت",dataIndex:"createdAt",key:"createdAt"}],te=[{title:"کمپین",dataIndex:["campaign","title"],key:"campaign"},{title:"نتیجه / جایزه",dataIndex:["prize","title"],key:"prize"},{title:"برد؟",dataIndex:"isWin",key:"isWin"},{title:"آی‌پی",dataIndex:"ipAddress",key:"ipAddress"},{title:"تاریخ اسپین",dataIndex:"createdAt",key:"createdAt"}];return me(()=>{T(),Y()}),(m,n)=>{var W,$;const v=l("a-button"),D=l("a-space"),w=l("a-page-header"),y=l("a-descriptions-item"),x=l("a-tag"),ne=l("a-descriptions"),M=l("a-card"),se=l("a-col"),le=l("a-row"),R=l("a-table"),P=l("a-tab-pane"),oe=l("a-tabs"),ie=l("a-select-option"),de=l("a-select"),N=l("a-form-item"),ue=l("a-input-number"),ce=l("a-input"),re=l("a-form"),pe=l("a-modal");return d(),_("div",Ce,[t(w,{class:"detail-header",title:`پروفایل کاربر: ${(W=o.value)!=null&&W.mobile?c(z)(o.value.mobile):"در حال بارگذاری..."}`,"sub-title":(($=o.value)==null?void 0:$.name)||"بدون نام",onBack:n[1]||(n[1]=a=>c(X).push("/users"))},{extra:e(()=>[t(D,null,{default:e(()=>[t(v,{onClick:T,loading:f.value},{icon:e(()=>[t(c(ve))]),default:e(()=>[n[6]||(n[6]=r(" به‌روزرسانی ",-1))]),_:1},8,["loading"]),t(v,{type:"primary",onClick:n[0]||(n[0]=()=>K())},{icon:e(()=>[t(c(G))]),default:e(()=>[n[7]||(n[7]=r(" افزودن شانس ",-1))]),_:1})]),_:1})]),_:1},8,["title","sub-title"]),t(le,{gutter:16},{default:e(()=>[t(se,{span:24},{default:e(()=>[t(M,{title:"اطلاعات هویتی و حساب",bordered:!1,class:"section-card",style:{"margin-bottom":"20px"}},{default:e(()=>[t(ne,{bordered:"",size:"small",column:{xs:1,sm:2,md:4}},{default:e(()=>[t(y,{label:"شماره موبایل"},{default:e(()=>{var a;return[H("span",be,u(c(z)((a=o.value)==null?void 0:a.mobile)),1)]}),_:1}),t(y,{label:"نام و نام خانوادگی"},{default:e(()=>{var a;return[r(u(((a=o.value)==null?void 0:a.name)||"—"),1)]}),_:1}),t(y,{label:"وضعیت حساب"},{default:e(()=>{var a,i;return[t(x,{color:((a=o.value)==null?void 0:a.status)==="BLOCKED"||(i=o.value)!=null&&i.isBlocked?"red":"green"},{default:e(()=>{var s,g;return[r(u(((s=o.value)==null?void 0:s.status)==="BLOCKED"||(g=o.value)!=null&&g.isBlocked?"مسدود شده":"فعال"),1)]}),_:1},8,["color"])]}),_:1}),t(y,{label:"تاریخ ثبت‌نام"},{default:e(()=>{var a;return[H("span",xe,u((a=o.value)!=null&&a.createdAt?c(z)(new Date(o.value.createdAt).toLocaleDateString("fa-IR")):"—"),1)]}),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(M,{title:"موجودی شانس در کمپین‌ها",bordered:!1,class:"section-card",style:{"margin-bottom":"20px"}},{default:e(()=>{var a;return[t(R,{dataSource:((a=o.value)==null?void 0:a.userCampaigns)||[],columns:ee,loading:f.value,rowKey:"id",size:"middle",pagination:!1},{bodyCell:e(({column:i,record:s})=>[i.key==="remainingChances"?(d(),k(x,{key:0,color:"success",style:{"font-size":"13px","font-weight":"600"}},{default:e(()=>[r(u(c(U)(s.remainingChances)),1)]),_:2},1024)):i.key==="totalChances"?(d(),_("span",Ie,u(c(U)(s.totalChances)),1)):i.key==="usedChances"?(d(),_("span",ze,u(c(U)(s.usedChances)),1)):i.key==="actions"?(d(),k(v,{key:3,type:"text",size:"small",class:"action-text-btn",onClick:g=>K(s.campaignId)},{icon:e(()=>[t(c(G),{style:{color:"#4f46e5"}})]),default:e(()=>[n[8]||(n[8]=r(" تغییر شانس ",-1))]),_:1},8,["onClick"])):O("",!0)]),_:1},8,["dataSource","loading"])]}),_:1}),t(oe,{defaultActiveKey:"prizes",type:"card",class:"detail-tabs"},{default:e(()=>[t(P,{key:"prizes",tab:"جوایز دریافت‌شده"},{default:e(()=>{var a;return[t(R,{dataSource:((a=o.value)==null?void 0:a.prizes)||[],columns:ae,loading:f.value,rowKey:"id",size:"middle",pagination:{pageSize:5}},{bodyCell:e(({column:i,record:s})=>{var g;return[i.key==="prizeType"?(d(),k(x,{key:0},{default:e(()=>{var I,q;return[r(u(Z[(I=s.prize)==null?void 0:I.prizeType]||((q=s.prize)==null?void 0:q.prizeType)||"—"),1)]}),_:2},1024)):i.key==="code"?(d(),_(j,{key:1},[s.code?(d(),_("code",he,u(s.code),1)):(d(),_("span",Ae,"—"))],64)):i.key==="status"?(d(),k(x,{key:2,color:((g=F[s.status])==null?void 0:g.color)||"blue"},{default:e(()=>{var I;return[r(u(((I=F[s.status])==null?void 0:I.text)||s.status),1)]}),_:2},1032,["color"])):i.key==="createdAt"?(d(),_("span",De,u(c(z)(new Date(s.createdAt).toLocaleDateString("fa-IR"))),1)):O("",!0)]}),_:1},8,["dataSource","loading"])]}),_:1}),t(P,{key:"spins",tab:"تاریخچه اسپین‌ها"},{default:e(()=>{var a;return[t(R,{dataSource:((a=o.value)==null?void 0:a.spins)||[],columns:te,loading:f.value,rowKey:"id",size:"middle",pagination:{pageSize:5}},{bodyCell:e(({column:i,record:s})=>[i.key==="isWin"?(d(),k(x,{key:0,color:s.isWin?"green":"default"},{default:e(()=>[r(u(s.isWin?"برنده":"پوچ"),1)]),_:2},1032,["color"])):i.key==="createdAt"?(d(),_("span",we,u(c(z)(new Date(s.createdAt).toLocaleString("fa-IR"))),1)):O("",!0)]),_:1},8,["dataSource","loading"])]}),_:1})]),_:1}),t(pe,{open:h.value,"onUpdate:open":n[5]||(n[5]=a=>h.value=a),title:"تنظیم شانس کاربر در کمپین",confirmLoading:E.value,okText:"ثبت تغییرات",cancelText:"انصراف",onOk:J},{default:e(()=>[t(re,{layout:"vertical"},{default:e(()=>[t(N,{label:"کمپین مورد نظر",required:""},{default:e(()=>[t(de,{value:C.value,"onUpdate:value":n[2]||(n[2]=a=>C.value=a),placeholder:"انتخاب کمپین",style:{width:"100%"}},{default:e(()=>[(d(!0),_(j,null,ge(L.value,a=>(d(),k(ie,{key:a.id,value:a.id},{default:e(()=>[r(u(a.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1}),t(N,{label:"تغییر شانس (+ برای افزایش، - برای کسر)",required:""},{default:e(()=>[t(ue,{value:b.value,"onUpdate:value":n[3]||(n[3]=a=>b.value=a),style:{width:"100%"}},null,8,["value"])]),_:1}),t(N,{label:"دلیل / بابت",required:""},{default:e(()=>[t(ce,{value:A.value,"onUpdate:value":n[4]||(n[4]=a=>A.value=a),placeholder:"مثال: خرید مجدد مشتری"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirmLoading"])])}}}),Ne=ke(Se,[["__scopeId","data-v-8d59632b"]]);export{Ne as default};