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