Files
nademitex_admin/dist/assets/ShippingView-Dqgg-XEs.js
T

1 line
7.5 KiB
JavaScript

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