4 lines
22 KiB
JavaScript
4 lines
22 KiB
JavaScript
import{_ as ct}from"./BasicModal.vue_vue_type_style_index_0_lang-24a8261d.js";import{_ as dt}from"./BasicMainCard-3d648ab2.js";import{_ as _t,u as X}from"./useBaseTable-bc56de40.js";import{_ as pt,B as ft}from"./button.vue_vue_type_style_index_0_lang-269c10bc.js";import{I as T}from"./Icon-5ac7beab.js";import{t as pe}from"./useDataTime-019cb3de.js";import{u as L}from"./usePrice-bc935b83.js";import{_ as Pe}from"./CustomTag.vue_vue_type_script_setup_true_lang-9af6a63d.js";import{N as $,b as t,Z as mt,I as ne,d as vt,g as y,r as Oe,h as ee,v as yt,$ as bt,o as w,c as N,a as d,w as l,e as _,j as f,G as te,F as _e,t as m,i as R,k as B,n as Ie,a0 as qe,D as x}from"./index-04b55c40.js";import{c as gt}from"./products-f11cc3d1.js";import{T as Re}from"./index-33f9e9e9.js";import{D as ht,_ as wt,T as xt,a as kt}from"./index-2215c9b9.js";import{S as Ct}from"./index-2eb63a34.js";import{I as St,_ as Tt}from"./index-29f614ac.js";import{b as Pt,C as Ot}from"./index-e7b6e87e.js";import{_ as It,F as qt}from"./index-eba6ba57.js";import{S as Rt}from"./fa_IR-c20f3d35.js";import{T as P}from"./shallowequal-a10dc291.js";import{_ as Bt}from"./index-130b526e.js";import"./index-17a7fb53.js";import"./Col-2c8be909.js";import"./vnode-eb3fa2ea.js";import"./_plugin-vue_export-helper-d788f94f.js";import"./pickAttrs-09c7999b.js";import"./FormItemContext-b8bdc53c.js";import"./index-8ea69df4.js";import"./index-dc39c1d3.js";import"./isPlainObject-3ea83e08.js";import"./useState-5006a98d.js";import"./lodash-dbb8cc00.js";import"./useRefs-69caa28d.js";import"./toArray-20a77219.js";const fe=[{title:"ثبت سفارش"},{title:"در حال آمادهسازی"},{title:"ارسال شده"},{title:"تحویل داده شده"},{title:"لغو شده"}],Lt=[{value:"home",label:"پرداخت در محل"},{value:"zarinpall",label:"زرینپال"}];function Be(n){if(n.payment_sts===4||n.sts===2)return{label:"پرداخت موفق",color:"#16a34a",bg:"#dcfce7"};if(n.payment_type==="home")return{label:"پرداخت در محل",color:"#2563eb",bg:"#dbeafe"};switch(n.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 ae(n="all"){return s=>Ut(s,n)}const Ut=async(n,s="all")=>{const r=await $.post("/order/all",{...n,tab:s});return r!=null&&r.rows&&Array.isArray(r.rows)?r:Array.isArray(r)?{rows:r,query:{...n,total:r.length}}:{rows:[],query:{...n,total:0}}},Nt=async n=>await $.post(`/order/${n}`),$t=async n=>await $.post("/order/admin/create",n),jt=async(n,s)=>await $.put(`/order/${n}/status`,s),Dt=async()=>{try{return await $.get("/order/status-options")}catch{return fe}};function Et(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!mt(n)}const Le={home:"پرداخت در محل",zarinpall:"زرینپال"};function At(n){const s=n==null?void 0:n.user;if(!s)return"—";const r=[s.first_name,s.last_name].filter(Boolean).join(" ");return r||(s.name?s.name:s.phone??"—")}function Mt(n){return{"ثبت سفارش":{color:"#2563eb",bg:"#dbeafe"},"در حال آمادهسازی":{color:"#7c3aed",bg:"#ede9fe"},"ارسال شده":{color:"#2563eb",bg:"#dbeafe"},"تحویل داده شده":{color:"#059669",bg:"#d1fae5"},"لغو شده":{color:"#6b7280",bg:"#f3f4f6"}}[n]??{color:"#374151",bg:"#f3f4f6"}}const le=[{title:"ردیف",dataIndex:"id",key:"row_index",filterable:!1,width:60,align:"center",customRender:n=>n.index+1},{title:"کد سفارش",dataIndex:"id",key:"id",width:90,align:"center"},{title:"مشتری",dataIndex:"user_id",key:"user_id",width:140,customRender:n=>At(n.record)},{title:"تعداد اقلام",dataIndex:"total_qty",key:"total_qty",width:90,align:"center",customRender:n=>{var s;return n.record.total_qty??((s=n.record.order_items)==null?void 0:s.length)??0}},{title:"مبلغ کل",dataIndex:"total_price",key:"total_price",width:120,align:"center",customRender:n=>L(n.record.discount_total_price??n.record.total_price??0,!0,"")},{t
|
|||
|
|
`);return await Ft(Ue,s),Ne()}function Vt(n){var r;return(((r=n.variant)==null?void 0:r.variant_attribute_values)??[]).map(k=>{var S,I,j,D,E,A,M,F;const C=(I=(S=k.attribute_values)==null?void 0:S.value)==null?void 0:I.trim();if(!C)return"";const O=((E=(D=(j=k.attribute_values)==null?void 0:j.attributes)==null?void 0:D.name)==null?void 0:E.trim())||((F=(M=(A=k.attribute_values)==null?void 0:A.attributes)==null?void 0:M.title)==null?void 0:F.trim());return O?`${O}: ${C}`:C}).filter(Boolean)}const Yt={class:"flex justify-between items-center mb-4"},Kt=d("h2",null,"سفارشات",-1),Gt={class:"flex gap-2"},Ht={class:"gap-2 flex justify-center"},Jt=d("span",null,"جزئیات",-1),Zt=d("span",null,"تغییر وضعیت",-1),Qt=d("div",{class:"mb-3 text-sm text-gray-500"}," سفارشهای پرداختشده که هنوز بررسی نشدهاند. با تغییر وضعیت، سفارش از این تب خارج میشود. ",-1),Wt={class:"gap-2 flex justify-center"},Xt=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),na={class:"gap-2 flex justify-center"},oa=d("span",null,"جزئیات",-1),sa=d("span",null,"تغییر وضعیت",-1),ia={class:"ltr"},ra=d("h3",{class:"font-bold mb-2"},"اقلام سفارش",-1),ua=d("h3",{class:"font-bold mt-4 mb-2"},"تاریخچه وضعیت سفارش",-1),ca={class:"font-bold"},da={class:"text-gray-500 text-sm"},_a=d("div",{class:"text-gray-400 text-xs mt-1"}," وضعیت پرداخت فقط از طریق درگاه زرینپال قابل تغییر است. ",-1),pa={class:"col-span-2"},fa={class:"flex justify-between items-center mb-2"},ma=d("span",{class:"font-bold"},"محصولات",-1),va={class:"col-span-2 flex justify-end"},ya=d("div",{class:"text-gray-400 text-xs mt-1"}," با ثبت سفارش جدید با پرداخت موفق، به این شمارهها پیامک «سفارش جدید» ارسال میشود. پیامک تأیید پرداخت هم برای خود مشتری ارسال میشود. ",-1),Za=vt({__name:"index",setup(n){const s=Re,r=Re.TabPane,k=y("all"),[C,O]=X(),[S,I]=X(),[j,D]=X(),[E,A]=X(),M={columns:le,api:ae("all"),defaultPageLimit:20},F={columns:le,api:ae("new_paid"),defaultPageLimit:20},$e={columns:le,api:ae("preparing"),defaultPageLimit:20},je={columns:le,api:ae("shipped"),defaultPageLimit:20},z=y(!1),V=y(!1),Y=y(!1),K=y(!1),oe=y(!1),se=y(!1),ie=y(!1),re=y(!1),G=y(""),u=y(null),H=y(null),ue=y(null),me=y([]),ve=y([]),ye=y(fe),b=Oe({title:"",cancel_reason:"",notify_user:!0}),c=Oe({user_id:void 0,payment_type:"home",status_title:void 0,address:"",note:"",items:[{product_id:void 0,qty:1}]}),De=[{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?qe("div",{class:"flex flex-wrap gap-1"},a.map((i,p)=>qe("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 L(Math.round(i/a),!0,"")}},{title:"جمع",dataIndex:"total_price",key:"total_price",width:120,customRender:({record:e})=>L(e.total_price??0,!0,"")}],be=ee(()=>ye.value.map(e=>({value:e.title,label:e.title}))),Ee=Lt,Ae=ee(()=>me.value.map(e=>({value:e.id,label:[e.first_name,e.last_name].filter(Boolean).join(" ")||e.name||e.phone||e.id}))),Me=ee(()=>ve.value.map(e=>({value:e.id,label:`${e.title_fa??e.title??e.id} — ${L(e.price??0,!0,"")}`}))),Fe=ee(()=>{var a;return[...((a=u.value)==null?void 0:a.orders_status)??[]].sort((i,p)=>new Date(p.created_at??0).getTime()-new Date(i.created_at??0).getTime())});function
|
||
|
|
`)}catch(e){x.error("خطا در دریافت تنظیمات: "+((e==null?void 0:e.message)??""))}}function Te(){K.value=!1}async function et(){re.value=!0;try{const e=G.value.split(/[\n,;]+/).map(a=>a.trim()).filter(Boolean);await zt(e),x.success("تنظیمات پیامک ذخیره شد"),Te()}catch(e){x.error("خطا در ذخیره تنظیمات: "+((e==null?void 0:e.message)??""))}finally{re.value=!1}}return yt(async()=>{try{const[e,a,i]=await Promise.all([bt(),gt(),Dt()]);me.value=e??[],ve.value=a??[],i!=null&&i.length&&(ye.value=i)}catch(e){console.error("orders page init error:",e)}}),(e,a)=>{const i=pt,p=_t,tt=dt,ce=ft,v=ht,at=wt,lt=Pt,nt=kt,ot=xt,st=Ct,Q=ct,it=St,h=It,U=Rt,W=Tt,rt=Ot,de=qt,ut=Bt;return w(),N("div",null,[d("div",Yt,[Kt,d("div",Gt,[t(i,{onClick:Xe},{default:l(()=>[_("تنظیمات پیامک سفارش")]),_:1}),t(i,{type:"primary",onClick:Je},{default:l(()=>[_("ثبت سفارش جدید")]),_:1})])]),t(tt,null,{default:l(()=>[t(f(s),{activeKey:k.value,"onUpdate:activeKey":a[0]||(a[0]=o=>k.value=o)},{default:l(()=>[t(f(r),{key:"all",tab:"همه سفارشات"},{default:l(()=>[t(p,te(M,{onRegister:f(C)}),{action:l(({record:o})=>[d("div",Ht,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[Jt]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>J(o)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[Zt]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>Z(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(r),{key:"new_paid",tab:"پرداخت موفق جدید"},{default:l(()=>[Qt,t(p,te(F,{onRegister:f(S)}),{action:l(({record:o})=>[d("div",Wt,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[Xt]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>J(o)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[ea]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>Z(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(r),{key:"preparing",tab:"در حال آمادهسازی"},{default:l(()=>[t(p,te($e,{onRegister:f(j)}),{action:l(({record:o})=>[d("div",ta,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[aa]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>J(o)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[la]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>Z(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(r),{key:"shipped",tab:"ارسال شده"},{default:l(()=>[t(p,te(je,{onRegister:f(E)}),{action:l(({record:o})=>[d("div",na,[t(f(P),{class:"cursor-pointer"},{title:l(()=>[oa]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>J(o)},null,8,["onClick"])]),_:2},1024),t(f(P),{class:"cursor-pointer"},{title:l(()=>[sa]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>Z(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1})]),_:1},8,["activeKey"])]),_:1}),t(Q,{visible:z.value,"onUpdate:visible":a[1]||(a[1]=o=>z.value=o),title:"جزئیات سفارش","custom-footer":"",width:"85%",onClose:xe},{footer:l(()=>[t(ce,{onClick:xe},{default:l(()=>[_("بستن")]),_:1})]),default:l(()=>[t(st,{spinning:oe.value},{default:l(()=>[u.value?(w(),N(_e,{key:0},[t(at,{bordered:"",column:2,size:"small",class:"mb-4"},{default:l(()=>{var o,g;return[t(v,{label:"کد سفارش"},{default:l(()=>[_(m(u.value.id),1)]),_:1}),t(v,{label:"مشتری"},{default:l(()=>[_(m(ze(u.value)),1)]),_:1}),t(v,{label:"تلفن"},{default:l(()=>{var q;return[_(m(((q=u.value.user)==null?void 0:q.phone)??"—"),1)]}),_:1}),t(v,{label:"تاریخ ثبت"},{default:l(()=>[_(m(u.value.created_at?f(pe)(u.value.created_at):"—"),1)]),_:1}),t(v,{label:"نوع پرداخت"},{default:l(()=>[_(m(Ve(u.value.payment_type)),1)]),_:1}),t(v,{label:"وضعیت پرداخت"},{default:l(()=>[_(m(ge(u.value)),1)]),_:1}),he(u.value)?(w(),R(v,{key:0,label:"شما�
|