2 lines
7.0 KiB
JavaScript
2 lines
7.0 KiB
JavaScript
import{_ as M}from"./BasicMainCard-5c5f6d5b.js";import{_ as S}from"./BasicModal.vue_vue_type_style_index_0_lang-53a0262f.js";import{_ as O,u as V}from"./useBaseTable-8494769c.js";import{_ as U}from"./button.vue_vue_type_style_index_0_lang-6c8a1754.js";import{I}from"./Icon-a994075d.js";import{t as j}from"./useDataTime-14b71fd1.js";import{_ as z,G as N,H as J,I as L,d as q,g,A as G,o as H,c as F,b as r,w as s,a as d,e as K,J as Q,j as h,D as p}from"./index-b8949cd5.js";import{_ as W}from"./TextPreview.vue_vue_type_script_setup_true_lang-7d38bf77.js";import{M as T}from"./index-5dac065a.js";import{I as X}from"./index-be8f184f.js";import{T as b}from"./isSymbol-71c709aa.js";import"./Grid-708d80d5.js";import"./index-6175522e.js";import"./_plugin-vue_export-helper-80a7ceaa.js";import"./shallowequal-a1fb5178.js";import"./index-21c91830.js";import"./vnode-30b649a7.js";import"./index-3f37bcfd.js";import"./useState-3541c1c7.js";import"./useRefs-ac0fbe98.js";import"./_flatRest-1538f4ef.js";import"./isMobile-e2e89480.js";import"./omit-df5a2f6f.js";import"./index-24c74f31.js";import"./Col-729d4045.js";import"./styleChecker-b373a9d5.js";import"./isPlainObject-ca054af0.js";import"./index-f14a229e.js";import"./updateLocale-8e612d44.js";import"./index-8b168f42.js";import"./useMemo-0a6b6d51.js";import"./FormItemContext-9a696347.js";import"./lodash-a74993a4.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-db4861df.js";import"./index-d5350fd3.js";import"./Badge-ae00479c.js";import"./isNumeric-3f69e2aa.js";import"./index-97b694b9.js";import"./index-8b8dacd8.js";import"./index-2eed37e0.js";import"./DialogWrap-1ca5eb9f.js";import"./pickAttrs-52cf5a7c.js";import"./css-aae66f86.js";import"./index-fc7471c3.js";import"./toArray-6496b5b4.js";import"./SearchOutlined-78438a74.js";import"./index-93cdd76f.js";import"./textUtils-c37780ad.js";const Y=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:t=>t.record.index+1},{title:"نام کاربر",dataIndex:"owner_id",key:"owner_id",customRender:t=>t.record.owner_name||t.record.owner_id||"-"},{title:"متن نظر یا ایده",dataIndex:"text",key:"text",slot:"text"},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:t=>j(t.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"},{title:"پین شده",dataIndex:"pined",key:"pined",type:"Boolean",filterable:!0,show:!1}];async function Z(t){const c=await N("comments",t);return Array.isArray(c)?c:[c]}async function A(t,c){const o=await J("comments",t,c);return Array.isArray(o)?o:[o]}async function ee(t){await L("comments",t)}async function te(t){const{TableEngineRequest:c}=await z(()=>import("./buildSupabaseQuery-bae49c63.js"),["assets/buildSupabaseQuery-bae49c63.js","assets/index-b8949cd5.js","assets/index-a54d32f7.css"]),o={...t};!o.sort&&!o.order&&(o.order="-id"),o.select=["*","users!owner_id(first_name, last_name, phone)"];const l=await c(o,"comments");try{if(Array.isArray(l==null?void 0:l.rows)){const y=o.page||1,_=o.limit||200,x=(y-1)*_,v=l.rows.map((e,m)=>{let w=null;if(e.owner_id){const f=Array.isArray(e.users)?e.users[0]:e.users;f?w=`${f.first_name||""} ${f.last_name||""}`.trim()||f.phone||`کاربر ${e.owner_id}`:w=`کاربر ${e.owner_id}`}return{id:e.id,owner_id:e.owner_id??null,owner_name:w,text:e.text??"",created_at:e.created_at??"",updated_at:e.updated_at??"",index:x+m,...e}});return{...l,rows:v}}}catch(y){console.log("[getCommentsTable] normalize error:",y)}return l}const ne={class:"flex justify-between items-center mb-4"},oe=d("h2",null,"ایده و نظرات",-1),ae={class:"gap-2 flex justify-center"},re=d("span",null,"پین کردن",-1),ie=d("span",null,"حذف",-1),se=d("span",null,"ویرایش",-1),le={class:"space-y-4"},ce=d("div",{class:"mb-1 text-sm text-gray-600"},"متن پیام *",-1),at=q({__name:"index",setup(t){const{TextArea:c}=X,[o,l]=V(),y=g({columns:Y,api:te,defaultPageLimit:20}),_=g(!1),x=g(!1),v=g(null),e=G(),m=g({owner_id:null,text:""});async function w(){var n;x.value=!1,v.value=null,e.userInfo||await e.getMyInfo();const a=((n=e.userInfo)==null?void 0:n.id)||null;m.value={owner_id:a,text:""},_.value=!0}function f(){_.value=!1}async function $(a){v.value=a.id,x.value=!0,m.value={owner_id:null,text:a.text||""},_.value=!0}async function B(a){const n=a.pined===!0;T.confirm({title:"آیا مطمئن هستید؟",content:n?"این پیام در حال حاضر پین شده است. آیا میخواهید آن را از حالت پین خارج کنید؟":"آیا میخواهید این پیام را پین کنید؟",okText:"بله",cancelText:"خیر",onOk:async()=>{try{const i=!n,k={pined:i,pined_at:i?new Date().toISOString():null};await A(a.id,k),p.success(i?"پیام با موفقیت پین شد!":"پیام با موفقیت از حالت پین خارج شد!"),l()}catch(i){p.error(i.message||"خطا در تغییر وضعیت پین پیام")}}})}async function D(a){T.confirm({title:"آیا مطمئن هستید؟",content:"آیا میخواهید این پیام را حذف کنید؟",okText:"بله",cancelText:"خیر",onOk:async()=>{try{await ee(a.id),p.success("پیام با موفقیت حذف شد!"),l()}catch(n){p.error(n.message||"خطا در حذف پیام")}}})}async function R(){var a,n;if(!((a=m.value.text)!=null&&a.trim())){p.error("لطفاً متن نظر یا ایده را وارد کنید");return}try{if(x.value&&v.value)await A(v.value,{text:m.value.text}),p.success("پیام با موفقیت بهروزرسانی شد!");else{e.userInfo||await e.getMyInfo();const i={owner_id:((n=e.userInfo)==null?void 0:n.id)||null,text:m.value.text};await Z(i),p.success("پیام با موفقیت افزوده شد!")}f(),l()}catch(i){p.error(i.message||"خطا در ذخیره پیام")}}return(a,n)=>{const i=U,k=O,P=S,E=M;return H(),F("div",null,[r(E,null,{default:s(()=>[d("div",ne,[oe,r(i,{type:"primary",onClick:w},{default:s(()=>[K("افزودن نظر یا ایده")]),_:1})]),r(k,Q(y.value,{ref:"table",onRegister:h(o)}),{text:s(({record:u})=>[r(W,{text:u.text},null,8,["text"])]),action:s(({record:u})=>[d("div",ae,[r(h(b),{class:"cursor-pointer"},{title:s(()=>[re]),default:s(()=>[r(I,{icon:"vuesax-linear:bookmark",color:"#16A34A",onClick:C=>B(u)},null,8,["onClick"])]),_:2},1024),r(h(b),{class:"cursor-pointer"},{title:s(()=>[ie]),default:s(()=>[r(I,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:C=>D(u)},null,8,["onClick"])]),_:2},1024),r(h(b),{class:"cursor-pointer"},{title:s(()=>[se]),default:s(()=>[r(I,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:C=>$(u)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),r(P,{visible:_.value,"onUpdate:visible":n[1]||(n[1]=u=>_.value=u),title:x.value?"ویرایش پیام":"افزودن پیام",onOk:R,onCancel:f,width:"80%"},{default:s(()=>[d("div",le,[d("div",null,[ce,r(h(c),{value:m.value.text,"onUpdate:value":n[0]||(n[0]=u=>m.value.text=u),placeholder:"متن پیام",rows:6},null,8,["value"])])])]),_:1},8,["visible","title"])]),_:1})])}}});export{at as default};
|