1 line
9.2 KiB
JavaScript
1 line
9.2 KiB
JavaScript
import{B as e,O as t,Ot as n,T as ee,V as r,Y as i,Z as a,c as o,d as s,g as te,h as c,j as l,l as u,m as d,r as f,s as p,t as m,u as h}from"./_plugin-vue_export-helper-OaxA6A2f.js";import{a as ne,f as g,m as re,t as _}from"./http-Djf2pGxE.js";import{B as ie,O as ae,V as oe,v,z as se}from"./index-CznUUXv3.js";import{t as ce}from"./AdminPageSkeleton-CTgUqaAu.js";import{t as le}from"./BaseSwitch-TV5Yvtf7.js";import{t as ue}from"./BaseEmptyState-D6sk-aI_.js";import{t as y}from"./ActiveSwitchCell-CLCpM6ho.js";var de={class:`companies-page`},fe={key:2,class:`companies-page__table admin-card desktop-only`},pe={class:`admin-table-wrap`},me={class:`admin-table`},he=[`src`,`alt`],ge={key:1,class:`company-logo company-logo--fallback`},_e={class:`numeric`},ve={class:`status`},ye={class:`actions`},be={class:`admin-action-group`},xe=[`onClick`],b=[`onClick`],x={key:3,class:`compact-only admin-card-list`},S={class:`admin-card-item__header`},C={class:`companies-page__card-logo`},w=[`src`,`alt`],T={key:1,class:`company-logo company-logo--fallback`},E={class:`admin-card-item__title`},D={class:`companies-page__card-desc`},O={class:`admin-card-item__meta`},k={class:`admin-card-item__actions`},A=[`onClick`],j=[`onClick`],M={key:0,class:`admin-form__error`,role:`alert`},Se={class:`admin-form__field`},Ce={class:`logo-upload`},we={key:0,class:`logo-upload__preview-wrap`},Te=[`src`],Ee={key:1,class:`logo-upload__dropzone`,for:`company-logo-file`},De={class:`admin-form__field`},Oe={class:`admin-form__field`},N={class:`admin-form__row`},ke={class:`admin-form__field`},Ae={class:`admin-form__field`},je=[`disabled`],Me=2097152,P=m(te({__name:`CompaniesView`,setup(te){let m=[`image/png`,`image/jpeg`,`image/webp`,`image/svg+xml`],P=se(),F=ne(),I=a([]),L=a(!0),R=a(null),z=a(null),B=a(null),V=a(null),H=a(!1);async function Ne(){L.value=!0;try{I.value=await v.list()}catch(e){F.error(e instanceof _?e.message:`بارگذاری شرکت‌ها انجام نشد.`)}finally{L.value=!1}}ee(()=>{Ne()});let U=()=>({name:``,description:``,displayOrder:I.value.length+1,isActive:!0}),W=i(U()),G=a(``),Pe=p(()=>R.value!==null),Fe=p(()=>R.value===`edit`?`ویرایش شرکت`:`اÙ�زودن شرکت`),Ie=p(()=>R.value===`edit`?`ذخیره تغییرات`:`ثبت شرکت`),Le=p(()=>W.name.trim().length>0&&B.value!==null);function K(){B.value=null,V.value&&(V.value.value=``)}function q(){R.value=`add`,z.value=null,Object.assign(W,U()),K(),G.value=``}function J(e){R.value=`edit`,z.value=e.id,W.name=e.name,W.description=e.description===`—`?``:e.description,W.displayOrder=e.displayOrder,W.isActive=e.isActive,B.value=e.logoUrl,V.value&&(V.value.value=``),G.value=``}function Y(){R.value=null,z.value=null,G.value=``,K()}function Re(e){let t=e.target.files?.[0];if(!t)return;if(!m.includes(t.type)){G.value=`Ù�رمت مجاز: PNGØŒ JPGØŒ WEBP یا SVG`;return}if(t.size>Me){G.value=`ØØ¯Ø§Ú©Ø«Ø± ØØ¬Ù… تصویر Û² مگابایت است.`;return}G.value=``;let n=new FileReader;n.onload=()=>{B.value=n.result},n.readAsDataURL(t)}async function ze(){B.value&&await ie({title:`ØØ°Ù� تصویر`,message:`آیا از ØØ°Ù� لوگوی شرکت مطمئن هستید؟`,confirmLabel:`ØØ°Ù�`,cancelLabel:`انصراÙ�`,tone:`danger`})&&K()}async function X(){let e=W.name.trim();if(!e){G.value=`نام شرکت الزامی است.`;return}if(!B.value){G.value=`آپلود لوگو الزامی است.`;return}if(I.value.some(t=>t.name===e&&t.id!==z.value)){G.value=`شرکتی با این نام قبلاً ثبت شده است.`;return}H.value=!0;try{if(R.value===`edit`&&z.value){let t=await v.update(z.value,{name:e,description:W.description.trim()||void 0,displayOrder:Number(W.displayOrder)||1,isActive:W.isActive,logoUrl:B.value}),n=I.value.findIndex(e=>e.id===z.value);n!==-1&&(I.value[n]={...I.value[n],...t}),F.success(`اطلاعات شرکت به‌روزرسانی شد.`)}else{let t=await v.create({name:e,slug:ae(e),description:W.description.trim()||void 0,displayOrder:Number(W.displayOrder)||I.value.length+1,isActive:W.isActive,logoUrl:B.value});I.value.push(t),F.success(`شرکØ
|