2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
import{_ as K}from"./BasicMainCard-66b390aa.js";import{_ as j,u as A}from"./useBaseTable-d9c20676.js";import{_ as D}from"./button.vue_vue_type_style_index_0_lang-9acb6bbb.js";import{g as F}from"./member-a42e9b70.js";import{s as E,a as G}from"./pushNotification-f7b36998.js";import{c as L}from"./smsUserColumns-e23286f1.js";import{M as O}from"./index-5ffa18ef.js";import{I as y}from"./index-31dc1979.js";import{d as $,g as m,h as P,o as _,c as b,a as e,b as i,j as h,w,e as u,t as p,k as x,G as q,D as v,i as z}from"./index-6d795230.js";import"./index-559c3270.js";import"./index-b336da6d.js";import"./_plugin-vue_export-helper-f50b9772.js";import"./shallowequal-703850b3.js";import"./vnode-464346d5.js";import"./styleChecker-4390889b.js";import"./useState-3687f263.js";import"./useRefs-f311b0d7.js";import"./Col-899793db.js";import"./index-200d409a.js";import"./isPlainObject-3687c6e5.js";import"./Icon-c317d0f6.js";import"./fa_IR-18867896.js";import"./toArray-ae995052.js";import"./FormItemContext-cfd53c8f.js";import"./pickAttrs-954d14dc.js";import"./lodash-0405a701.js";import"./BasicModal.vue_vue_type_style_index_0_lang-5ab3ab1e.js";import"./index-b10e6723.js";import"./index-5d1c7ac1.js";import"./useDataTime-d5dc0b88.js";const H={class:"space-y-4"},J={class:"grid grid-cols-1 xl:grid-cols-3 gap-4"},Q={class:"xl:col-span-2 space-y-4"},W=e("div",{class:"mb-1 text-sm text-gray-600"},"عنوان نوتیفیکیشن *",-1),X=e("div",{class:"mb-1 text-sm text-gray-600"},"متن نوتیفیکیشن *",-1),Y=e("div",{class:"mb-1 text-sm text-gray-600"},"لینک (اختیاری)",-1),Z={class:"flex flex-wrap gap-2"},ee={class:"bg-gray-50 rounded-lg p-4 border border-gray-200 space-y-2 text-sm"},te=e("div",{class:"font-semibold text-gray-700 mb-2"},"راهنما",-1),se=e("p",{class:"text-gray-600 leading-6 m-0"}," فقط کاربرانی که اعلان را در اپ فعال کردهاند، نوتیف دریافت میکنند. ",-1),le=e("p",{class:"text-gray-600 leading-6 m-0"}," برای ارسال محدود، کاربران را از جدول پایین انتخاب کنید. ",-1),oe={key:0,class:"pt-2 border-t border-gray-200"},ae=e("div",{class:"font-medium mb-1"},"آخرین ارسال:",-1),re={key:0},ne={key:1},ie={class:"border-t border-gray-200 pt-4"},ue=e("div",{class:"mb-2 text-sm text-gray-600"}," کاربران را جستجو کنید و برای ارسال محدود، آنها را انتخاب کنید. ",-1),de=$({__name:"PushSendPanel",setup(C){const{TextArea:S}=y,[k]=A(),s=m({title:"ماچارتا",body:"",url:"/"}),g=m(!1),n=m([]),a=m(null),N=P(()=>({selectedRowKeys:n.value,onChange:l=>{n.value=l.map(String)},preserveSelectedRowKeys:!0})),R=m({columns:L,api:async l=>{const t={...l};return!t.sort&&!t.order&&(t.order="-created_at"),F(t)},defaultPageLimit:20,height:"45vh"}),B=P(()=>{var l,t;return!!((l=s.value.title)!=null&&l.trim()&&((t=s.value.body)!=null&&t.trim()))});function U(){var l,t;return(l=s.value.title)!=null&&l.trim()?(t=s.value.body)!=null&&t.trim()?!0:(v.error("لطفاً متن نوتیفیکیشن را وارد کنید"),!1):(v.error("لطفاً عنوان نوتیفیکیشن را وارد کنید"),!1)}async function T(l){if(!U())return;if(l==="selected"&&!n.value.length){v.warning("حداقل یک کاربر انتخاب کنید");return}const t=l==="selected"?`آیا از ارسال نوتیفیکیشن به ${n.value.length} کاربر انتخابشده مطمئن هستید؟`:"آیا از ارسال نوتیفیکیشن به همه کاربران مطمئن هستید؟";O.confirm({title:"تأیید ارسال نوتیفیکیشن",content:t,okText:"بله، ارسال کن",cancelText:"انصراف",centered:!0,onOk:async()=>{var d,f,r;g.value=!0;try{const o={title:s.value.title.trim(),body:s.value.body.trim(),url:((d=s.value.url)==null?void 0:d.trim())||"/"},c=l==="selected"?await E(o.title,o.body,n.value,o.url):await G(o.title,o.body,o.url);a.value=c;const I=c.subscribed!=null?` — ${c.subscribed} نفر اشتراک push دارند`:"";v.success(`نوتیفیکیشن ارسال شد (${c.sent} موفق، ${c.failed} ناموفق${I})`),l==="all"&&(s.value.body="")}catch(o){v.error(((r=(f=o==null?void 0:o.response)==null?void 0:f.data)==null?void 0:r.error)||o.message||"خطا در ارسال نوتیفیکیشن")}finally{g.value=!1}}})}function M(){return T("all")}function V(){return T("selected")}return(l,t)=>{const d=D,f=j;return _(),b("div",H,[e("div",J,[e("div",Q,[e("div",null,[W,i(h(y),{value:s.value.title,"onUpdate:value":t[0]||(t[0]=r=>s.value.title=r),placeholder:"مثلاً: اطلاعیه مهم"},null,8,["value"])]),e("div",null,[X,i(h(S),{value:s.value.body,"onUpdate:value":t[1]||(t[1]=r=>s.value.body=r),placeholder:"متن دلخواه برای کاربران",rows:4,maxlength:500,"show-count":""},null,8,["value"])]),e("div",null,[Y,i(h(y),{value:s.value.url,"onUpdate:value":t[2]||(t[2]=r=>s.value.url=r),placeholder:"/shop یا /matches"},null,8,["value"])]),e("div",Z,[i(d,{type:"primary",loading:g.value,disabled:!B.value,onClick:M},{default:w(()=>[u(" ارسال به همه کاربران ")]),_:1},8,["loading","disabled"]),i(d,{type:"primary",ghost:"",loading:g.value,disabled:!B.value||!n.value.length,onClick:V},{default:w(()=>[u(" ارسال به انتخابشدهها ("+p(n.value.length)+") ",1)]),_:1},8,["loading","disabled"])])]),e("div",ee,[te,se,le,a.value?(_(),b("div",oe,[ae,e("div",null,[u("موفق: "),e("strong",null,p(a.value.sent),1)]),e("div",null,[u("ناموفق: "),e("strong",null,p(a.value.failed),1)]),a.value.targeted!=null?(_(),b("div",re,[u(" انتخابشده: "),e("strong",null,p(a.value.targeted),1)])):x("",!0),a.value.subscribed!=null?(_(),b("div",ne,[u(" دارای اشتراک push: "),e("strong",null,p(a.value.subscribed),1)])):x("",!0)])):x("",!0)])]),e("div",ie,[ue,i(f,q(R.value,{"row-selection":N.value,onRegister:h(k)}),null,16,["row-selection","onRegister"])])])}}}),ce=e("div",{class:"flex justify-between items-center mb-4"},[e("h2",null,"ارسال نوتیفیکیشن Push")],-1),Le=$({__name:"index",setup(C){return(S,k)=>{const s=K;return _(),z(s,null,{default:w(()=>[ce,i(de)]),_:1})}}});export{Le as default};
|