Dokploy Path /admin on the customer app host needs Vite base /admin/ so index.html loads /admin/assets instead of user-app root. Co-authored-by: Cursor <cursoragent@cursor.com>
2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
import{Y as ht,y as P,d as bt,v as xt,u as wt,x as kt,a as S,w as i,i as M,m as T,r as p,o as d,c as s,h as k,f as b,Z as It,b as x,e as V,F as I,p as z,$ as Ct,t as w,E as qt,W as Ut,H as St,z as Q,s as j,G as B,l as Nt,_ as Ot}from"./index-14X_GLy7.js";import{o as zt}from"./select--BgT6D7O.js";import{X as Pt}from"./model-Bw8Q9ret.js";import{b as $t}from"./productListModel-D-tZjCIA.js";import{u as Tt}from"./auth-S9XdC4Hp.js";import"./filters-BP2cHlAV.js";import"./index-vKqDfIcq.js";import"./SettingOutlined-Cg5ARxeX.js";const X="admin_cart_items",Vt=ht("cart",{state:()=>({items:[]}),actions:{addToCart(o){const g=this.items.findIndex(v=>v.pid==o.pid&&v.vid==o.vid),c=o.product.variants_all.filter(v=>v.id===o.vid)[0];c&&!(!c.is_pre_order&&c.qty===0)&&(g==-1?this.items.push(o):(this.items[g].product=o.product,this.items[g].qty=o.qty))},setItems(o){this.items=o,localStorage.setItem(X,JSON.stringify(o))},add(o){this.addToCart(o),this.setItems(this.items)},remove(o){const g=this.items.findIndex(c=>c.pid==o.pid&&c.vid==o.vid);g>-1&&this.items.splice(g,1),this.setItems(this.items)},updateItemQuantity(o){this.items[o.index].qty=o.quantity,this.setItems(this.items)},clear(){this.items=[],this.setItems(this.items)},async init(){try{const o=JSON.parse(localStorage.getItem(X)??"[]")||[],g=o.map(v=>v.product.id);if(g.length===0){this.setItems([]);return}const{data:c}=await P.post("product/variant",{products_id:g});if(c){const v=[];for(const N of o){const u=c.find(E=>E.id==N.product.id);u&&(!u.variants_all[0].is_pre_order&&u.variants_all[0].qty===0||v.push({vid:N.vid,pid:u.id,product:u,qty:N.qty,promotion_id:u.promotion&&u.promotion.id?u.promotion.id:null}))}this.setItems(v)}}catch(o){console.log("error in cart",o)}}}}),Bt=["src"],Et={key:1,class:"flex items-center"},Lt=["src"],Rt={key:4,class:"flex"},Mt={style:{width:"max-content"}},Qt={class:"grid-5"},jt={class:"totals"},H="/img/no-items.png",Ft=bt({__name:"create",setup(o){const g=Nt(),c=xt(),v=wt(),N=Tt(),u=Vt(),E=e=>!!v.hasPermission(e),K=$t(v.isSuperAdmin),Y=T(null),O=T(!1),F=T([]),W=T({}),Z={1:"ثبت سفارش",2:"تایید مدیر سیستم",3:"در حال تامین",4:"در حال آماده سازی",5:"ارسال",6:"تحویل مشتری"},n=Q({customer_id:void 0,sts:void 0,type:void 0,note:"",shipping_address:{reciver_fname:"",reciver_lname:"",province:"",city:"",zipcode:"",reciver_phone:"",reciver_fixed_phone:"",address:""}}),_=Q({}),tt=j(()=>{var e;return(e=N.user)==null?void 0:e.id}),y=j(()=>u.items),et=[{title:"حذف",dataIndex:"delete",width:60,align:"center"},{title:"کد محصول",dataIndex:"pid",align:"center",width:90},{title:"محصول",dataIndex:"product"},{title:"اجرت",dataIndex:"wage",align:"center"},{title:"تعداد",dataIndex:"qty",align:"center",width:140},{title:"وزن",dataIndex:"weight",align:"center",width:90},{title:"مجموع",dataIndex:"total",align:"center"}],m=Q({});function C(e){return e.product.variants_all.find(t=>t.id===e.vid)??{}}function at(e){var t,l,h;return((t=e==null?void 0:e.thumb)==null?void 0:t.full)??((h=(l=e==null?void 0:e.ProductImage)==null?void 0:l[0])==null?void 0:h.image)??H}const st=j(()=>{let e=0;for(const t of y.value)e+=Number(C(t).grams??0);return e});function it(e){return Number(C(e).grams??0)*e.qty}function nt(e){const t=y.value[e];if(!t)return 1/0;const l=Number(C(t).qty??0);return l>0?l:1/0}function ot(e,t){u.updateItemQuantity({index:e,quantity:Number(t)})}function lt(e,t){rt(e,String(t.key))}function rt(e,t){u.add({vid:t,pid:e.id,product:e,qty:1,promotion_id:e.promotion&&e.promotion.id?e.promotion.id:null}),B.info("اضافه شد")}function dt(e){const t=C(e);m.id=t.id,m.grams=Number(t.grams??0)}async function ut(){var e,t;if(!(!m.id||!m.grams))try{O.value=!0;const l=y.value.find(h=>h.vid===m.id);await P.post("add/variant",{product_id:l==null?void 0:l.pid,title:`${m.grams} گرم`,grams:m.grams}),await u.init(),m.id=void 0,m.grams=void 0}catch(l){B.error(((t=(e=l==null?void 0:l.response)==null?void 0:e.data)==null?void 0:t.message)??"خطا در ثبت وزن")}finally{O.value=!1}}function pt(e,t){return zt(t).toLowerCase().includes(e.toLowerCase())}function mt(){return Object.keys(_).forEach(e=>delete _[e]),n.customer_id||(_.customer_id="مقدار را وارد نمایید"),n.sts===void 0&&(_.sts="مقدار را وارد نمایید"),n.type===void 0&&(_.type="مقدار را وارد نمایید"),Object.keys(_).length===0}async function A(){var e,t;if(mt())try{O.value=!0;const l=y.value.map(h=>({vid:h.vid,qty:h.qty,promotion_id:h.promotion_id}));await P.post("order",{...n,reagent_id:tt.value,app:"app",order_items:l}),B.info("عملیات با موفقیت انجام شد"),u.clear(),g.push("/order/list")}catch(l){console.log(l),B.error(((t=(e=l==null?void 0:l.response)==null?void 0:e.data)==null?void 0:t.message)??"خطا در ثبت اطلاعات.")}finally{O.value=!1}}return kt(async()=>{try{const[e,t]=await Promise.all([P.get("order/type"),P.post("single-customer",{page:1,limit:500})]);W.value=e.data,F.value=t.data.rows??[]}catch(e){console.log(e)}await u.init()}),(e,t)=>{const l=p("a-button"),h=p("a-menu-item"),ct=p("a-menu"),vt=p("a-dropdown"),D=p("a-input-number"),_t=p("a-table"),L=p("a-select-option"),R=p("a-select"),f=p("a-form-item"),q=p("a-input"),G=p("a-textarea"),ft=p("a-tag"),gt=p("a-form"),J=p("a-card"),yt=p("a-spin");return E("order.create")?(d(),S(yt,{key:0,spinning:O.value},{default:i(()=>[s(J,{title:"لیست محصولات",class:"page-card"},{default:i(()=>[s(Pt,{ref_key:"tblProducts",ref:Y,model:k(K),"mobile-cards":""},{image:i(({record:a})=>[z("img",{width:"90px",height:"90px",style:{"object-fit":"scale-down"},src:a.thumb&&a.thumb.full?a.thumb.full:H},null,8,Bt)]),op:i(({record:a})=>[s(vt,null,{overlay:i(()=>[s(ct,{onClick:r=>lt(a,r)},{default:i(()=>[(d(!0),x(I,null,V(a.variants_all,r=>(d(),S(h,{key:r.id},{default:i(()=>[b(" افزودن تنوع "+w(r.title),1)]),_:2},1024))),128))]),_:2},1032,["onClick"])]),default:i(()=>[s(l,{style:{"margin-left":"8px"}},{default:i(()=>[t[13]||(t[13]=b(" افزودن ",-1)),s(k(It))]),_:1})]),_:2},1024)]),_:1},8,["model"]),y.value.length>0?(d(),S(J,{key:0,title:"ثبت سفارش",class:"mt-5"},{default:i(()=>[s(_t,{columns:et,"data-source":y.value,bordered:"",pagination:!1,"row-key":"vid",size:k(c).isMobile?"small":"middle",scroll:k(c).isSmallScreen?{x:"max-content"}:void 0},{bodyCell:i(({column:a,record:r,index:$})=>[a.dataIndex==="delete"?(d(),S(k(Ct),{key:0,class:"cursor-pointer",onClick:U=>k(u).remove(r)},null,8,["onClick"])):a.dataIndex==="product"?(d(),x("div",Et,[z("img",{src:at(r.product),width:"50px"},null,8,Lt),b(" "+w(r.product.title),1)])):a.dataIndex==="wage"?(d(),x(I,{key:2},[b(w(C(r).percentage_pay)+"٪ ",1)],64)):a.dataIndex==="qty"?(d(),S(D,{key:3,value:y.value[$].qty,"onUpdate:value":U=>y.value[$].qty=U,min:1,max:nt($),onChange:U=>ot($,U)},null,8,["value","onUpdate:value","max","onChange"])):a.dataIndex==="weight"?(d(),x("div",Rt,[!m.grams||m.id!==C(r).id?(d(),x(I,{key:0},[z("span",Mt,w(C(r).title),1),s(k(qt),{class:"cursor-pointer ml-2 text-primary",onClick:U=>dt(r)},null,8,["onClick"])],64)):(d(),x(I,{key:1},[s(D,{value:m.grams,"onUpdate:value":t[0]||(t[0]=U=>m.grams=U)},null,8,["value"]),s(k(Ut),{class:"cursor-pointer ml-2 text-success",onClick:ut})],64))])):a.dataIndex==="total"?(d(),x(I,{key:5},[b(w(it(r))+" گرم ",1)],64)):M("",!0)]),_:1},8,["data-source","size","scroll"]),s(gt,{layout:"vertical",class:"mt-4",onSubmit:St(A,["prevent"])},{default:i(()=>[z("div",Qt,[s(f,{label:"مشتری","validate-status":_.customer_id?"error":"",help:_.customer_id},{default:i(()=>[s(R,{value:n.customer_id,"onUpdate:value":t[1]||(t[1]=a=>n.customer_id=a),"show-search":"","option-filter-prop":"children","filter-option":pt},{default:i(()=>[(d(!0),x(I,null,V(F.value,a=>(d(),S(L,{key:a.id,value:a.id},{default:i(()=>[b(w(`${a.id}-${a.fname} ${a.lname}`),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["validate-status","help"]),s(f,{label:"وضعیت تحویل","validate-status":_.sts?"error":"",help:_.sts},{default:i(()=>[s(R,{value:n.sts,"onUpdate:value":t[2]||(t[2]=a=>n.sts=a)},{default:i(()=>[(d(),x(I,null,V(Z,(a,r)=>s(L,{key:r,value:Number(r)},{default:i(()=>[b(w(a),1)]),_:2},1032,["value"])),64))]),_:1},8,["value"])]),_:1},8,["validate-status","help"]),s(f,{label:"نوع فروش","validate-status":_.type?"error":"",help:_.type},{default:i(()=>[s(R,{value:n.type,"onUpdate:value":t[3]||(t[3]=a=>n.type=a)},{default:i(()=>[(d(!0),x(I,null,V(W.value,(a,r)=>(d(),S(L,{key:r,value:Number(r)},{default:i(()=>[b(w(a),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["validate-status","help"]),s(f,{label:"نام دریافت کننده"},{default:i(()=>[s(q,{value:n.shipping_address.reciver_fname,"onUpdate:value":t[4]||(t[4]=a=>n.shipping_address.reciver_fname=a)},null,8,["value"])]),_:1}),s(f,{label:"نام خانوادگی دریافت کننده"},{default:i(()=>[s(q,{value:n.shipping_address.reciver_lname,"onUpdate:value":t[5]||(t[5]=a=>n.shipping_address.reciver_lname=a)},null,8,["value"])]),_:1}),s(f,{label:"استان"},{default:i(()=>[s(q,{value:n.shipping_address.province,"onUpdate:value":t[6]||(t[6]=a=>n.shipping_address.province=a)},null,8,["value"])]),_:1}),s(f,{label:"شهر"},{default:i(()=>[s(q,{value:n.shipping_address.city,"onUpdate:value":t[7]||(t[7]=a=>n.shipping_address.city=a)},null,8,["value"])]),_:1}),s(f,{label:"کد پستی"},{default:i(()=>[s(q,{value:n.shipping_address.zipcode,"onUpdate:value":t[8]||(t[8]=a=>n.shipping_address.zipcode=a)},null,8,["value"])]),_:1}),s(f,{label:"تلفن همراه"},{default:i(()=>[s(q,{value:n.shipping_address.reciver_phone,"onUpdate:value":t[9]||(t[9]=a=>n.shipping_address.reciver_phone=a)},null,8,["value"])]),_:1}),s(f,{label:"تلفن ثابت"},{default:i(()=>[s(q,{value:n.shipping_address.reciver_fixed_phone,"onUpdate:value":t[10]||(t[10]=a=>n.shipping_address.reciver_fixed_phone=a)},null,8,["value"])]),_:1})]),s(f,{label:"توضیحات"},{default:i(()=>[s(G,{value:n.note,"onUpdate:value":t[11]||(t[11]=a=>n.note=a),"auto-size":{minRows:3,maxRows:5}},null,8,["value"])]),_:1}),s(f,{label:"آدرس"},{default:i(()=>[s(G,{value:n.shipping_address.address,"onUpdate:value":t[12]||(t[12]=a=>n.shipping_address.address=a),"auto-size":{minRows:3,maxRows:5}},null,8,["value"])]),_:1}),z("div",jt,[s(ft,{color:"blue"},{default:i(()=>[b("مجموع وزن: "+w(st.value)+" گرم",1)]),_:1})]),s(l,{type:"primary",class:"mt-4 form-submit",disabled:!y.value||y.value.length<1,onClick:A},{default:i(()=>[...t[14]||(t[14]=[b(" ثبت تغییرات ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})):M("",!0)]),_:1})]),_:1},8,["spinning"])):M("",!0)}}}),Yt=Ot(Ft,[["__scopeId","data-v-51044ea4"]]);export{Yt as default};
|