Files
machartaa_admin_dist/dist/assets/index-75a0ca75.js
T

4 lines
23 KiB
JavaScript
Raw Normal View History

2026-08-15 17:53:12 +03:30
import{_ as dt}from"./BasicModal.vue_vue_type_style_index_0_lang-7803828f.js";import{_ as pt}from"./BasicMainCard-29eef376.js";import{_ as _t,u as ee}from"./useBaseTable-e4bbf0da.js";import{_ as ft}from"./button.vue_vue_type_style_index_0_lang-99dfcd06.js";import{I as S}from"./Icon-c9ad16b9.js";import{t as me}from"./useDataTime-5442c624.js";import{u as U}from"./usePrice-bc935b83.js";import{_ as Oe}from"./CustomTag.vue_vue_type_script_setup_true_lang-0f319f83.js";import{L as D,b as t,a_ as mt,G as ne,d as vt,g as y,r as Ie,h as te,v as yt,bE as bt,o as w,c as R,a as d,w as l,e as _,j as f,H as ae,F as fe,t as m,i as L,k as B,n as qe,K as Le,D as x}from"./index-bc4edd51.js";import{c as gt}from"./products-28228bd9.js";import{T as Be}from"./index-627337a8.js";import{B as ht}from"./index-9df7eaa1.js";import{T as j,_ as se}from"./Timeline-e3bccb69.js";import{S as wt}from"./index-d4870df7.js";import{I as xt,b as kt}from"./index-49e2e544.js";import{T as Ct,C as Tt}from"./index-4e41e7b6.js";import{_ as St,F as Pt}from"./index-6d8a75c0.js";import{D as Ot,_ as It}from"./index-d79a436e.js";import{a as qt}from"./index-727535d5.js";import{T as P}from"./isSymbol-f9834f4f.js";import{I as Lt}from"./index-c1545196.js";import"./index-609e9a96.js";import"./DialogWrap-f12e49af.js";import"./shallowequal-cad00b6e.js";import"./omit-6f60253b.js";import"./pickAttrs-1c46cfba.js";import"./_plugin-vue_export-helper-c8347567.js";import"./styleChecker-bc667521.js";import"./FormItemContext-4e017a44.js";import"./Grid-08ee34b6.js";import"./index-7fcb5f91.js";import"./Col-96f7f23f.js";import"./isPlainObject-ed8996b4.js";import"./vnode-f2307909.js";import"./updateLocale-7b0be7e3.js";import"./index-bc659f42.js";import"./useState-47ff4833.js";import"./useMemo-8275a234.js";import"./lodash-3efc1909.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-9775c8a5.js";import"./index-5ea3cefd.js";import"./Badge-627fd6d3.js";import"./isNumeric-3f69e2aa.js";import"./index-34768277.js";import"./index-1d49b36b.js";import"./index-ae018072.js";import"./index-3aafac3f.js";import"./supabaseTableQuery-8ab5665d.js";import"./index-47b6ba8f.js";import"./useRefs-225197bd.js";import"./_flatRest-9adb1e9a.js";import"./isMobile-e2e89480.js";import"./SearchOutlined-4504ec77.js";import"./index-393b875d.js";import"./css-aae66f86.js";import"./toArray-b01cb1f9.js";j.Item=se;j.install=function(o){return o.component(j.name,j),o.component(se.name,se),o};const ve=[{title:"ثبت سفارش"},{title:"در حال آماده‌سازی"},{title:"ارسال شده"},{title:"تحویل داده شده"},{title:"لغو شده"}],Bt=[{value:"home",label:"پرداخت در محل"},{value:"zarinpall",label:"زرین‌پال"}];function Ne(o){if(o.payment_sts===4||o.sts===2)return{label:"پرداخت موفق",color:"#16a34a",bg:"#dcfce7"};if(o.payment_type==="home")return{label:"پرداخت در محل",color:"#2563eb",bg:"#dbeafe"};switch(o.sts){case 1:return{label:"پرداخت نشده",color:"#ca8a04",bg:"#fef9c3"};case 3:return{label:"در انتظار پرداخت",color:"#dc2626",bg:"#fee2e2"};default:return{label:"نامشخص",color:"#6b7280",bg:"#f3f4f6"}}}function le(o="all"){return s=>Nt(s,o)}const Nt=async(o,s="all")=>{const u=await D.post("/order/all",{...o,tab:s});return u!=null&&u.rows&&Array.isArray(u.rows)?u:Array.isArray(u)?{rows:u,query:{...o,total:u.length}}:{rows:[],query:{...o,total:0}}},Rt=async o=>await D.post(`/order/${o}`),Ut=async o=>await D.post("/order/admin/create",o),jt=async(o,s)=>await D.put(`/order/${o}/status`,s),Dt=async()=>{try{return await D.get("/order/status-options")}catch{return ve}};function Et(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!mt(o)}const $t={home:"پرداخت در محل",zarinpall:"زرین‌پال"};function At(o){const s=o==null?void 0:o.user;if(!s)return"—";const u=[s.first_name,s.last_name].filter(Boolean).join(" ");return u||(s.name?s.name:s.phone??"—")}function Ft(o){return{"ثبت سفارش":{color:"#2563eb",bg:"#dbeafe"},"در حال آماده‌سازی":{color:"#7c3aed",bg
`);return await Mt(Re,s),Ue()}function Vt(o){var u;return(((u=o.variant)==null?void 0:u.variant_attribute_values)??[]).map(k=>{var T,I,E,$,A,F,M,z;const C=(I=(T=k.attribute_values)==null?void 0:T.value)==null?void 0:I.trim();if(!C)return"";const O=((A=($=(E=k.attribute_values)==null?void 0:E.attributes)==null?void 0:$.name)==null?void 0:A.trim())||((z=(M=(F=k.attribute_values)==null?void 0:F.attributes)==null?void 0:M.title)==null?void 0:z.trim());return O?`${O}: ${C}`:C}).filter(Boolean)}const Yt={class:"flex justify-between items-center mb-4"},Kt=d("h2",null,"سفارشات",-1),Ht={class:"flex gap-2"},Gt={class:"gap-2 flex justify-center"},Jt=d("span",null,"جزئیات",-1),Qt=d("span",null,"تغییر وضعیت",-1),Wt=d("div",{class:"mb-3 text-sm text-gray-500"}," سفارش‌های پرداخت‌شده که هنوز بررسی نشده‌اند. با تغییر وضعیت، سفارش از این تب خارج می‌شود. ",-1),Xt={class:"gap-2 flex justify-center"},Zt=d("span",null,"جزئیات",-1),ea=d("span",null,"تغییر وضعیت",-1),ta={class:"gap-2 flex justify-center"},aa=d("span",null,"جزئیات",-1),la=d("span",null,"تغییر وضعیت",-1),oa={class:"gap-2 flex justify-center"},na=d("span",null,"جزئیات",-1),sa=d("span",null,"تغییر وضعیت",-1),ia={class:"ltr"},ra={class:"ltr"},ua=d("h3",{class:"font-bold mb-2"},"اقلام سفارش",-1),ca=d("h3",{class:"font-bold mt-4 mb-2"},"تاریخچه وضعیت سفارش",-1),da={class:"font-bold"},pa={class:"text-gray-500 text-sm"},_a=d("div",{class:"text-gray-400 text-xs mt-1"}," وضعیت پرداخت فقط از طریق درگاه زرین‌پال قابل تغییر است. ",-1),fa={class:"col-span-2"},ma={class:"flex justify-between items-center mb-2"},va=d("span",{class:"font-bold"},"محصولات",-1),ya={class:"col-span-2 flex justify-end"},ba=d("div",{class:"text-gray-400 text-xs mt-1"}," با ثبت سفارش جدید با پرداخت موفق، به این شماره‌ها پیامک «سفارش جدید» ارسال می‌شود. پیامک تأیید پرداخت هم برای خود مشتری ارسال می‌شود. ",-1),wl=vt({__name:"index",setup(o){const s=Be,u=Be.TabPane,k=y("all"),[C,O]=ee(),[T,I]=ee(),[E,$]=ee(),[A,F]=ee(),M={columns:oe,api:le("all"),defaultPageLimit:20},z={columns:oe,api:le("new_paid"),defaultPageLimit:20},je={columns:oe,api:le("preparing"),defaultPageLimit:20},De={columns:oe,api:le("shipped"),defaultPageLimit:20},V=y(!1),Y=y(!1),K=y(!1),H=y(!1),ie=y(!1),re=y(!1),ue=y(!1),ce=y(!1),G=y(""),r=y(null),J=y(null),de=y(null),ye=y([]),be=y([]),ge=y(ve),b=Ie({title:"",cancel_reason:"",notify_user:!0}),c=Ie({user_id:void 0,payment_type:"home",status_title:void 0,address:"",note:"",items:[{product_id:void 0,qty:1}]}),Ee=[{title:"محصول",dataIndex:"title",key:"title",customRender:({record:e})=>{var a,i;return e.title??((a=e.product)==null?void 0:a.title_fa)??((i=e.product)==null?void 0:i.title)??"—"}},{title:"تنوع انتخابی",key:"variant_attributes",customRender:({record:e})=>{const a=Vt(e);return a.length?Le("div",{class:"flex flex-wrap gap-1"},a.map((i,p)=>Le("span",{key:p,class:"inline-block px-2 py-0.5 text-xs rounded-full bg-gray-100 text-gray-600"},i))):"—"}},{title:"تعداد",dataIndex:"qty",key:"qty",width:80,align:"center"},{title:"قیمت واحد",dataIndex:"total_price",key:"unit_price",width:120,customRender:({record:e})=>{const a=e.qty||1,i=e.total_price??0;return U(Math.round(i/a),!0,"")}},{title:"جمع",dataIndex:"total_price",key:"total_price",width:120,customRender:({record:e})=>U(e.total_price??0,!0,"")}],he=te(()=>ge.value.map(e=>({value:e.title,label:e.title}))),$e=Bt,Ae=te(()=>ye.value.map(e=>({value:e.id,label:[e.first_name,e.last_name].filter(Boolean).join(" ")||e.name||e.phone||e.id}))),Fe=te(()=>be.value.map(e=>({value:e.id,label:`${e.title_fa??e.title??e.id} — ${U(e.price??0,!0,"")}`}))),Me=te(()=>{var a;return[...((a=r.value)==null?void 0:a.orders_status)??[]].sort((i,p)=>new Date(p.created_at??0).getTime()-new Date(i.created_at??0).g
`)}catch(e){x.error("خطا در دریافت تنظیمات: "+((e==null?void 0:e.message)??""))}}function Pe(){H.value=!1}async function tt(){ce.value=!0;try{const e=G.value.split(/[\n,;]+/).map(a=>a.trim()).filter(Boolean);await zt(e),x.success("تنظیمات پیامک ذخیره شد"),Pe()}catch(e){x.error("خطا در ذخیره تنظیمات: "+((e==null?void 0:e.message)??""))}finally{ce.value=!1}}return yt(async()=>{try{const[e,a,i]=await Promise.all([bt(),gt(),Dt()]);ye.value=e??[],be.value=a??[],i!=null&&i.length&&(ge.value=i)}catch(e){console.error("orders page init error:",e)}}),(e,a)=>{const i=ft,p=_t,at=pt,pe=ht,v=Ot,lt=It,ot=Ct,nt=se,st=j,it=wt,X=dt,rt=xt,h=St,N=qt,Z=kt,ut=Tt,_e=Pt,ct=Lt;return w(),R("div",null,[d("div",Yt,[Kt,d("div",Ht,[t(i,{onClick:et},{default:l(()=>[_("تنظیمات پیامک سفارش")]),_:1}),t(i,{type:"primary",onClick:Qe},{default:l(()=>[_("ثبت سفارش جدید")]),_:1})])]),t(at,null,{default:l(()=>[t(f(s),{activeKey:k.value,"onUpdate:activeKey":a[0]||(a[0]=n=>k.value=n)},{default:l(()=>[t(f(u),{key:"all",tab:"همه سفارشات"},{default:l(()=>[t(p,ae(M,{onRegister:f(C)}),{action:l(({record:n})=>[d("div",Gt,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[Jt]),default:l(()=>[t(S,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(n)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[Qt]),default:l(()=>[t(S,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(u),{key:"new_paid",tab:"پرداخت موفق جدید"},{default:l(()=>[Wt,t(p,ae(z,{onRegister:f(T)}),{action:l(({record:n})=>[d("div",Xt,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[Zt]),default:l(()=>[t(S,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(n)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[ea]),default:l(()=>[t(S,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(u),{key:"preparing",tab:"در حال آماده‌سازی"},{default:l(()=>[t(p,ae(je,{onRegister:f(E)}),{action:l(({record:n})=>[d("div",ta,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[aa]),default:l(()=>[t(S,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(n)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[la]),default:l(()=>[t(S,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(u),{key:"shipped",tab:"ارسال شده"},{default:l(()=>[t(p,ae(De,{onRegister:f(A)}),{action:l(({record:n})=>[d("div",oa,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[na]),default:l(()=>[t(S,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(n)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[sa]),default:l(()=>[t(S,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1})]),_:1},8,["activeKey"])]),_:1}),t(X,{visible:V.value,"onUpdate:visible":a[1]||(a[1]=n=>V.value=n),title:"جزئیات سفارش","custom-footer":"",width:"85%",onClose:ke},{footer:l(()=>[t(pe,{onClick:ke},{default:l(()=>[_("بستن")]),_:1})]),default:l(()=>[t(it,{spinning:ie.value},{default:l(()=>[r.value?(w(),R(fe,{key:0},[t(lt,{bordered:"",column:2,size:"small",class:"mb-4"},{default:l(()=>{var n,g;return[t(v,{label:"کد سفارش"},{default:l(()=>[_(m(r.value.id),1)]),_:1}),t(v,{label:"مشتری"},{default:l(()=>[_(m(ze(r.value)),1)]),_:1}),t(v,{label:"تلفن"},{default:l(()=>{var q;return[_(m(((q=r.value.user)==null?void 0:q.phone)??"—"),1)]}),_:1}),t(v,{label:"تاریخ ثبت"},{default:l(()=>[_(m(r.value.created_at?f(me)(r.value.created_at):"—"),1)]),_:1}),t(v,{label:"نوع پرداخت"},{default:l(()=>[_(m(Ve(r.value.payment_type)),1)]),_:1}),t(v,{label:"وضعیت پرداخت"},{default:l(()=>[_(m(we(r.value)),1)]),_:1}),r.value.payment_type==="zarinpall"&&r.value