Files
Lucky_Wheel/apps/admin/dist/assets/WorkspaceListView-7GzOsVAg.js

2 lines
5.5 KiB
JavaScript

import{t as h}from"./farsi-number-stB7JMN0.js";import{d as P,u as $,l as j,c,a as g,e as i,b as t,w as n,x as v,h as m,n as z,r,o,f as k,G,a3 as K,t as _,y as x,T as R,F as H,E as J,g as Q,B as b,_ as X}from"./index-BOpodV_K.js";import{P as Y}from"./ProjectOutlined-ErTDdUyu.js";const Z={class:"workspaces-page"},ee={class:"page-header-title"},ae={key:0,class:"page-actions"},te={key:0,style:{display:"flex","align-items":"center",gap:"8px"}},se={key:2,style:{color:"#64748b","font-size":"13px"}},ne={key:5,class:"date-cell"},le={key:0,style:{"font-size":"11px",color:"#94a3b8"}},oe=P({__name:"WorkspaceListView",setup(ie){const I=$(),w=m(!1),O=m([]),f=m(!1),d=m(!1),y=m(null),C=m(!1),e=Q({name:"",slug:"",description:""});async function L(){var l;w.value=!0;try{const a=await z.get("/admin/workspaces");O.value=Array.isArray(a.data)?a.data:((l=a.data)==null?void 0:l.data)||[]}finally{w.value=!1}}function E(){d.value=!1,y.value=null,e.name="",e.slug="",e.description="",f.value=!0}function T(l){d.value=!0,y.value=l.id,e.name=l.name,e.slug=l.slug,e.description=l.description||"",f.value=!0}async function D(){var l,a;if(!e.name.trim()){b.error("نام فضای کاری الزامی است.");return}C.value=!0;try{if(d.value&&y.value)await z.patch(`/admin/workspaces/${y.value}`,{name:e.name.trim(),description:((l=e.description)==null?void 0:l.trim())||void 0}),b.success("مشخصات فضای کاری به‌روزرسانی شد.");else{if(!e.slug.trim()){b.error("شناسه انگلیسی (اسلاگ) الزامی است.");return}await z.post("/admin/workspaces",{name:e.name.trim(),slug:e.slug.trim().toLowerCase(),description:((a=e.description)==null?void 0:a.trim())||void 0}),b.success("فضای کاری جدید با موفقیت ایجاد شد.")}f.value=!1,L()}finally{C.value=!1}}const M=[{title:"نام فضای کاری",dataIndex:"name",key:"name"},{title:"شناسه یکتا (Slug)",dataIndex:"slug",key:"slug"},{title:"توضیحات",dataIndex:"description",key:"description"},{title:"تعداد کمپین‌ها",key:"campaignsCount",align:"center"},{title:"مدیران منتسب",key:"adminsCount",align:"center"},{title:"تاریخ ایجاد",dataIndex:"createdAt",key:"createdAt"},{title:"عملیات",key:"actions",width:80,align:"center"}];return j(()=>{L()}),(l,a)=>{const V=r("a-button"),S=r("a-tag"),N=r("a-table"),U=r("a-card"),B=r("a-input"),A=r("a-form-item"),W=r("a-textarea"),q=r("a-form"),F=r("a-modal");return o(),c("div",Z,[g("div",ee,[a[5]||(a[5]=g("div",null,[g("h1",{class:"title"},"مدیریت فضاهای کاری سازمانی"),g("p",{class:"subtitle"},"تعریف سازمان‌ها، شعب یا برندها جهت تفکیک کمپین‌ها و اسکوپ دسترسی مدیران")],-1)),i(I).can("workspaces:manage")?(o(),c("div",ae,[t(V,{type:"primary",size:"large",onClick:E},{icon:n(()=>[t(i(G))]),default:n(()=>[a[4]||(a[4]=k(" تعریف فضای کاری جدید ",-1))]),_:1})])):v("",!0)]),t(U,{bordered:!1,class:"main-card"},{default:n(()=>[t(N,{dataSource:O.value,columns:M,loading:w.value,rowKey:"id",size:"middle",pagination:!1},{bodyCell:n(({column:s,record:u})=>[s.key==="name"?(o(),c("div",te,[t(i(K),{style:{color:"#2563eb","font-size":"16px"}}),g("strong",null,_(u.name),1)])):s.key==="slug"?(o(),x(S,{key:1,color:"blue",dir:"ltr",style:{"font-family":"monospace"}},{default:n(()=>[k(_(u.slug),1)]),_:2},1024)):s.key==="description"?(o(),c("span",se,_(u.description||"—"),1)):s.key==="campaignsCount"?(o(),x(S,{key:3,color:"purple",style:{"border-radius":"6px"}},{default:n(()=>{var p;return[t(i(Y),{style:{"margin-left":"4px"}}),k(" "+_(i(h)(((p=u._count)==null?void 0:p.campaigns)??0))+" کمپین ",1)]}),_:2},1024)):s.key==="adminsCount"?(o(),x(S,{key:4,color:"cyan",style:{"border-radius":"6px"}},{default:n(()=>{var p;return[t(i(R),{style:{"margin-left":"4px"}}),k(" "+_(i(h)(((p=u._count)==null?void 0:p.adminAssignments)??0))+" مدیر ",1)]}),_:2},1024)):s.key==="createdAt"?(o(),c("span",ne,_(i(h)(new Date(u.createdAt).toLocaleDateString("fa-IR"))),1)):s.key==="actions"?(o(),c(H,{key:6},[i(I).can("workspaces:manage")?(o(),x(V,{key:0,type:"text",size:"small",onClick:p=>T(u)},{default:n(()=>[t(i(J),{style:{color:"#2563eb"}})]),_:1},8,["onClick"])):v("",!0)],64)):v("",!0)]),_:1},8,["dataSource","loading"])]),_:1}),t(F,{open:f.value,"onUpdate:open":a[3]||(a[3]=s=>f.value=s),title:d.value?"ویرایش فضای کاری":"تعریف فضای کاری جدید",okText:"ذخیره",cancelText:"انصراف",confirmLoading:C.value,onOk:D},{default:n(()=>[t(q,{layout:"vertical",style:{"margin-top":"16px"}},{default:n(()=>[t(A,{label:"نام فضای کاری (فارسی)",required:""},{default:n(()=>[t(B,{value:e.name,"onUpdate:value":a[0]||(a[0]=s=>e.name=s),placeholder:"مثال: شعبه دیجیتال دیجی‌کالا",size:"large"},null,8,["value"])]),_:1}),t(A,{label:"شناسه انگلیسی یکتا (Slug)",required:!d.value},{default:n(()=>[t(B,{value:e.slug,"onUpdate:value":a[1]||(a[1]=s=>e.slug=s),placeholder:"digikala-branch",dir:"ltr",size:"large",disabled:d.value},null,8,["value","disabled"]),d.value?(o(),c("span",le," شناسه یکتای فضای کاری پس از ایجاد قابل ویرایش نیست. ")):v("",!0)]),_:1},8,["required"]),t(A,{label:"توضیحات اختیاری"},{default:n(()=>[t(W,{value:e.description,"onUpdate:value":a[2]||(a[2]=s=>e.description=s),placeholder:"توضیحات کوتاه در مورد این فضای کاری...",rows:3},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","title","confirmLoading"])])}}}),ce=X(oe,[["__scopeId","data-v-03dd7926"]]);export{ce as default};