4 lines
23 KiB
JavaScript
4 lines
23 KiB
JavaScript
import{_ as dt}from"./BasicModal.vue_vue_type_style_index_0_lang-f76fec1b.js";import{_ as pt}from"./BasicMainCard-e8fae2e0.js";import{_ as _t,u as ee}from"./useBaseTable-45427402.js";import{_ as ft}from"./button.vue_vue_type_style_index_0_lang-e7cef717.js";import{I as T}from"./Icon-b8613529.js";import{t as fe}from"./useDataTime-7db5a46b.js";import{u as L}from"./usePrice-bc935b83.js";import{_ as Pe}from"./CustomTag.vue_vue_type_script_setup_true_lang-ae242498.js";import{R as U,e as t,b6 as mt,O as Le,J as vt,I as yt,d as bt,i as y,h as Ie,j as te,x as gt,bK as ht,o as w,c as q,b as d,w as l,f as _,l as f,L as ae,F as _e,t as m,k as I,n as S,q as Se,N as Re,H as k}from"./index-166b4ef1.js";import{c as xt}from"./products-304c57a8.js";import{T as qe}from"./index-366f722a.js";import{B as wt}from"./index-08810a1f.js";import{T as N,_ as oe}from"./Timeline-9e4d859f.js";import{S as kt}from"./index-de862045.js";import{I as Ct,b as Tt}from"./index-7005b758.js";import{T as Ot,C as Pt}from"./index-1465c5c8.js";import{_ as It,F as St}from"./index-f98d2511.js";import{D as Rt,_ as qt}from"./index-74d7afeb.js";import{_ as Lt}from"./index-3ad11dd3.js";import{T as O}from"./isSymbol-c953ccc2.js";import{I as Nt}from"./index-c9d85039.js";import"./index-58b86fb2.js";import"./DialogWrap-88ddfe3e.js";import"./shallowequal-78a96afc.js";import"./omit-55909a9d.js";import"./pickAttrs-5cd7ef1f.js";import"./_plugin-vue_export-helper-e5be29c6.js";import"./styleChecker-2eddf97d.js";import"./FormItemContext-0e89b3aa.js";import"./Grid-47180f92.js";import"./index-b6f0378e.js";import"./Col-6dc2da7a.js";import"./isPlainObject-ed4c9976.js";import"./vnode-c85f1a09.js";import"./updateLocale-6eb93789.js";import"./useState-43a565ec.js";import"./useMemo-99a24173.js";import"./lodash-593efeb6.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-6e462f47.js";import"./index-8bcb6210.js";import"./Badge-a3c7a3a7.js";import"./isNumeric-3f69e2aa.js";import"./index-ad625a72.js";import"./index-011e0893.js";import"./index-991e4e35.js";import"./supabaseTableQuery-41e25409.js";import"./index-7f046693.js";import"./useRefs-ca4d56b6.js";import"./_flatRest-ae97161b.js";import"./isMobile-e2e89480.js";import"./SearchOutlined-3d6399d7.js";import"./index-75be736e.js";import"./css-aae66f86.js";import"./toArray-cf38ce67.js";N.Item=oe;N.install=function(n){return n.component(N.name,N),n.component(oe.name,oe),n};const me=[{title:"ثبت سفارش"},{title:"در حال آمادهسازی"},{title:"ارسال شده"},{title:"تحویل داده شده"},{title:"لغو شده"}],Ut=[{value:"home",label:"پرداخت در محل"},{value:"zarinpall",label:"زرینپال"}];function Ne(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 le(n="all"){return s=>Bt(s,n)}const Bt=async(n,s="all")=>{const u=await U.post("/order/all",{...n,tab:s});return u!=null&&u.rows&&Array.isArray(u.rows)?u:Array.isArray(u)?{rows:u,query:{...n,total:u.length}}:{rows:[],query:{...n,total:0}}},jt=async n=>await U.post(`/order/${n}`),$t=async n=>await U.post("/order/admin/create",n),Dt=async(n,s)=>await U.put(`/order/${n}/status`,s),At=async()=>{try{return await U.get("/order/status-options")}catch{return me}};function Et(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!mt(n)}const Ft={home:"پرداخت در محل",zarinpall:"زرینپال"};function Mt(n){const s=n==null?void 0:n.user;if(!s)return"—";const u=[s.first_name,s.last_name].filter(Boolean).join(" ");return u||(s.name?s.name:s.phone??"—")}function zt(n){return{"ثبت سفارش":{color:"#2563eb",bg:"#dbeafe"},"در حال آمادهسازی":{color:"#7c3aed",bg:"#ede9fe"},"ارسال شده":{color:"
|
||||
|
|
`);return await Vt(Ue,s),Be()}function Kt(n){var u;return(((u=n.variant)==null?void 0:u.variant_attribute_values)??[]).map(h=>{var j,$,D,A,E,F,M,z;const C=($=(j=h.attribute_values)==null?void 0:j.value)==null?void 0:$.trim();if(!C)return"";const B=((E=(A=(D=h.attribute_values)==null?void 0:D.attributes)==null?void 0:A.name)==null?void 0:E.trim())||((z=(M=(F=h.attribute_values)==null?void 0:F.attributes)==null?void 0:M.title)==null?void 0:z.trim());return B?`${B}: ${C}`:C}).filter(Boolean)}const Ht={class:"flex justify-between items-center mb-4"},Jt=d("h2",null,"سفارشات",-1),Gt={class:"flex gap-2"},Qt={class:"gap-2 flex justify-center"},Wt=d("span",null,"جزئیات",-1),Xt=d("span",null,"تغییر وضعیت",-1),Zt=d("div",{class:"mb-3 text-sm text-gray-500"}," سفارشهای پرداختشده که هنوز بررسی نشدهاند. با تغییر وضعیت، سفارش از این تب خارج میشود. ",-1),ea={class:"gap-2 flex justify-center"},ta=d("span",null,"جزئیات",-1),aa=d("span",null,"تغییر وضعیت",-1),la={class:"gap-2 flex justify-center"},na=d("span",null,"جزئیات",-1),oa=d("span",null,"تغییر وضعیت",-1),sa={class:"gap-2 flex justify-center"},ia=d("span",null,"جزئیات",-1),ra=d("span",null,"تغییر وضعیت",-1),ua={class:"ltr"},ca={class:"ltr"},da=d("h3",{class:"font-bold mb-2"},"اقلام سفارش",-1),pa=d("h3",{class:"font-bold mt-4 mb-2"},"تاریخچه وضعیت سفارش",-1),_a={class:"font-bold"},fa={class:"text-gray-500 text-sm"},ma=d("div",{class:"text-gray-400 text-xs mt-1"}," وضعیت پرداخت فقط از طریق درگاه زرینپال قابل تغییر است. ",-1),va={class:"col-span-2"},ya={class:"flex justify-between items-center mb-2"},ba=d("span",{class:"font-bold"},"محصولات",-1),ga={class:"col-span-2 flex justify-end"},ha=d("div",{class:"text-gray-400 text-xs mt-1"}," با ثبت سفارش جدید با پرداخت موفق، به این شمارهها پیامک «سفارش جدید» ارسال میشود. پیامک تأیید پرداخت هم برای خود مشتری ارسال میشود. ",-1),xl=bt({__name:"index",setup(n){const s=qe,u=qe.TabPane,h=y("all"),[C,B]=ee(),[j,$]=ee(),[D,A]=ee(),[E,F]=ee(),M={columns:ne,api:le("all"),defaultPageLimit:20},z={columns:ne,api:le("new_paid"),defaultPageLimit:20},je={columns:ne,api:le("preparing"),defaultPageLimit:20},$e={columns:ne,api:le("shipped"),defaultPageLimit:20},V=y(!1),Y=y(!1),K=y(!1),H=y(!1),se=y(!1),ie=y(!1),re=y(!1),ue=y(!1),J=y(""),r=y(null),G=y(null),ce=y(null),ve=y([]),ye=y([]),be=y(me),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}]}),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=Kt(e);return a.length?Re("div",{class:"flex flex-wrap gap-1"},a.map((i,p)=>Re("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,"")}],ge=te(()=>be.value.map(e=>({value:e.title,label:e.title}))),Ae=Ut,Ee=te(()=>ve.value.map(e=>({value:e.id,label:[e.first_name,e.last_name].filter(Boolean).join(" ")||e.name||e.phone||e.id}))),Fe=te(()=>ye.value.map(e=>({value:e.id,label:`${e.title_fa??e.title??e.id} — ${L(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){k.error("خطا در دریافت تنظیمات: "+((e==null?void 0:e.message)??""))}}function Oe(){H.value=!1}async function tt(){ue.value=!0;try{const e=J.value.split(/[\n,;]+/).map(a=>a.trim()).filter(Boolean);await Yt(e),k.success("تنظیمات پیامک ذخیره شد"),Oe()}catch(e){k.error("خطا در ذخیره تنظیمات: "+((e==null?void 0:e.message)??""))}finally{ue.value=!1}}return gt(async()=>{try{const[e,a,i]=await Promise.all([ht(),xt(),At()]);ve.value=e??[],ye.value=a??[],i!=null&&i.length&&(be.value=i)}catch(e){console.error("orders page init error:",e)}}),(e,a)=>{const i=ft,p=_t,at=pt,de=wt,v=Rt,lt=qt,nt=Ot,ot=oe,st=N,it=kt,X=dt,rt=Ct,x=It,R=Lt,Z=Tt,ut=Pt,pe=St,ct=Nt;return w(),q("div",null,[d("div",Ht,[Jt,d("div",Gt,[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:h.value,"onUpdate:activeKey":a[0]||(a[0]=o=>h.value=o)},{default:l(()=>[t(f(u),{key:"all",tab:"همه سفارشات"},{default:l(()=>[t(p,ae(M,{onRegister:f(C)}),{action:l(({record:o})=>[d("div",Qt,[t(f(O),{class:"cursor-pointer"},{title:l(()=>[Wt]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(o)},null,8,["onClick"])]),_:2},1024),t(f(O),{class:"cursor-pointer"},{title:l(()=>[Xt]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(u),{key:"new_paid",tab:"پرداخت موفق جدید"},{default:l(()=>[Zt,t(p,ae(z,{onRegister:f(j)}),{action:l(({record:o})=>[d("div",ea,[t(f(O),{class:"cursor-pointer"},{title:l(()=>[ta]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(o)},null,8,["onClick"])]),_:2},1024),t(f(O),{class:"cursor-pointer"},{title:l(()=>[aa]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(u),{key:"preparing",tab:"در حال آمادهسازی"},{default:l(()=>[t(p,ae(je,{onRegister:f(D)}),{action:l(({record:o})=>[d("div",la,[t(f(O),{class:"cursor-pointer"},{title:l(()=>[na]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(o)},null,8,["onClick"])]),_:2},1024),t(f(O),{class:"cursor-pointer"},{title:l(()=>[oa]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1}),t(f(u),{key:"shipped",tab:"ارسال شده"},{default:l(()=>[t(p,ae($e,{onRegister:f(E)}),{action:l(({record:o})=>[d("div",sa,[t(f(O),{class:"cursor-pointer"},{title:l(()=>[ia]),default:l(()=>[t(T,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:g=>Q(o)},null,8,["onClick"])]),_:2},1024),t(f(O),{class:"cursor-pointer"},{title:l(()=>[ra]),default:l(()=>[t(T,{icon:"vuesax-linear:refresh-circle",color:"#059669",onClick:g=>W(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"])]),_:1})]),_:1},8,["activeKey"])]),_:1}),t(X,{visible:V.value,"onUpdate:visible":a[1]||(a[1]=o=>V.value=o),title:"جزئیات سفارش","custom-footer":"",width:"85%",onClose:we},{footer:l(()=>[t(de,{onClick:we},{default:l(()=>[_("بستن")]),_:1})]),default:l(()=>[t(it,{spinning:se.value},{default:l(()=>[r.value?(w(),q(_e,{key:0},[t(lt,{bordered:"",column:2,size:"small",class:"mb-4"},{default:l(()=>{var o,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 P;return[_(m(((P=r.value.user)==null?void 0:P.phone)??"—"),1)]}),_:1}),t(v,{label:"تاریخ ثبت"},{default:l(()=>[_(m(r.value.created_at?f(fe)(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(he(r.value)),1)]),_:1}),r.value.payment_type==="zarinpall"&&r.value
|