Files
nademitex_admin/dist/assets/ShippingView-DqpgrF65.js
T

1 line
7.6 KiB
JavaScript

import{$ as e,B as t,F as n,K as ee,N as r,P as te,Q as i,R as ne,St as a,W as o,X as s,Y as c,Z as re,_t as ie,a as l,bt as u,ct as d,ht as f,i as p,mt as m,nt as h,ot as ae,pt as oe,q as g,rt as _,tt as v,ut as y,vt as b,w as x,x as se,y as ce,yt as S,z as le}from"./index-BHqDDh7X.js";import{t as ue}from"./AdminPageSkeleton-E50Kwv4j.js";import{t as C}from"./AdminSelect-BjB6PHdr.js";import{a as w,i as T}from"./adminLabels-Cz9ccm1Z.js";import{a as de}from"./orderStatus-CYVblRJB.js";var fe={class:`shipping-page`},pe={class:`shipping-page__filters admin-card`},me={class:`shipping-page__search`},he={class:`shipping-page__table admin-card desktop-only`},ge={class:`admin-table-wrap`},_e={class:`admin-table`},E={dir:`ltr`},D=[`onClick`],O={key:1},k={class:`compact-only admin-card-list`},A={class:`admin-card-item__header`},j={class:`admin-card-item__title`},M={class:`admin-card-item__meta`},N={dir:`ltr`},P={key:0,class:`admin-card-item__actions`},F=[`onClick`],I={key:0,class:`admin-form__error`,role:`alert`},ve={class:`admin-form__field`},ye={class:`admin-form__row`},L={class:`admin-form__field`},be={class:`admin-form__field`},xe={class:`admin-form__row`},Se={class:`admin-form__field`},Ce={class:`admin-form__field`},we=[`disabled`],R=t(_({__name:`ShippingView`,setup(t){let _=n(),R=b([]),z=b([]),B=b(typeof _.query.order==`string`?_.query.order:``),V=b(`all`),H=b(!0),U=b(!1),W=b(``),G=b(!1),K=le(),Te=[{value:`all`,label:`همه وضعیت‌ها`},{value:`preparing`,label:`در حال آماده‌سازی`},{value:`ready`,label:`آماده ارسال`},{value:`shipped`,label:`ارسال شده`},{value:`delivered`,label:`تحویل شده`}],Ee=[{value:`preparing`,label:`در حال آماده‌سازی`},{value:`ready`,label:`آماده ارسال`},{value:`shipped`,label:`ارسال شده`},{value:`delivered`,label:`تحویل شده`}],q=()=>({orderId:``,carrier:``,trackingNumber:``,meterage:1e3,status:`preparing`}),J=ie(q()),Y=c(()=>{let e=R.value;V.value!==`all`&&(e=e.filter(e=>e.status===V.value));let t=B.value.trim();return t&&(e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t)||e.trackingNumber.includes(t)||e.carrier.includes(t))),e}),X=c(()=>J.orderId.trim()&&J.carrier.trim()),De=c(()=>{let e=new Set(R.value.map(e=>e.orderId));return z.value.filter(t=>!e.has(t.id)&&de(t))}),Oe=c(()=>De.value.map(e=>({value:e.id,label:`${e.orderNumber} — ${e.customerName}`})));async function ke(){H.value=!0;try{let[e,t]=await Promise.all([x.list(),se.list()]);R.value=e,z.value=t.map(e=>ce(e))}catch(e){K.error(e instanceof r?e.message:`بارگذاری ارسال‌ها انجام نشد.`)}finally{H.value=!1}}ae(()=>{ke()}),oe(()=>_.query.order,e=>{typeof e==`string`&&e.trim()&&(B.value=e.trim())});function Ae(){let e=z.value.find(e=>e.id===J.orderId);e&&(J.meterage=e.meterage)}function je(){Object.assign(J,q()),W.value=``,U.value=!0}function Z(){U.value=!1,W.value=``}async function Q(){if(!X.value){W.value=`سفارش و باربری الزامی هستند.`;return}G.value=!0;try{let e=await x.create({orderId:J.orderId,carrier:J.carrier.trim(),trackingNumber:J.trackingNumber.trim()||void 0,meterage:J.meterage,status:J.status});R.value.unshift(e),K.success(`بارنامه ثبت شد.`),Z()}catch(e){K.error(e instanceof r?e.message:`ثبت بارنامه انجام نشد.`)}finally{G.value=!1}}async function $(e){try{let t=await x.advanceStatus(e.id),n=R.value.findIndex(t=>t.id===e.id);n!==-1&&(R.value[n]=t),K.success(`وضعیت ارسال به‌روزرسانی شد.`)}catch(e){K.error(e instanceof r?e.message:`به‌روزرسانی وضعیت انجام نشد.`)}}return(t,n)=>(d(),e(`div`,fe,[s(`div`,{class:`admin-page-header`},[n[7]||=s(`div`,null,[s(`h1`,{class:`admin-page-header__title`},`ارسال و باربری`)],-1),s(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:je},` ثبت بارنامه `)]),s(`div`,pe,[s(`div`,me,[h(te,{name:`search`,size:18}),f(s(`input`,{"onUpdate:modelValue":n[0]||=e=>B.value=e,type:`search`,class:`shipping-page__search-input`,placeholder:`جستجو در سفارش، مشتری، باربری...`},null,512),[[o,B.value]])]),h(C,{modelValue:V.value,"onUpdate:modelValue":n[1]||=e=>V.value=e,class:`shipping-page__status-select`,"aria-label":`فیلتر وضعیت ارسال`,options:Te},null,8,[`modelValue`])]),H.value?(d(),re(ue,{key:0,variant:`table`})):(d(),e(g,{key:1},[s(`div`,he,[s(`div`,ge,[s(`table`,_e,[n[8]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`شماره سفارش`),s(`th`,null,`مشتری`),s(`th`,null,`باربری`),s(`th`,null,`شماره بارنامه`),s(`th`,null,`متراژ`),s(`th`,null,`وضعیت`),s(`th`,null,`تاریخ ارسال`),s(`th`,null,`تاریخ تحویل`),s(`th`,null,`عملیات`)])],-1),s(`tbody`,null,[(d(!0),e(g,null,y(Y.value,t=>(d(),e(`tr`,{key:t.id},[s(`td`,null,a(t.orderNumber),1),s(`td`,null,a(t.customerName),1),s(`td`,null,a(t.carrier),1),s(`td`,E,a(t.trackingNumber),1),s(`td`,null,a(S(l)(t.meterage)),1),s(`td`,null,[s(`span`,{class:u([`admin-badge`,S(T)[t.status]])},a(S(w)[t.status]),3)]),s(`td`,null,a(t.shippedAt?S(p)(t.shippedAt):`—`),1),s(`td`,null,a(t.deliveredAt?S(p)(t.deliveredAt):`—`),1),s(`td`,null,[t.status===`delivered`?(d(),e(`span`,O,`—`)):(d(),e(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:e=>$(t)},` مرحله بعد `,8,D))])]))),128))])])])]),s(`div`,k,[(d(!0),e(g,null,y(Y.value,t=>(d(),e(`article`,{key:t.id,class:`admin-card-item`},[s(`div`,A,[s(`p`,j,a(t.orderNumber),1),s(`span`,{class:u([`admin-badge`,S(T)[t.status]])},a(S(w)[t.status]),3)]),s(`div`,M,[s(`span`,null,a(t.customerName),1),s(`span`,null,a(t.carrier),1),s(`span`,null,a(S(l)(t.meterage)),1),s(`span`,N,a(t.trackingNumber),1)]),t.status===`delivered`?i(``,!0):(d(),e(`div`,P,[s(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:e=>$(t)},` مرحله بعد `,8,F)]))]))),128))])],64)),h(ne,{open:U.value,title:`ثبت بارنامه`,size:`lg`,onClose:Z},{footer:m(()=>[s(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),s(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!X.value||G.value,onClick:Q},` ثبت بارنامه `,8,we)]),default:m(()=>[s(`form`,{class:`admin-form`,onSubmit:ee(Q,[`prevent`])},[W.value?(d(),e(`p`,I,a(W.value),1)):i(``,!0),s(`div`,ve,[n[9]||=s(`label`,{id:`ship-order-label`},[v(`سفارش `),s(`span`,{class:`admin-form__required`},`*`)],-1),h(C,{modelValue:J.orderId,"onUpdate:modelValue":[n[2]||=e=>J.orderId=e,Ae],block:``,"aria-label":`انتخاب سفارش`,placeholder:`انتخاب سفارش`,options:Oe.value},null,8,[`modelValue`,`options`])]),s(`div`,ye,[s(`div`,L,[n[10]||=s(`label`,{for:`ship-carrier`},[v(`باربری `),s(`span`,{class:`admin-form__required`},`*`)],-1),f(s(`input`,{id:`ship-carrier`,"onUpdate:modelValue":n[3]||=e=>J.carrier=e,type:`text`,class:`admin-input`},null,512),[[o,J.carrier]])]),s(`div`,be,[n[11]||=s(`label`,{for:`ship-tracking`},`شماره بارنامه`,-1),f(s(`input`,{id:`ship-tracking`,"onUpdate:modelValue":n[4]||=e=>J.trackingNumber=e,type:`text`,class:`admin-input`,dir:`ltr`},null,512),[[o,J.trackingNumber]])])]),s(`div`,xe,[s(`div`,Se,[n[12]||=s(`label`,{for:`ship-meterage`},`متراژ`,-1),f(s(`input`,{id:`ship-meterage`,"onUpdate:modelValue":n[5]||=e=>J.meterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[o,J.meterage,void 0,{number:!0}]])]),s(`div`,Ce,[n[13]||=s(`label`,{id:`ship-status-label`},`وضعیت`,-1),h(C,{modelValue:J.status,"onUpdate:modelValue":n[6]||=e=>J.status=e,block:``,"aria-label":`وضعیت ارسال`,options:Ee},null,8,[`modelValue`])])])],32)]),_:1},8,[`open`])]))}}),[[`__scopeId`,`data-v-ded219cd`]]);export{R as default};