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
6.5 KiB
JavaScript
1 line
6.5 KiB
JavaScript
import{$ as e,Ct as t,F as n,G as r,I as i,J as a,N as o,Q as ee,R as te,V as ne,X as s,Z as c,c as l,dt as u,et as d,gt as f,h as re,ht as p,it as m,lt as h,nt as g,q as ie,rt as _,st as ae,vt as v,yt as y,z as oe}from"./index-B2VD3zy8.js";import{t as b}from"./BaseSwitch-dp2xMemS.js";import{t as se}from"./BaseEmptyState-DGu6Pfui.js";import{t as x}from"./ActiveSwitchCell-DIzTn08M.js";var S={class:`accounts-page`},ce={class:`admin-page-header`},le={class:`admin-page-header__title`},ue={key:1,class:`accounts-page__table admin-card desktop-only`},de={class:`admin-table-wrap`},fe={class:`admin-table`},pe={class:`status`},me={key:2,class:`compact-only admin-card-list`},C={class:`admin-card-item__header`},w={class:`admin-card-item__title`},T={class:`admin-card-item__meta`},E={key:0},D={key:1,dir:`ltr`},O={key:0,class:`admin-form__error`,role:`alert`},k={class:`admin-form__row`},A={class:`admin-form__field`},j={class:`admin-form__field`},M={class:`admin-form__field`},N={class:`admin-form__row`},P={class:`admin-form__field`},F={class:`admin-form__field`},I={class:`admin-form__field`},L=[`disabled`],R=ne(m({__name:`BankAccountsView`,setup(ne){let m=n(),R=i(),z=oe(),B=y(null),V=y([]),H=y(!1),U=y(``),W=y(!1),G=s(()=>String(m.params.companyId)),K=s(()=>V.value),q=()=>({bankName:``,accountNumber:``,accountHolder:B.value?.name??``,cardNumber:``,iban:``,isActive:!0}),J=v(q()),Y=s(()=>J.bankName.trim().length>0&&J.accountNumber.trim().length>0&&J.accountHolder.trim().length>0);async function he(){try{let[e,t]=await Promise.all([re.get(G.value),l.listByCompany(G.value)]);B.value=e,V.value=t}catch(e){z.error(e instanceof o?e.message:`بارگذاری حسابها انجام نشد.`)}}ae(()=>{he()});function X(){Object.assign(J,q()),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 l.create(G.value,{bankName:J.bankName.trim(),accountNumber:J.accountNumber.trim(),accountHolder:J.accountHolder.trim(),cardNumber:J.cardNumber.trim()||`-`,iban:J.iban.trim()||`-`,isActive:J.isActive,displayOrder:V.value.length+1});V.value.push(e),z.success(`حساب بانکی جدید ثبت شد.`),Z()}catch(e){z.error(e instanceof o?e.message:`ثبت حساب انجام نشد.`)}finally{W.value=!1}}async function $(e,t){await l.setActive(e,t)}function ge(){R.push(`/companies`)}return(n,i)=>(h(),d(`div`,S,[c(`div`,ce,[c(`div`,null,[c(`h1`,le,` مدیریت حسابهای بانکی — `+t(B.value?.name??`…`),1)]),c(`div`,{class:`admin-action-group`},[c(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:X},` افزودن حساب `),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:ge},` بازگشت `)])]),K.value.length?(h(),d(`div`,ue,[c(`div`,de,[c(`table`,fe,[i[6]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`بانک`),c(`th`,null,`حساب بانکی`),c(`th`,null,`نام صاحب`),c(`th`,null,`شماره کارت`),c(`th`,null,`شماره شبا`),c(`th`,{class:`status`},`وضعیت`)])],-1),c(`tbody`,null,[(h(!0),d(a,null,u(K.value,e=>(h(),d(`tr`,{key:e.id},[c(`td`,null,t(e.bankName),1),c(`td`,null,t(e.accountNumber),1),c(`td`,null,t(e.accountHolder),1),c(`td`,null,t(e.cardNumber||`—`),1),c(`td`,null,t(e.iban||`—`),1),c(`td`,pe,[_(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.bankName,"entity-type":`حساب بانکی`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])])]))),128))])])])])):(h(),ee(se,{key:0,class:`admin-card`,icon:`wallet`,title:`حساب بانکی ثبت نشده`,description:`برای این شرکت هنوز حساب بانکی ثبت نشده است.`},{default:p(()=>[c(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:X},` افزودن حساب `)]),_:1})),K.value.length?(h(),d(`div`,me,[(h(!0),d(a,null,u(K.value,n=>(h(),d(`article`,{key:n.id,class:`admin-card-item`},[c(`div`,C,[c(`p`,w,`بانک `+t(n.bankName),1),_(x,{id:n.id,modelValue:n.isActive,"onUpdate:modelValue":e=>n.isActive=e,"entity-name":n.bankName,"entity-type":`حساب بانکی`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),c(`div`,T,[c(`span`,null,t(n.accountHolder),1),c(`span`,null,`حساب: `+t(n.accountNumber),1),n.cardNumber?(h(),d(`span`,E,`کارت: `+t(n.cardNumber),1)):e(``,!0),n.iban?(h(),d(`span`,D,t(n.iban),1)):e(``,!0)])]))),128))])):e(``,!0),_(te,{open:H.value,title:`افزودن حساب بانکی`,size:`lg`,onClose:Z},{footer:p(()=>[c(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},` انصراف `),c(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!Y.value||W.value,onClick:Q},` ثبت حساب `,8,L)]),default:p(()=>[c(`form`,{class:`admin-form`,onSubmit:ie(Q,[`prevent`])},[U.value?(h(),d(`p`,O,t(U.value),1)):e(``,!0),c(`div`,k,[c(`div`,A,[i[7]||=c(`label`,{for:`bank-name`},[g(`نام بانک `),c(`span`,{class:`admin-form__required`},`*`)],-1),f(c(`input`,{id:`bank-name`,"onUpdate:modelValue":i[0]||=e=>J.bankName=e,type:`text`,class:`admin-input`,placeholder:`مثال: ملت`},null,512),[[r,J.bankName]])]),c(`div`,j,[i[8]||=c(`label`,{for:`account-number`},[g(` شماره حساب `),c(`span`,{class:`admin-form__required`},`*`)],-1),f(c(`input`,{id:`account-number`,"onUpdate:modelValue":i[1]||=e=>J.accountNumber=e,type:`text`,class:`admin-input`,placeholder:`1234567890`,inputmode:`numeric`,dir:`ltr`},null,512),[[r,J.accountNumber]])])]),c(`div`,M,[i[9]||=c(`label`,{for:`account-holder`},[g(` نام صاحب حساب `),c(`span`,{class:`admin-form__required`},`*`)],-1),f(c(`input`,{id:`account-holder`,"onUpdate:modelValue":i[2]||=e=>J.accountHolder=e,type:`text`,class:`admin-input`},null,512),[[r,J.accountHolder]])]),c(`div`,N,[c(`div`,P,[i[10]||=c(`label`,{for:`card-number`},`شماره کارت`,-1),f(c(`input`,{id:`card-number`,"onUpdate:modelValue":i[3]||=e=>J.cardNumber=e,type:`text`,class:`admin-input`,placeholder:`6104 3378 0077 1234`,inputmode:`numeric`,dir:`ltr`},null,512),[[r,J.cardNumber]])]),c(`div`,F,[i[11]||=c(`label`,{for:`iban`},`شماره شبا`,-1),f(c(`input`,{id:`iban`,"onUpdate:modelValue":i[4]||=e=>J.iban=e,type:`text`,class:`admin-input`,placeholder:`IR...`,dir:`ltr`},null,512),[[r,J.iban]])])]),c(`div`,I,[_(b,{modelValue:J.isActive,"onUpdate:modelValue":i[5]||=e=>J.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])],32)]),_:1},8,[`open`])]))}}),[[`__scopeId`,`data-v-0011826b`]]);export{R as default}; |