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>
1 line
9.8 KiB
JavaScript
1 line
9.8 KiB
JavaScript
import{D as e,E as t,Et as n,J as r,Kt as i,M as a,N as o,O as s,P as ee,T as c,Xt as l,Z as u,at as d,b as f,g as te,h as ne,st as p,t as m,vt as h,w as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{d as _,n as re,o as v,r as y}from"./format-C72AoJ2H.js";import{c as ie,d as ae,f as oe,n as b,t as se}from"./index-BAQfYU-Q.js";import{t as x}from"./EmptyState-D-8eFOUi.js";import{t as S}from"./IconChevronBack-DfGoZJJk.js";import{t as ce}from"./FormErrorBanner-DI5hhxpk.js";import{t as le}from"./useRequirePricedOrder-DWh7nbsh.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},_e={class:`summary-card__value`},T={class:`summary-card`},E={class:`summary-card__value`},D={key:0,class:`summary-card__status`},O={key:1,class:`summary-card__status summary-card__status--warn`},k={class:`summary-card__value`},A={key:0,class:`summary-card__hint`},j={class:`checks-list`},M={class:`check-card__menu-wrap`},N=[`onClick`],P={key:1,class:`check-card__menu`},F=[`onClick`],I={class:`check-card__body`},ve={class:`check-card__title`},ye={class:`check-card__amount`},be={class:`check-card__date`},xe={class:`check-card__thumb-wrap`},Se=[`src`],Ce={key:1,class:`check-card__thumb check-card__thumb--empty`},we={class:`rass-panel`},Te={class:`rass-panel__days`},Ee={key:0,class:`rass-panel__date`},De={key:0,class:`check-list-page__footer`},Oe={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},L={class:`desktop-two-col`},ke={class:`desktop-two-col__main`},Ae={class:`desktop-table-wrap`},je={class:`desktop-table-scroll`},Me={class:`desktop-table check-list-desktop__table`},Ne={key:0,scope:`col`},Pe=[`src`],Fe={key:1},Ie={class:`check-list-desktop__amount`},Le={key:0},Re=[`onClick`],ze={class:`desktop-summary-panel`},Be={class:`desktop-summary-panel__row`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={key:0,class:`desktop-summary-panel__action`},We={key:1,class:`desktop-checkout-shell desktop-only`},R=ee({__name:`CheckListView`,setup(ee){let m=ne(),C=te(),w=ae(),R=ie(),z=h(``),B=h(!1),V=g(()=>m.name===`check-list`),{orderId:H}=le(),U=g(()=>H.value?w.getOrderById(H.value):void 0);d(H,async e=>{if(!e||!V.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let W=g(()=>w.draftChecks.length>0?w.draftChecks:V.value?U.value?.checks??[]:R.user?w.userOrders(R.user.id).filter(e=>e.settlementType===`check`&&e.checks?.length).flatMap(e=>e.checks??[]):[]),G=g(()=>w.draftChecks.length>0?w.getDraftRass():oe(W.value,new Date)),K=g(()=>U.value?.finalAmount??0),q=g(()=>Math.max(0,K.value-G.value.totalAmount)),J=g(()=>K.value>0&&G.value.totalAmount>=K.value),Y=g(()=>K.value>0&&G.value.totalAmount>K.value),X=g({get:()=>m.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function Ge(){C.push(V.value?`/orders/${H.value}`:`/profile`)}function Z(){C.push(`/orders/${H.value}/check-form`)}async function Q(e){X.value=``,await se({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){X.value=X.value===e?``:e}async function $(){if(!(!H.value||w.draftChecks.length===0||B.value)){z.value=``,B.value=!0;try{await w.updateOrderChecks(H.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${H.value}?track=1`)}catch(e){z.value=e instanceof Error?e.message:`ثبت چکها ناموفق بود.`}finally{B.value=!1}}}return(ee,d)=>(r(),s(f,null,[c(`div`,ue,[c(`header`,de,[c(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:Ge},[o(S,{size:20})]),d[1]||=c(`h1`,{class:`check-list-page__title`},`چکهای ثبت شده`,-1),c(`button`,fe,[o(S,{size:18,class:`nav-btn__flip`})])]),W.value.length===0?(r(),s(`div`,pe,[o(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:p(()=>[V.value?(r(),t(b,{key:0,onClick:Z},{default:p(()=>[...d[2]||=[a(`ثبت چک جدید`,-1)]]),_:1})):(r(),t(b,{key:1,variant:`outline`,onClick:d[0]||=e=>n(C).push(`/categories`)},{default:p(()=>[...d[3]||=[a(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(r(),s(f,{key:1},[c(`div`,me,[o(ce,{message:z.value},null,8,[`message`]),c(`div`,he,[c(`div`,ge,[d[4]||=c(`span`,{class:`summary-card__label`},`مجموع مبلغ چکها`,-1),c(`strong`,_e,l(n(v)(G.value.totalAmount)),1),d[5]||=c(`span`,{class:`summary-card__unit`},`تومان`,-1)]),c(`div`,T,[d[7]||=c(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),c(`strong`,E,l(n(v)(K.value)),1),d[8]||=c(`span`,{class:`summary-card__unit`},`تومان`,-1),J.value&&!Y.value?(r(),s(`p`,D,[...d[6]||=[c(`span`,{class:`summary-card__status-icon`},`✓`,-1),a(` مبلغ کامل است `,-1)]])):Y.value?(r(),s(`p`,O,` بیش از مبلغ فاکتور `)):e(``,!0)]),c(`div`,{class:i([`summary-card summary-card--remain`,{"summary-card--remain-ok":J.value&&!Y.value,"summary-card--remain-warn":Y.value}])},[d[9]||=c(`span`,{class:`summary-card__label`},`باقیمانده`,-1),c(`strong`,k,l(Y.value?n(v)(G.value.totalAmount-K.value):n(v)(q.value)),1),d[10]||=c(`span`,{class:`summary-card__unit`},`تومان`,-1),J.value?e(``,!0):(r(),s(`p`,A,` هنوز باید چک ثبت کنید `))],2)]),c(`div`,j,[(r(!0),s(f,null,u(W.value,(t,i)=>(r(),s(`article`,{key:t.id,class:`check-card`},[c(`div`,M,[V.value&&n(w).draftChecks.length>0?(r(),s(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینهها`,onClick:e=>Ke(t.id)},` ⋮ `,8,N)):e(``,!0),X.value===t.id?(r(),s(`div`,P,[c(`button`,{type:`button`,onClick:e=>Q(t.id)},`حذف`,8,F)])):e(``,!0)]),c(`div`,I,[c(`h3`,ve,`چک `+l(n(_)(String(i+1))),1),c(`p`,ye,l(n(re)(t.amount)),1),c(`p`,be,`تاریخ: `+l(n(y)(t.dueDate)),1)]),c(`div`,xe,[t.frontImage?(r(),s(`img`,{key:0,src:t.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,Se)):(r(),s(`div`,Ce,`چک`))])]))),128))]),c(`div`,we,[d[11]||=c(`h3`,{class:`rass-panel__title`},`رأس چکها`,-1),c(`div`,Te,l(n(_)(String(G.value.rassDays)))+` روز`,1),G.value.rassDate?(r(),s(`p`,Ee,` تاریخ رأس تقریبی: `+l(n(y)(G.value.rassDate)),1)):e(``,!0)])]),V.value&&n(w).draftChecks.length>0?(r(),s(`div`,De,[o(b,{block:``,variant:`outline`,disabled:B.value,onClick:Z},{default:p(()=>[...d[12]||=[a(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),o(b,{block:``,disabled:W.value.length===0,loading:B.value,onClick:$},{default:p(()=>[...d[13]||=[a(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):e(``,!0)],64))]),W.value.length>0?(r(),s(`div`,Oe,[d[26]||=c(`header`,{class:`desktop-page__head`},[c(`h1`,{class:`desktop-page__title`},`چکهای ثبت شده`),c(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چکهای ثبتشده`)],-1),c(`div`,L,[c(`div`,ke,[c(`div`,Ae,[c(`div`,je,[c(`table`,Me,[c(`thead`,null,[c(`tr`,null,[d[14]||=c(`th`,{scope:`col`},`تصویر`,-1),d[15]||=c(`th`,{scope:`col`},`مبلغ (تومان)`,-1),d[16]||=c(`th`,{scope:`col`},`تاریخ سررسید`,-1),d[17]||=c(`th`,{scope:`col`},`شناسه`,-1),V.value?(r(),s(`th`,Ne,`عملیات`)):e(``,!0)])]),c(`tbody`,null,[(r(!0),s(f,null,u(W.value,(t,i)=>(r(),s(`tr`,{key:t.id},[c(`td`,null,[t.frontImage?(r(),s(`img`,{key:0,src:t.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Pe)):(r(),s(`span`,Fe,`—`))]),c(`td`,Ie,l(n(v)(t.amount)),1),c(`td`,null,l(n(y)(t.dueDate)),1),c(`td`,null,`چک `+l(n(_)(String(i+1))),1),V.value&&n(w).draftChecks.length>0?(r(),s(`td`,Le,[c(`button`,{type:`button`,class:`orders-table__action`,onClick:e=>Q(t.id)},` حذف `,8,Re)])):e(``,!0)]))),128))])])])]),V.value?(r(),t(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:p(()=>[...d[18]||=[a(` ثبت چک دیگر `,-1)]]),_:1})):e(``,!0)]),c(`aside`,ze,[d[25]||=c(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),c(`div`,Be,[d[19]||=c(`span`,null,`مجموع چکها`,-1),c(`strong`,null,l(n(v)(G.value.totalAmount))+` تومان`,1)]),c(`div`,Ve,[d[20]||=c(`span`,null,`مبلغ فاکتور`,-1),c(`strong`,null,l(n(v)(K.value))+` تومان`,1)]),c(`div`,{class:i([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":J.value&&!Y.value,"desktop-summary-panel__row--warn":Y.value}])},[d[21]||=c(`span`,null,`باقیمانده`,-1),c(`strong`,null,l(Y.value?`${n(v)(G.value.totalAmount-K.value)} بیش از فاکتور`:J.value?`پوشش کامل`:`${n(v)(q.value)} تومان`),1)],2),c(`div`,He,[d[22]||=c(`span`,null,`رأس چکها`,-1),c(`strong`,null,l(n(_)(String(G.value.rassDays)))+` روز`,1)]),V.value&&n(w).draftChecks.length>0?(r(),s(`div`,Ue,[o(b,{block:``,variant:`outline`,disabled:B.value,onClick:Z},{default:p(()=>[...d[23]||=[a(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),o(b,{block:``,disabled:W.value.length===0,loading:B.value,onClick:$},{default:p(()=>[...d[24]||=[a(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):e(``,!0)])])])):(r(),s(`div`,We,[o(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:p(()=>[V.value?(r(),t(b,{key:0,onClick:Z},{default:p(()=>[...d[27]||=[a(`ثبت چک جدید`,-1)]]),_:1})):e(``,!0)]),_:1})]))],64))}}),z=w({default:()=>B}),B=m(R,[[`__scopeId`,`data-v-83f3f9a7`]]);export{z as n,B as t}; |