2 lines
19 KiB
JavaScript
2 lines
19 KiB
JavaScript
import{_ as xe}from"./BasicMainCard-0a3c966a.js";import{_ as ge}from"./BasicModal.vue_vue_type_style_index_0_lang-b6c04ed1.js";import{_ as be}from"./BasicTextArea.vue_vue_type_style_index_0_lang-e48f6249.js";import{a as ee,_ as ye,u as G}from"./useBaseTable-f0604f98.js";import{_ as te}from"./BasicInput.vue_vue_type_style_index_0_lang-5e5b83f8.js";import{_ as ae}from"./button.vue_vue_type_style_index_0_lang-9ce24083.js";import{_ as he,I as R,d as ne,g as I,h as $,x as we,D as f,o as P,c as S,F as Ie,a as t,b as o,t as D,q as ke,w as b,e as Z,j as h,G as V,k as X,H as Ae}from"./index-108817e3.js";import{t as F}from"./useDataTime-0f06f32d.js";import{I as B}from"./Icon-03d9588d.js";import{g as Le}from"./index-0f0e7a01.js";import{e as Y,g as J}from"./convert-67c23be8.js";import{T as W}from"./index-d1557459.js";import{M as Re}from"./index-0d047161.js";import{S as Ce}from"./index-f0ba03aa.js";import{T as q}from"./shallowequal-105194c4.js";import{U as Pe}from"./index-7f62fea2.js";import"./_plugin-vue_export-helper-ec62f026.js";import"./index-60d145d7.js";import"./Col-b2cbfe37.js";import"./vnode-9b8abbbf.js";import"./isPlainObject-a22b8354.js";import"./index-707b194d.js";import"./FormItemContext-cecaca7f.js";import"./index-802c3c8f.js";import"./toArray-a421612c.js";import"./pickAttrs-f899bdd0.js";import"./useState-472505a2.js";import"./index-7c9c2b70.js";import"./usePrice-7afab779.js";import"./useRefs-eb5e3b2f.js";import"./index-4f951158.js";function se(e,i){return Math.max(0,Math.round(e*(1-(i||0)/100)))}async function Se(e){const{TableEngineRequest:i}=await he(()=>import("./buildSupabaseQuery-03e3555e.js"),["assets/buildSupabaseQuery-03e3555e.js","assets/index-108817e3.js","assets/index-6f54f748.css"]),l={...e};!l.sort&&!l.order&&(l.order="-sort_order");const a=await i(l,"subscription_plans");if(Array.isArray(a==null?void 0:a.rows)){const p=a.rows.map((g,m)=>({...g,index:m,final_price:se(Number(g.price),Number(g.discount_percent||0))}));return{...a,rows:p}}return a}async function Ne(e){const{limit:i=20,page:l=1,search:a}=e,{data:p,error:g}=await R.from("subscription_purchases").select("*, users(name, phone, first_name, last_name)",{count:"exact"}).order("created_at",{ascending:!1});if(g)throw g;let m=(p||[]).map((u,_)=>{const c=Array.isArray(u.users)?u.users[0]:u.users;let k="نامشخص";return c!=null&&c.name?k=c.name:c!=null&&c.first_name||c!=null&&c.last_name?k=`${c.first_name||""} ${c.last_name||""}`.trim():c!=null&&c.phone&&(k=c.phone),{...u,index:_,user_name:k,user_phone:(c==null?void 0:c.phone)||""}});if(a){const u=String(a).toLowerCase();m=m.filter(_=>(_.plan_title||"").toLowerCase().includes(u)||(_.user_name||"").toLowerCase().includes(u)||(_.user_phone||"").toLowerCase().includes(u)||(_.payment_status||"").toLowerCase().includes(u))}const w=(l-1)*i;return{rows:m.slice(w,w+i).map((u,_)=>({...u,index:w+_})),total:m.length,query:{...e,total:m.length,page:l,limit:i}}}async function Te(e){const{data:i,error:l}=await R.from("subscription_plans").insert([{title:e.title,description:e.description||null,image_url:e.image_url,price:e.price,discount_percent:e.discount_percent??0,duration_days:e.duration_days,is_active:e.is_active??!0,sort_order:e.sort_order??0}]).select().single();if(l)throw l;return i}async function ze(e,i){const{data:l,error:a}=await R.from("subscription_plans").update({title:i.title,description:i.description||null,image_url:i.image_url,price:i.price,discount_percent:i.discount_percent??0,duration_days:i.duration_days,is_active:i.is_active??!0,sort_order:i.sort_order??0,updated_at:new Date().toISOString()}).eq("id",e).select();if(a)throw a;return l}async function Be(e){const{error:i}=await R.from("subscription_plans").delete().eq("id",e);if(i)throw i}async function Ue(e,i){const{data:l,error:a}=await R.from("subscription_plans").update({is_active:i,updated_at:new Date().toISOString()}).eq("id",e).select();if(a)throw a;return l}function Q(e){return Number(e||0).toLocaleString("fa-IR")}const $e=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:e=>(e.record.index??0)+
|