2026-06-03 19:51:45 +03:30
|
|
|
import{_ as xe}from"./BasicMainCard-8123d7a5.js";import{_ as ge}from"./BasicModal.vue_vue_type_style_index_0_lang-078ddd77.js";import{_ as be}from"./BasicTextArea.vue_vue_type_style_index_0_lang-856c5942.js";import{a as ee,_ as ye,u as G}from"./useBaseTable-e905173e.js";import{_ as te}from"./BasicInput.vue_vue_type_style_index_0_lang-f3e17581.js";import{_ as ae}from"./button.vue_vue_type_style_index_0_lang-147050b5.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-c6a4e685.js";import{t as F}from"./useDataTime-2f3b2841.js";import{I as B}from"./Icon-e19b6c6c.js";import{g as Le}from"./index-48b33845.js";import{e as Y,g as J}from"./convert-67c23be8.js";import{T as W}from"./index-b6b0f56b.js";import{M as Re}from"./index-334d46a3.js";import{S as Ce}from"./index-d3f71215.js";import{T as q}from"./shallowequal-ee0267e4.js";import{U as Pe}from"./index-cb3f2111.js";import"./_plugin-vue_export-helper-58b6e008.js";import"./index-252f8dad.js";import"./Col-8b3564ce.js";import"./vnode-977fe706.js";import"./isPlainObject-a663ca44.js";import"./index-4608391b.js";import"./FormItemContext-6df15dff.js";import"./index-03a51284.js";import"./toArray-5f8c3051.js";import"./pickAttrs-e8130b6d.js";import"./useState-08abbf84.js";import"./index-633a27e5.js";import"./usePrice-7afab779.js";import"./useRefs-63b38e0f.js";import"./index-e3fdf3f3.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-6e0d527d.js"),["assets/buildSupabaseQuery-6e0d527d.js","assets/index-c6a4e685.js","assets/index-2e613fc8.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)+
|