1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
import{A as e,D as t,N as n,Ot as r,T as i,V as a,W as o,c as s,ct as c,d as l,et as u,g as d,h as f,jt as p,l as m,m as h,r as g,s as _,t as v,u as y}from"./_plugin-vue_export-helper-vx-p5QAT.js";import{a as b,d as x,f as S,m as C,t as w}from"./http-CTjL79ty.js";import{L as T,a as E,g as D,u as O}from"./index-BWgYBNME.js";import{t as k}from"./AdminPageSkeleton-DacAHji8.js";import{t as ee}from"./BaseEmptyState-88fQ29rO.js";import{t as A}from"./AdminSelect-hgn_nYC2.js";import{r as j}from"./adminLabels-jYlObVqa.js";var M=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],N=M[0],P=M[M.length-1]-1;function F(e,t,n){return e instanceof Date?W(G(e.getFullYear(),e.getMonth()+1,e.getDate())):W(G(e,t,n))}function I(e,t,n){return te(V(e,t,n))}function L(e){return ne(e)===0}function R(e,t){return t<=6?31:t<=11||L(e)?30:29}function z(e){let{gy:t,march:n,jump:r,n:i}=K(e);return{leap:q(r,i),gy:t,march:n}}function B(e){let{gy:t,march:n}=K(e);return{gy:t,march:n}}function V(e,t,n){let r=B(e);return G(r.gy,3,r.march)+(t-1)*31-J(t,7)*(t-7)+n-1}var H=V(N,1,1),U=V(P,12,R(P,12));function W(e){if(e<H||e>U)throw RangeError(`Invalid Julian Day number ${e}: outside the supported Jalaali range [${N}, ${P}]`);let t=te(e).gy,n=Math.min(t-621,P),r=z(n),i=e-G(r.gy,3,r.march);if(i>=0){if(i<=185)return{jy:n,jm:1+J(i,31),jd:Y(i,31)+1};i-=186}else--n,i+=179,r.leap===1&&(i+=1);return{jy:n,jm:7+J(i,30),jd:Y(i,30)+1}}function G(e,t,n){let r=J((e+J(t-8,6)+100100)*1461,4)+J(153*Y(t+9,12)+2,5)+n-34840408;return r=r-J(J(e+100100+J(t-8,6),100)*3,4)+752,r}function te(e){let t=4*e+139361631;t=t+J(J(4*e+183187720,146097)*3,4)*4-3908;let n=J(Y(t,1461),4)*5+308,r=J(Y(n,153),5)+1,i=Y(J(n,153),12)+1;return{gy:J(t,1461)-100100+J(8-i,6),gm:i,gd:r}}function K(e){if(!Number.isFinite(e)||e<N||e>P)throw RangeError(`Invalid Jalaali year ${e}: must be a finite number between ${N} and ${P} (inclusive)`);let t=e+621,n=-14,r=M[0],i=0,a=0;for(let t=1;t<M.length&&(i=M[t],a=i-r,!(e<i));t+=1)n=n+J(a,33)*8+J(Y(a,33),4),r=i;let o=e-r;n=n+J(o,33)*8+J(Y(o,33)+3,4),Y(a,33)===4&&a-o===4&&(n+=1);let s=J(t,4)-J((J(t,100)+1)*3,4)-150;return{gy:t,march:20+n-s,jump:a,n:o}}function q(e,t){let n=t;e-t<6&&(n=t-e+J(e+4,33)*33);let r=Y(Y(n+1,33)-1,4);return r===-1&&(r=4),r}function ne(e){if(!Number.isFinite(e)||e<N||e>P)throw RangeError(`Invalid Jalaali year ${e}: must be a finite number between ${N} and ${P} (inclusive)`);let t=M[0],n=0,r=0;for(let i=1;i<M.length&&(n=M[i],r=n-t,!(e<n));i+=1)t=n;return q(r,e-t)}function J(e,t){return~~(e/t)}function Y(e,t){return e-~~(e/t)*t}var re=`۰۱۲۳۴۵۶۷۸۹`;function X(e){return e.replace(/\d/g,e=>re[Number(e)])}var Z=[`فروردین`,`اردیبهشت`,`خرداد`,`تیر`,`مرداد`,`شهریور`,`مهر`,`آبان`,`آذر`,`دی`,`بهمن`,`اسفند`],ie=[`ش`,`ی`,`د`,`س`,`چ`,`پ`,`ج`];function ae(e){let t=e.trim().match(/^(\d{4})-(\d{2})-(\d{2})/);if(t)return new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));let n=new Date(e);return Number.isNaN(n.getTime())?new Date(NaN):new Date(n.getFullYear(),n.getMonth(),n.getDate())}function oe(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function Q(e){let{jy:t,jm:n,jd:r}=F(e.getFullYear(),e.getMonth()+1,e.getDate());return{jy:t,jm:n,jd:r}}function se(e,t,n){let{gy:r,gm:i,gd:a}=I(e,t,n);return new Date(r,i-1,a)}function ce(e){return e?Q(ae(e)):null}function le(e,t,n){return oe(se(e,t,n))}function ue(e,t,n){return`${X(String(n))} ${Z[t-1]} ${X(String(e))}`}function de(e,t,n){let{gy:r,gm:i,gd:a}=I(e,t,n);return(new Date(r,i-1,a).getDay()+1)%7}function fe(e,t){return R(e,t)}function pe(e,t){let n=fe(e,t),r=de(e,t,1),i=Array.from({length:r},()=>null);for(let e=1;e<=n;e+=1)i.push(e);for(;i.length%7!=0;)i.push(null);return i}function $(){return Q(new Date)}var me={key:0,class:`form-label`},he=[`disabled`],ge={class:`persian-date-input__header`},_e={class:`persian-date-input__month`},ve={class:`persian-date-input__weekdays`},ye={class:`persian-date-input__grid`},be={key:0,class:`persian-date-input__cell persian-date-input__cell--empty`},xe=[`onClick`],Se={key:2,class:`input-error-text`},Ce={key:3,class:`form-hint`},we=v(d({__name:`PersianDateInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean},compact:{type:Boolean}},emits:[`update:modelValue`],setup(o,{emit:d}){let f=o,m=d,h=u(null),v=u(!1),b=u($().jy),x=u($().jm),S=_(()=>ce(f.modelValue??``)),w=_(()=>{if(!S.value)return``;let{jy:e,jm:t,jd:n}=S.value;return ue(e,t,n)}),T=_(()=>pe(b.value,x.value)),E=_(()=>`${Z[x.value-1]} ${O(String(b.value))}`);a(()=>f.modelValue,e=>{let t=ce(e??``);t&&(b.value=t.jy,x.value=t.jm)},{immediate:!0});function D(){f.disabled||(v.value=!v.value)}function k(){v.value=!1}function ee(e){m(`update:modelValue`,le(b.value,x.value,e)),k()}function A(e){let t=x.value+e,n=b.value;t>12?(t=1,n+=1):t<1&&(t=12,--n),x.value=t,b.value=n}function j(){let e=$();b.value=e.jy,x.value=e.jm,m(`update:modelValue`,le(e.jy,e.jm,e.jd)),k()}function M(e){if(!S.value)return!1;let{jy:t,jm:n,jd:r}=S.value;return t===b.value&&n===x.value&&r===e}function N(e){let t=$();return t.jy===b.value&&t.jm===x.value&&t.jd===e}function P(e){h.value?.contains(e.target)||k()}return t(()=>{document.addEventListener(`click`,P)}),i(()=>{document.removeEventListener(`click`,P)}),(t,i)=>(e(),l(`div`,{ref_key:`rootRef`,ref:h,class:r([`form-group persian-date-input`,{"persian-date-input--compact":o.compact}])},[o.label?(e(),l(`label`,me,p(o.label),1)):y(``,!0),s(`button`,{type:`button`,class:r([`input persian-date-input__trigger`,{"input-error":o.error,"is-open":v.value}]),disabled:o.disabled,onClick:C(D,[`stop`])},[s(`span`,{class:r({"persian-date-input__placeholder":!w.value})},p(w.value||o.placeholder||`انتخاب تاریخ`),3),i[3]||=s(`span`,{class:`persian-date-input__icon`,"aria-hidden":`true`},[s(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`},[s(`rect`,{x:`3`,y:`5`,width:`18`,height:`16`,rx:`2`,stroke:`currentColor`,"stroke-width":`1.5`}),s(`path`,{d:`M8 3v4M16 3v4M3 10h18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})])],-1)],10,he),v.value?(e(),l(`div`,{key:1,class:`persian-date-input__panel`,onClick:i[2]||=C(()=>{},[`stop`])},[s(`div`,ge,[s(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:i[0]||=e=>A(-1)},`‹`),s(`strong`,_e,p(E.value),1),s(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:i[1]||=e=>A(1)},`›`)]),s(`div`,ve,[(e(!0),l(g,null,n(c(ie),t=>(e(),l(`span`,{key:t},p(t),1))),128))]),s(`div`,ye,[(e(!0),l(g,null,n(T.value,(t,n)=>(e(),l(g,{key:n},[t===null?(e(),l(`span`,be)):(e(),l(`button`,{key:1,type:`button`,class:r([`persian-date-input__cell`,{"persian-date-input__cell--selected":M(t),"persian-date-input__cell--today":N(t)}]),onClick:e=>ee(t)},p(c(O)(String(t))),11,xe))],64))),128))]),s(`button`,{type:`button`,class:`persian-date-input__today`,onClick:j},`امروز`)])):y(``,!0),o.error?(e(),l(`p`,Se,p(o.error),1)):o.hint?(e(),l(`p`,Ce,p(o.hint),1)):y(``,!0)],2))}}),[[`__scopeId`,`data-v-fc20b5a1`]]);function Te(e){return e?.trim()&&(e.match(/آدرس:\s*(.+)/)?.[1]??e).trim()||`—`}function Ee(e){let t=new Map;for(let n of e){let e=Te(n.note),r=t.get(n.customerId);r?r.address===`—`&&e!==`—`&&(r.address=e):(r={customerId:n.customerId,customerName:n.customerName,customerPhone:n.customerPhone,address:e,lines:[]},t.set(n.customerId,r));for(let e of n.items)r.lines.push({lineKey:`${n.id}:${e.id}`,requestId:n.id,createdAt:n.createdAt,status:n.status,productName:e.productName,productCode:e.productCode})}return[...t.values()].sort((e,t)=>{let n=e.lines[0]?.createdAt??``;return(t.lines[0]?.createdAt??``).localeCompare(n)})}var De=/^(\d{4})-(\d{2})-(\d{2})$/;function Oe(e){return new Intl.DateTimeFormat(`en-CA`,{timeZone:`Asia/Tehran`,year:`numeric`,month:`2-digit`,day:`2-digit`}).format(new Date(e))}function ke(e,t){let n=t?.trim();return!n||!De.test(n)?e:e.filter(e=>Oe(e.createdAt)===n)}var Ae={class:`admin-page catalog-requests-page`},je={class:`catalog-requests-page__toolbar admin-card`},Me={class:`catalog-requests-page__search`},Ne={class:`catalog-requests-page__filters`},Pe={class:`catalog-requests-page__date-wrap`},Fe={key:2,class:`catalog-requests-page__list`},Ie=[`aria-expanded`,`onClick`],Le={class:`customer-card__chevron`,"aria-hidden":`true`},Re={class:`customer-card__toggle-main`},ze={class:`customer-card__identity`},Be={class:`customer-card__name`},Ve={class:`customer-card__phone`,dir:`ltr`},He={class:`customer-card__badge`},Ue={key:0,class:`customer-card__address`},We={class:`customer-card__table-wrap`},Ge={class:`customer-card__table`},Ke={class:`customer-card__date`},qe={dir:`ltr`,class:`customer-card__code`},Je={class:`customer-card__status`},Ye=v(d({__name:`CatalogRequestsView`,setup(i){let a=[{value:``,label:`همه وضعیتها`},{value:`new`,label:j.new},{value:`approved`,label:j.approved},{value:`ready_to_ship`,label:j.ready_to_ship},{value:`delivered`,label:j.delivered},{value:`returned`,label:j.returned},{value:`cancelled`,label:j.cancelled}],d=a.filter(e=>e.value),v=u([]),C=u(``),O=u(``),M=u(``),N=u(!0),P=b(),F=u(new Set),I=_(()=>ke(v.value,O.value)),L=_(()=>Ee(I.value)),R=_(()=>{let e=M.value.trim();return e?L.value.filter(t=>t.customerName.includes(e)||t.customerPhone.includes(e)):L.value}),z=_(()=>!!(C.value||O.value||M.value.trim()));function B(e){return!F.value.has(e)}function V(e){let t=new Set(F.value);t.has(e)?t.delete(e):t.add(e),F.value=t}async function H(){N.value=!0;try{v.value=await D.list({status:C.value||void 0,registeredOn:O.value||void 0})}catch(e){P.error(e instanceof w?e.message:`بارگذاری انجام نشد`)}finally{N.value=!1}}async function U(e,t){try{await D.updateStatus(e,t),P.success(`وضعیت بهروز شد`),await H()}catch(e){P.error(e instanceof w?e.message:`بهروزرسانی ناموفق بود`)}}function W(){O.value=``,H()}return t(()=>{H()}),(t,i)=>(e(),l(`div`,Ae,[i[5]||=s(`header`,{class:`catalog-requests-page__head`},[s(`div`,null,[s(`h1`,null,`درخواست کالیته فیزیکی`),s(`p`,null,`درخواستهای هر مشتری در یک کارت`)])],-1),s(`div`,je,[s(`div`,Me,[f(T,{name:`search`,size:18}),o(s(`input`,{"onUpdate:modelValue":i[0]||=e=>M.value=e,type:`search`,class:`catalog-requests-page__search-input`,placeholder:`جستجو در نام یا شماره مشتری...`,autocomplete:`off`},null,512),[[x,M.value]])]),s(`div`,Ne,[s(`div`,Pe,[f(we,{modelValue:O.value,"onUpdate:modelValue":[i[1]||=e=>O.value=e,H],class:`catalog-requests-page__date`,compact:``,placeholder:`انتخاب روز`},null,8,[`modelValue`]),O.value?(e(),l(`button`,{key:0,type:`button`,class:`catalog-requests-page__date-clear`,"aria-label":`پاک کردن تاریخ`,title:`پاک کردن تاریخ`,onClick:W},` × `)):y(``,!0)]),f(A,{modelValue:C.value,"onUpdate:modelValue":[i[2]||=e=>C.value=e,H],class:`catalog-requests-page__status`,"aria-label":`فیلتر وضعیت`,options:a},null,8,[`modelValue`])])]),N.value?(e(),m(k,{key:0,variant:`cards`})):R.value.length?(e(),l(`div`,Fe,[(e(!0),l(g,null,n(R.value,t=>(e(),l(`article`,{key:t.customerId,class:r([`customer-card`,{"customer-card--collapsed":!B(t.customerId)}])},[s(`button`,{type:`button`,class:`customer-card__toggle`,"aria-expanded":B(t.customerId),onClick:e=>V(t.customerId)},[s(`span`,Le,p(B(t.customerId)?`▾`:`◂`),1),s(`span`,Re,[s(`span`,ze,[s(`strong`,Be,p(t.customerName),1),s(`span`,Ve,p(t.customerPhone),1)]),s(`span`,He,p(t.lines.length)+` درخواست`,1)])],8,Ie),B(t.customerId)?(e(),l(`p`,Ue,[i[3]||=s(`span`,{class:`customer-card__address-label`},`آدرس:`,-1),h(` `+p(t.address),1)])):y(``,!0),o(s(`div`,We,[s(`table`,Ge,[i[4]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`تاریخ ثبت`),s(`th`,null,`محصول`),s(`th`,null,`کد`),s(`th`,null,`وضعیت`)])],-1),s(`tbody`,null,[(e(!0),l(g,null,n(t.lines,t=>(e(),l(`tr`,{key:t.lineKey},[s(`td`,Ke,p(c(E)(t.createdAt)),1),s(`td`,null,p(t.productName),1),s(`td`,qe,p(t.productCode),1),s(`td`,Je,[f(A,{"model-value":t.status,class:`customer-card__status-select`,options:c(d),"onUpdate:modelValue":e=>U(t.requestId,String(e))},null,8,[`model-value`,`options`,`onUpdate:modelValue`])])]))),128))])])],512),[[S,B(t.customerId)]])],2))),128))])):(e(),m(ee,{key:1,title:z.value?M.value.trim()?`مشتری با این جستجو پیدا نشد`:`درخواستی برای این فیلتر نیست`:`درخواستی نیست`,description:z.value?M.value.trim()?`عبارت جستجو یا فیلترها را تغییر دهید.`:`تاریخ یا وضعیت را تغییر دهید.`:void 0},null,8,[`title`,`description`]))]))}}),[[`__scopeId`,`data-v-01bfcf4e`]]);export{Ye as default}; |