Files

2 lines
8.5 KiB
JavaScript

import{u as q,d as ee,b as v,c,w as s,s as E,r as R,o as n,h as U,H as te,t as k,i as h,p as B,a as T,f as w,F as D,m as f,y as S,G as o,X as ae,_ as re}from"./index-C9T3Vski.js";import{a as ie,b as m,X as se}from"./model-B4TWAN58.js";import{_ as $}from"./TooltipBtn.vue_vue_type_script_setup_true_lang-4rxU9Kz6.js";import{O as ne,a as oe}from"./OrderStatusTimeline-DQxbBFjr.js";import{a as le}from"./filters-D6Nzbpog.js";import"./SettingOutlined-BizkfqvN.js";import"./icons-1fD-iiAA.js";import"./UnorderedListOutlined-Bl0oFRyr.js";import"./PercentageOutlined-CxUloK5J.js";import"./UserAddOutlined-BlPGjUCi.js";import"./CreditCardOutlined-BxTC_oHD.js";import"./AppstoreOutlined-lwgIJvjh.js";import"./TeamOutlined-j5HKaunb.js";import"./UserOutlined-Csu4xHRr.js";import"./CameraOutlined-C6gLi8-9.js";import"./PictureOutlined-BBgbZIZs.js";import"./index-m6pCHaEa.js";import"./SafetyCertificateOutlined-DS5dQeR2.js";function de(){const l=new ie("admin/orders/list","لیست سفارش های تک فروشی");l.add(new m("id","شماره").filterNumber()),l.add(new m("customer.fname","نام مشتری").filterKey("customer.fullName").filterText()),l.add(new m("customer.lname","نام خانوادگی").filterKey("customer.fullName").filterText()),l.add(new m("total_price","جمع کل سفارش").renderSlot("total_price").filterText()),l.add(new m("items","تعداد آیتم ها").renderSlot("items_len").noSort()),l.add(new m("caj","تاریخ ثبت").filterKey("createdAt").filterDate().noSort()),l.add(new m("uaj","تاریخ ویرایش").hidden().filterKey("updatedAt").filterDate().noSort()),l.add(new m("user","ثبت کننده").renderSlot("user").noSort());const I=q();return I.roles&&I.roles.includes("order.tamin.state")&&(l.add(new m("sts_str","وضعیت").renderSlot("sts").noSort()),l.add(new m("branch.name","نام شعبه").filterText().noSort())),l.add(new m("opt","عملیات").noSort().renderSlot("opt")),l}const ue={id:"page-user-list"},ce={class:"flex"},me={key:0},ve={key:0},fe={key:1},pe={key:0},ye=["onClick"],we={key:1},ge={class:"flex justify-between flex-wrap gap-2"},_e={class:"flex gap-2 flex-wrap"},be=ee({__name:"List",setup(l){const I=q(),g=a=>!!I.hasPermission(a),A=de(),_=f(null),r=f(void 0),N=f(""),x=f(!1),b=f(!1),p=f(!1),O=f(!1),V=f(""),L=f(1),X=E(()=>ae()),P=E(()=>g("order.list.view.edit"));async function F(a){a.branch_id||(r.value=await C(a.id),b.value=!0)}async function C(a){const{data:e}=await S.get(`admin/orders/${a}`);return e}async function K(a){var e,i;try{await S.post("single/order-sts/edit",{orderId:(e=r.value)==null?void 0:e.id,status:a.status,note:a.note}),b.value=!1,o.info("ویرایش موفق آمیز"),(i=_.value)==null||i.fetch()}catch{o.error("خطا در ویرایش")}}async function M(a){var e,i;try{await S.post("single/order-sts/edit",{orderId:(e=r.value)==null?void 0:e.id,status:a.status,note:a.note,remove:!0}),b.value=!1,o.info("ویرایش موفق آمیز"),(i=_.value)==null||i.fetch()}catch{o.error("خطا در ویرایش")}}function j(){x.value=!1,p.value=!1}function G(){if(N.value)try{r.value=JSON.parse(N.value)}catch{}p.value=!1}function J(a){var e;if((e=r.value)!=null&&e.items){if(r.value.items.length<=1){o.warning("حداقل یک آیتم باید در سفارش بماند");return}r.value.items.splice(a,1)}}function H(a){const e=a.variantId.trim();if(!e){o.warning("یک تنوع انتخاب کنید");return}r.value&&(r.value.items.push({productVariantId:e,title:a.title??"آیتم جدید",variant_title:a.variantTitle??e,qty:a.qty||1,grams:a.grams??0,flatRialCharge:a.flatRialCharge??0,wagePercent:a.wagePercent,rash:a.grams??0,image:a.image??null}),V.value="",L.value=1)}async function Q(){var e,i,d,u;if(!((e=r.value)!=null&&e.id))return;const a=(r.value.items??[]).filter(t=>t.productVariantId).map(t=>({productVariantId:t.productVariantId,quantity:Number(t.qty)||1,grams:Number(t.grams)||void 0,flatRialCharge:Number(t.flatRialCharge)||0,rashWeightGrams:t.rash!=null?Number(t.rash):void 0,wagePercent:t.wagePercent!=null?Number(t.wagePercent):void 0,discountPercent:t.discountPercent!=null?Number(t.discountPercent):void 0}));if(!a.length){o.error("حداقل یک آیتم لازم است");return}O.value=!0;try{await S.post("admin/orders/edit/propose",{orderId:r.value.id,items:a}),o.success("پیشنهاد ویرایش ثبت شد؛ پیامک برای مشتری ارسال می‌شود"),p.value=!1,r.value=await C(r.value.id),N.value=JSON.stringify(r.value),(i=_.value)==null||i.fetch()}catch(t){o.error(((u=(d=t==null?void 0:t.response)==null?void 0:d.data)==null?void 0:u.message)??"خطا در ثبت ویرایش")}finally{O.value=!1}}async function W(){var a,e,i,d;if((a=r.value)!=null&&a.id)try{await S.post("admin/orders/edit/force-apply",{orderId:r.value.id}),o.success("ویرایش به‌صورت اجباری اعمال شد"),r.value=await C(r.value.id),(e=_.value)==null||e.fetch()}catch(u){o.error(((d=(i=u==null?void 0:u.response)==null?void 0:i.data)==null?void 0:d.message)??"خطا در اعمال")}}async function Y(){var a,e,i,d;if((a=r.value)!=null&&a.id)try{await S.post("admin/orders/edit/discard",{orderId:r.value.id}),o.success("پیشنهاد ویرایش لغو شد"),r.value=await C(r.value.id),(e=_.value)==null||e.fetch()}catch(u){o.error(((d=(i=u==null?void 0:u.response)==null?void 0:i.data)==null?void 0:d.message)??"خطا در لغو")}}async function z(a){r.value=await C(a.id),N.value=JSON.stringify(r.value),p.value=!1,x.value=!0}async function Z(a){o.warning("خروجی PDF هنوز در بک‌اند جدید پیاده‌سازی نشده است")}return(a,e)=>{const i=R("a-button"),d=R("a-modal"),u=R("a-card");return n(),v("div",ue,[c(u,{title:X.value?"لیست سفارش":"لیست سفارش های تک فروشی",class:"page-card"},{default:s(()=>[c(se,{ref_key:"tbl",ref:_,model:U(A),"mobile-cards":""},{opt:s(({record:t})=>[B("div",ce,[g("order.list.view")?(n(),T($,{key:0,"icon-class":"w-5 h-5 text-primary",class:"mr-3",icon:"ListIcon",title:"مشاهده سفارش",onClick:y=>z(t)},null,8,["onClick"])):h("",!0),g("order.list.pdf")?(n(),T($,{key:1,"icon-class":"w-5 h-5 text-danger",class:"mr-3",icon:"FileIcon",title:"دانلود pdf",onClick:y=>Z(t.id)},null,8,["onClick"])):h("",!0)])]),items_len:s(({text:t})=>[t?(n(),v("div",me,k(t.length),1)):h("",!0)]),user:s(({text:t,record:y})=>[t?(n(),v("div",ve,k(t.name),1)):(n(),v("div",fe,k(y.customer.fname+" "+y.customer.lname),1))]),total_price:s(({text:t})=>[t?(n(),v("div",pe,k(U(le)(t)),1)):h("",!0)]),sts:s(({text:t,record:y})=>[g("order.list.sts")?(n(),v("a",{key:0,href:"",onClick:te(ke=>F(y),["prevent"])},k(t),9,ye)):(n(),v("span",we,k(t),1))]),_:1},8,["model"]),c(d,{open:b.value,"onUpdate:open":e[1]||(e[1]=t=>b.value=t),title:"وضعیت سفارش",width:"480px","wrap-class-name":"detail-modal"},{footer:s(()=>[c(i,{onClick:e[0]||(e[0]=t=>b.value=!1)},{default:s(()=>[...e[6]||(e[6]=[w("بستن",-1)])]),_:1})]),default:s(()=>[r.value?(n(),T(ne,{key:0,activity:r.value.activity||[],"can-submit":g("order.list.sts.submit"),"can-remove":g("order.list.sts.remove"),onSubmit:K,onRemove:M},null,8,["activity","can-submit","can-remove"])):h("",!0)]),_:1},8,["open"]),c(d,{open:x.value,"onUpdate:open":e[5]||(e[5]=t=>x.value=t),title:"مشاهده سفارش",width:p.value&&P.value?1120:760,"wrap-class-name":"detail-modal order-detail-modal","body-style":{maxHeight:"78vh",overflowY:"auto"}},{footer:s(()=>{var t;return[B("div",ge,[c(i,{onClick:j},{default:s(()=>[...e[7]||(e[7]=[w("بستن",-1)])]),_:1}),B("div",_e,[((t=r.value)==null?void 0:t.revisionStatus)==="AWAITING_CUSTOMER"&&P.value?(n(),v(D,{key:0},[c(i,{onClick:Y},{default:s(()=>[...e[8]||(e[8]=[w("لغو پیشنهاد",-1)])]),_:1}),c(i,{type:"primary",danger:"",onClick:W},{default:s(()=>[...e[9]||(e[9]=[w("اعمال اجباری",-1)])]),_:1})],64)):P.value?(n(),v(D,{key:1},[p.value?(n(),v(D,{key:1},[c(i,{onClick:G},{default:s(()=>[...e[11]||(e[11]=[w("انصراف",-1)])]),_:1}),c(i,{type:"primary",danger:"",loading:O.value,onClick:Q},{default:s(()=>[...e[12]||(e[12]=[w(" ارسال برای تأیید مشتری ",-1)])]),_:1},8,["loading"])],64)):(n(),T(i,{key:0,type:"primary",onClick:e[4]||(e[4]=y=>p.value=!0)},{default:s(()=>[...e[10]||(e[10]=[w("شروع ویرایش",-1)])]),_:1}))],64)):h("",!0)])])]}),default:s(()=>[c(oe,{order:r.value,"edit-mode":p.value&&P.value,"add-variant-id":V.value,"onUpdate:addVariantId":e[2]||(e[2]=t=>V.value=t),"add-qty":L.value,"onUpdate:addQty":e[3]||(e[3]=t=>L.value=t),onRemoveLine:J,onAddLine:H},null,8,["order","edit-mode","add-variant-id","add-qty"])]),_:1},8,["open","width"])]),_:1},8,["title"])])}}}),Ae=re(be,[["__scopeId","data-v-b4230ec1"]]);export{Ae as default};