Files
nademitex_admin/dist/assets/ShippingView-XJtm6EAp.js
T
mohmdsdgandCopilot 9854842ada fix(auth): secure sessions and app routing
Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-24 20:14:11 +03:30

1 line
7.6 KiB
JavaScript

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