Files
nademitex_admin/dist/assets/ShippingView-BADYaj5-.js
T
2026-10-29 15:24:44 +03:30

1 line
7.7 KiB
JavaScript

import{A as e,D as t,N as n,Ot as r,Q as i,U as a,V as ee,W as o,c as s,ct as c,d as l,et as u,g as te,h as d,jt as f,l as ne,m as p,r as m,s as h,t as g,u as _}from"./_plugin-vue_export-helper-vx-p5QAT.js";import{a as re,d as v,m as ie,t as y}from"./http-CTjL79ty.js";import{C as ae,L as oe,O as b,R as se,T as ce,V as le,o as x,s as S}from"./index-BWgYBNME.js";import{t as ue}from"./AdminPageSkeleton-DacAHji8.js";import{t as C}from"./AdminSelect-hgn_nYC2.js";import{a as w,o as T}from"./adminLabels-jYlObVqa.js";import{i as de}from"./orderStatus-CeC05Cv4.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`},be={class:`admin-form__field`},L={class:`admin-form__field`},xe={class:`admin-form__row`},Se={class:`admin-form__field`},Ce={class:`admin-form__field`},we=[`disabled`],R=g(te({__name:`ShippingView`,setup(te){let g=se(),R=u([]),z=u([]),B=u(typeof g.query.order==`string`?g.query.order:``),V=u(`all`),H=u(!0),U=u(!1),W=u(``),G=u(!1),K=re(),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=i(q()),Y=h(()=>{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=h(()=>J.orderId.trim()&&J.carrier.trim()),De=h(()=>{let e=new Set(R.value.map(e=>e.orderId));return z.value.filter(t=>!e.has(t.id)&&de(t))}),Oe=h(()=>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([b.list(),ce.list()]);R.value=e,z.value=t.map(e=>ae(e))}catch(e){K.error(e instanceof y?e.message:`بارگذاری ارسال‌ها انجام نشد.`)}finally{H.value=!1}}t(()=>{ke()}),ee(()=>g.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 b.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 y?e.message:`ثبت بارنامه انجام نشد.`)}finally{G.value=!1}}async function $(e){try{let t=await b.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 y?e.message:`به‌روزرسانی وضعیت انجام نشد.`)}}return(t,i)=>(e(),l(`div`,fe,[s(`div`,{class:`admin-page-header`},[i[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,[d(oe,{name:`search`,size:18}),o(s(`input`,{"onUpdate:modelValue":i[0]||=e=>B.value=e,type:`search`,class:`shipping-page__search-input`,placeholder:`جستجو در سفارش، مشتری، باربری...`},null,512),[[v,B.value]])]),d(C,{modelValue:V.value,"onUpdate:modelValue":i[1]||=e=>V.value=e,class:`shipping-page__status-select`,"aria-label":`فیلتر وضعیت ارسال`,options:Te},null,8,[`modelValue`])]),H.value?(e(),ne(ue,{key:0,variant:`table`})):(e(),l(m,{key:1},[s(`div`,he,[s(`div`,ge,[s(`table`,_e,[i[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,[(e(!0),l(m,null,n(Y.value,t=>(e(),l(`tr`,{key:t.id},[s(`td`,null,f(t.orderNumber),1),s(`td`,null,f(t.customerName),1),s(`td`,null,f(t.carrier),1),s(`td`,E,f(t.trackingNumber),1),s(`td`,null,f(c(S)(t.meterage)),1),s(`td`,null,[s(`span`,{class:r([`admin-badge`,c(w)[t.status]])},f(c(T)[t.status]),3)]),s(`td`,null,f(t.shippedAt?c(x)(t.shippedAt):`—`),1),s(`td`,null,f(t.deliveredAt?c(x)(t.deliveredAt):`—`),1),s(`td`,null,[t.status===`delivered`?(e(),l(`span`,O,`—`)):(e(),l(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:e=>$(t)},` مرحله بعد `,8,D))])]))),128))])])])]),s(`div`,k,[(e(!0),l(m,null,n(Y.value,t=>(e(),l(`article`,{key:t.id,class:`admin-card-item`},[s(`div`,A,[s(`p`,j,f(t.orderNumber),1),s(`span`,{class:r([`admin-badge`,c(w)[t.status]])},f(c(T)[t.status]),3)]),s(`div`,M,[s(`span`,null,f(t.customerName),1),s(`span`,null,f(t.carrier),1),s(`span`,null,f(c(S)(t.meterage)),1),s(`span`,N,f(t.trackingNumber),1)]),t.status===`delivered`?_(``,!0):(e(),l(`div`,P,[s(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:e=>$(t)},` مرحله بعد `,8,F)]))]))),128))])],64)),d(le,{open:U.value,title:`ثبت بارنامه`,size:`lg`,onClose:Z},{footer:a(()=>[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:a(()=>[s(`form`,{class:`admin-form`,onSubmit:ie(Q,[`prevent`])},[W.value?(e(),l(`p`,I,f(W.value),1)):_(``,!0),s(`div`,ve,[i[9]||=s(`label`,{id:`ship-order-label`},[p(`سفارش `),s(`span`,{class:`admin-form__required`},`*`)],-1),d(C,{modelValue:J.orderId,"onUpdate:modelValue":[i[2]||=e=>J.orderId=e,Ae],block:``,"aria-label":`انتخاب سفارش`,placeholder:`انتخاب سفارش`,options:Oe.value},null,8,[`modelValue`,`options`])]),s(`div`,ye,[s(`div`,be,[i[10]||=s(`label`,{for:`ship-carrier`},[p(`باربری `),s(`span`,{class:`admin-form__required`},`*`)],-1),o(s(`input`,{id:`ship-carrier`,"onUpdate:modelValue":i[3]||=e=>J.carrier=e,type:`text`,class:`admin-input`},null,512),[[v,J.carrier]])]),s(`div`,L,[i[11]||=s(`label`,{for:`ship-tracking`},`شماره بارنامه`,-1),o(s(`input`,{id:`ship-tracking`,"onUpdate:modelValue":i[4]||=e=>J.trackingNumber=e,type:`text`,class:`admin-input`,dir:`ltr`},null,512),[[v,J.trackingNumber]])])]),s(`div`,xe,[s(`div`,Se,[i[12]||=s(`label`,{for:`ship-meterage`},`متراژ`,-1),o(s(`input`,{id:`ship-meterage`,"onUpdate:modelValue":i[5]||=e=>J.meterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[v,J.meterage,void 0,{number:!0}]])]),s(`div`,Ce,[i[13]||=s(`label`,{id:`ship-status-label`},`وضعیت`,-1),d(C,{modelValue:J.status,"onUpdate:modelValue":i[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};