1 line
3.6 KiB
JavaScript
1 line
3.6 KiB
JavaScript
import{C as e,D as t,E as n,S as r,_ as i,d as a,g as o,h as s,l as c,m as l,n as u,p as d,s as f,v as p,w as m,x as h,y as g}from"./index-DzvFzRSs.js";import{t as _}from"./Section-CyoxMKA8.js";var v={key:0,class:`text-slate-500`},y={key:1,class:`space-y-3`},b={class:`flex items-start justify-between`},x={class:`font-semibold text-lg`},S={class:`text-xs text-slate-400`},C={class:`text-sm text-slate-500`},w={class:`grid grid-cols-3 gap-3 mt-4 text-sm`},T=[`onUpdate:modelValue`],E=[`onUpdate:modelValue`],D=[`onUpdate:modelValue`],O=[`onClick`],k={key:0,class:`ml-2 text-sm text-green-600`},A={key:0,class:`space-y-2 text-sm`},j={class:`font-medium`},M={class:`text-slate-400 text-xs`},N=[`onClick`],P={key:1,class:`text-slate-400 text-sm`},F={__name:`Plans`,setup(F){let I=m([]),L=m([]),R=m(!0);i(async()=>{try{let[e,t]=await Promise.all([u.get(`/admin/api/plans`),u.get(`/admin/api/price-overrides`)]);I.value=e.data.plans.map(e=>({...e,_price:e.price_rub,_days:e.duration_days,_yk_desc:e.yookassa_description,_saved:!1})),L.value=t.data.overrides}finally{R.value=!1}});async function z(e){try{await u.patch(`/admin/api/plans/${e.id}`,{price_rub:e._price,duration_days:e._days,yookassa_description:e._yk_desc}),e._saved=!0,setTimeout(()=>e._saved=!1,2e3)}catch(e){alert(e.response?.data?.detail||`Ошибка`)}}async function B(e){confirm(`Удалить override?`)&&(await u.delete(`/admin/api/price-overrides/${e}`),L.value=L.value.filter(t=>t.id!==e))}return(i,u)=>{let m=h(`router-link`);return p(),l(`div`,null,[u[3]||=a(`h1`,{class:`text-2xl font-bold mb-6`},`💰 Тарифы`,-1),R.value?(p(),l(`div`,v,`Загрузка...`)):(p(),l(`div`,y,[(p(!0),l(c,null,g(I.value,r=>(p(),l(`div`,{key:r.id,class:`bg-white rounded-xl shadow-sm border p-5`},[a(`div`,b,[a(`div`,null,[a(`h3`,x,[s(t(r.name)+` `,1),a(`span`,S,`(`+t(r.slug)+`)`,1)]),a(`p`,C,t(r.description),1)]),a(`span`,{class:n([r.is_active?`bg-green-100 text-green-700`:`bg-slate-100 text-slate-500`,`px-2 py-0.5 rounded-full text-xs`])},t(r.is_active?`активен`:`выключен`),3)]),a(`div`,w,[a(`div`,null,[u[0]||=a(`label`,{class:`text-xs text-slate-400`},`Цена (₽)`,-1),e(a(`input`,{"onUpdate:modelValue":e=>r._price=e,type:`number`,step:`0.01`,class:`w-full px-2 py-1 border rounded text-sm`},null,8,T),[[f,r._price,void 0,{number:!0}]])]),a(`div`,null,[u[1]||=a(`label`,{class:`text-xs text-slate-400`},`Длительность (дни)`,-1),e(a(`input`,{"onUpdate:modelValue":e=>r._days=e,type:`number`,class:`w-full px-2 py-1 border rounded text-sm`},null,8,E),[[f,r._days,void 0,{number:!0}]])]),a(`div`,null,[u[2]||=a(`label`,{class:`text-xs text-slate-400`},`Описание YooKassa`,-1),e(a(`input`,{"onUpdate:modelValue":e=>r._yk_desc=e,class:`w-full px-2 py-1 border rounded text-sm`},null,8,D),[[f,r._yk_desc]])])]),a(`button`,{onClick:e=>z(r),class:`mt-3 px-3 py-1.5 bg-indigo-600 text-white rounded-lg text-sm hover:bg-indigo-700`},` Сохранить `,8,O),r._saved?(p(),l(`span`,k,`✅ Сохранено`)):d(``,!0)]))),128))])),o(_,{title:`💲 Индивидуальные цены (overrides)`,class:`mt-8`},{default:r(()=>[L.value.length?(p(),l(`div`,A,[(p(!0),l(c,null,g(L.value,e=>(p(),l(`div`,{key:e.id,class:`flex items-center justify-between bg-slate-50 rounded-lg px-3 py-2`},[o(m,{to:`/users/${e.user_id}`,class:`text-indigo-600`},{default:r(()=>[s(`user `+t(e.user_id),1)]),_:2},1032,[`to`]),a(`span`,null,t(e.plan_slug||`все`),1),a(`span`,j,t(e.price_rub)+`₽`,1),a(`span`,M,t(e.reason),1),a(`button`,{onClick:t=>B(e.id),class:`text-red-600 text-xs`},`удалить`,8,N)]))),128))])):(p(),l(`p`,P,`Нет overrides`))]),_:1})])}}};export{F as default}; |