Files
machartaa_admin_dist/dist/assets/index-7c5c23e6.js
T
2026-06-04 15:16:36 +03:30

2 lines
14 KiB
JavaScript

import{_ as ae}from"./BasicMainCard-870e6a2f.js";import{_ as le}from"./BasicModal.vue_vue_type_style_index_0_lang-726d71cc.js";import{_ as se,a as ie,u as ne}from"./useBaseTable-54b44400.js";import{_ as re}from"./BasicTextArea.vue_vue_type_style_index_0_lang-65d10079.js";import{_ as ue}from"./BasicInput.vue_vue_type_style_index_0_lang-d9dc6382.js";import{_ as ce}from"./button.vue_vue_type_style_index_0_lang-25794594.js";import{b as de,u as pe,c as me,d as ve,e as _e,f as he}from"./competition-d046c4a4.js";import{t as fe}from"./useDataTime-6fbd057f.js";import{I as B}from"./Icon-b81ad543.js";import{d as ge,g as h,A as xe,x as ye,o as b,c as k,b as i,w as m,a as t,e as we,G as be,j as S,t as L,k as A,z as ke,F as Ue,p as Me,D as _,H as Ce}from"./index-4139499d.js";import{e as R,g as F}from"./convert-67c23be8.js";import{_ as $e}from"./TextPreview.vue_vue_type_script_setup_true_lang-6f735e2e.js";import{M as Q}from"./index-3fee3d89.js";import{S as Ie}from"./index-975727f6.js";import{U as Be}from"./index-ef8c1567.js";import{T as P}from"./shallowequal-26ff1c74.js";import"./_plugin-vue_export-helper-c6b863a5.js";import"./index-1f06eb35.js";import"./index-32f1bdce.js";import"./Col-8e46ddda.js";import"./vnode-b177b857.js";import"./useState-ec2259f2.js";import"./useRefs-5fd4ee0f.js";import"./isPlainObject-ae5f6084.js";import"./index-862849ae.js";import"./toArray-92f12fb1.js";import"./FormItemContext-dfbd6afd.js";import"./pickAttrs-782832e8.js";import"./index-23976fcd.js";import"./index-9520c8d4.js";import"./usePrice-7afab779.js";import"./index-13d6d167.js";const Se=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:x=>x.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"شرح",dataIndex:"description",key:"description",slot:"description"},{title:"سوالات",dataIndex:"questions",key:"questions",customRender:x=>"سوالات مسابقه"},{title:"وضعیت نمایش",dataIndex:"show",key:"show",type:"Boolean",filterable:!0,align:"center",customRender:x=>x.record.show?"نمایش":"مخفی"},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:x=>fe(x.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],Te={class:"flex justify-between items-center mb-4"},De=t("h2",null,"مسابقات",-1),Le={class:"gap-2 flex justify-center"},Ae=t("span",null,"حذف",-1),Re=t("span",null,"ویرایش",-1),Pe={class:"space-y-4 relative"},Ee={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},je=t("div",{class:"mb-1 text-sm text-gray-600"},"عنوان مسابقه",-1),ze=t("div",{class:"mb-1 text-sm text-gray-600"},"شرح مسابقه",-1),Fe=t("div",{class:"mb-1 text-sm text-gray-600"},"عنوان ویدئو قرعه کشی",-1),Qe=t("div",{class:"mb-1 text-sm text-gray-600"},"حداقل امتیاز شرکت در قرعه کشی",-1),Ne=t("div",{class:"mb-1 text-sm text-gray-600"},"آدرس ویدئو",-1),Oe=t("div",{class:"mb-1 text-sm text-gray-600"},"وضعیت نمایش",-1),Ve={class:"flex items-center gap-2"},We={class:"text-sm text-gray-600"},He={class:"flex justify-center gap-10 pb-4"},qe=t("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر",-1),Je={key:0},Ge=t("div",null,"آپلود تصویر",-1),Xe={key:0,class:"text-xs text-gray-500 mt-1 text-center"},Ke={class:"h-2 rounded bg-gray-200 overflow-hidden"},Ye={class:"text-xs text-gray-700 font-semibold text-center mt-1"},Ze=t("div",{class:"section-divider"},null,-1),et={class:"pt-4"},tt=t("div",{class:"mb-1 text-sm text-gray-600"},"سوالات مسابقه",-1),ot={class:"space-y-3"},at={class:"space-y-3"},lt=t("div",{class:"mb-1 text-xs text-gray-500"},"سوال",-1),st={class:"grid grid-cols-2 gap-3"},it=t("div",{class:"mb-1 text-xs text-gray-500"},"گزینه 1",-1),nt=t("div",{class:"mb-1 text-xs text-gray-500"},"گزینه 2",-1),rt=t("div",{class:"mb-1 text-xs text-gray-500"},"گزینه 3",-1),ut=t("div",{class:"mb-1 text-xs text-gray-500"},"گزینه 4",-1),ct=t("div",{class:"mb-1 text-xs text-gray-500"},"جواب صحیح (شماره گزینه)",-1),dt={class:"flex justify-end"},pt=t("span",{class:"text-[#DC2626]"},"حذف سوال",-1),mt=t("span",{class:"text-gray-500"},"+ افزودن سوال",-1),Ht=ge({__name:"index",setup(x){h([]),h(!1);const N=h(null),[O,T]=ne();xe();const f=h([]),w=h(0),g=h(0);function V(n){return n.type.startsWith("image/")?n.size/1024/1024<5?!0:(_.error("حجم تصویر باید کمتر از 5MB باشد!"),!1):(_.error("فقط فایل‌های تصویری قابل آپلود هستند!"),!1)}async function W(n){const{file:e,onSuccess:l,onError:c,onProgress:r}=n,y=new FormData;y.append("file",e);const p=`${Ce}/upload/machartaa-img`;g.value=0,w.value++,await new Promise(($,I)=>{const u=new XMLHttpRequest;u.open("POST",p),u.setRequestHeader("Authorization",`Bearer ${localStorage.getItem("token")||""}`),u.upload.onprogress=o=>{if(o.lengthComputable){const v=Math.round(o.loaded/o.total*100);g.value=v,r==null||r({percent:v})}},u.onload=()=>{var o,v,d,j;if(g.value=100,u.status>=200&&u.status<300)try{const s=JSON.parse(u.responseText||"{}"),oe=(s==null?void 0:s.full_src)||(s==null?void 0:s.url)||(s==null?void 0:s.src)||(s==null?void 0:s.path)||((o=s==null?void 0:s.data)==null?void 0:o.full_src)||((v=s==null?void 0:s.data)==null?void 0:v.url)||((d=s==null?void 0:s.data)==null?void 0:d.src)||((j=s==null?void 0:s.data)==null?void 0:j.path)||"",D=R(oe),z=F(D);a.value.image_url=D||null,f.value=z?[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:z,response:{path:D}}]:[],l==null||l(s,u),_.success("تصویر با موفقیت آپلود شد!"),$()}catch(s){c==null||c(s,u),I(s)}else{const s=new Error("خطا در آپلود تصویر");c==null||c(s,u),I(s)}},u.onerror=()=>{const o=new Error("خطا در آپلود تصویر!");c==null||c(o,u),I(o)},u.onloadend=()=>{w.value=Math.max(0,w.value-1),g.value=0},u.send(y)})}function H(n){return{width:`${Math.max(0,Math.min(100,n))}%`}}const q=h({columns:Se,api:de,defaultPageLimit:20}),U=h(!1),M=h(!1),C=h(null),a=h({title:"",description:"",image_url:null,video_url:null,title_video_result:null,minimum_score:null,show:!0,questions:[{id:1,question:"",option1:"",option2:"",option3:"",option4:"",correct_answer:""}]});async function J(){}async function G(){f.value=[],a.value={title:"",description:"",image_url:null,video_url:null,title_video_result:null,minimum_score:null,show:!0,questions:[{id:1,question:"",option1:"",option2:"",option3:"",option4:"",correct_answer:""}]},M.value=!1,C.value=null,U.value=!0}function E(){U.value=!1,M.value=!1,C.value=null}async function X(){var l,c,r,y;if(!((l=a.value.title)!=null&&l.trim()))return;const n=a.value.questions.map(p=>({question:p.question,options:[p.option1,p.option2,p.option3,p.option4].filter($=>$.trim()),correct_answer:p.correct_answer})),e={match:{title:a.value.title.trim(),description:((c=a.value.description)==null?void 0:c.trim())||"",image_url:((r=a.value.image_url)==null?void 0:r.trim())||null,video_url:((y=a.value.video_url)==null?void 0:y.trim())||null,title_video_result:a.value.title_video_result?String(a.value.title_video_result).trim():null,minimum_score:a.value.minimum_score?String(a.value.minimum_score).trim():null,show:a.value.show??!0},questions:n.filter(p=>p.question.trim())};if(w.value>0){_.warning("لطفاً تا پایان آپلود ویدئوها صبر کنید.");return}console.log("Match payload:",e);try{M.value&&C.value?(await pe(C.value,e),_.success("مسابقه با موفقیت ویرایش شد!")):(await me(e),_.success("مسابقه با موفقیت ایجاد شد!")),E(),await T()}catch(p){console.error("Error saving match:",p),_.error("خطا در ذخیره مسابقه!")}}async function K(n){try{const e=await ve(n.id);if(console.log("Match data loaded:",e),e.image_url){const l=R(e.image_url);f.value=[{uid:`image-${Date.now()}`,name:"image.jpg",status:"done",url:F(l),response:{path:l}}],console.log("Image file list set:",f.value)}else f.value=[];a.value={title:e.title||"",description:e.description||"",image_url:R(e.image_url)||null,video_url:e.video_url||null,title_video_result:e.title_video_result?String(e.title_video_result):null,minimum_score:e.minimum_score?String(e.minimum_score):null,show:e.show??!0,questions:e.questions&&e.questions.length>0?e.questions.map((l,c)=>({id:l.id,question:l.question||"",option1:l.options&&l.options[0]?l.options[0]:"",option2:l.options&&l.options[1]?l.options[1]:"",option3:l.options&&l.options[2]?l.options[2]:"",option4:l.options&&l.options[3]?l.options[3]:"",correct_answer:l.correct_answer||""})):[{id:1,question:"",option1:"",option2:"",option3:"",option4:"",correct_answer:""}]},M.value=!0,C.value=n.id,U.value=!0}catch(e){console.error("Error loading match data:",e),_.error("خطا در بارگذاری اطلاعات مسابقه!")}}async function Y(n){const e=!n.show;Q.confirm({title:"تغییر وضعیت نمایش",content:e?`آیا مطمئن هستید که می‌خواهید مسابقه "${n.title}" را نمایش دهید؟`:`آیا مطمئن هستید که می‌خواهید مسابقه "${n.title}" را مخفی کنید؟`,okText:"بله",cancelText:"خیر",onOk:async()=>{try{await _e(n.id,{show:e}),_.success(e?"مسابقه با موفقیت نمایش داده شد!":"مسابقه با موفقیت مخفی شد!"),await T()}catch(l){console.error("Error toggling show:",l),_.error("خطا در تغییر وضعیت نمایش!")}}})}function Z(n){Q.confirm({title:"حذف مسابقه",content:`آیا مطمئن هستید که می‌خواهید مسابقه "${n.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await he(n.id),_.success("مسابقه با موفقیت حذف شد!"),await T()}catch(e){console.error("Error deleting match:",e),_.error("خطا در حذف مسابقه!")}}})}function ee(){a.value.questions.push({id:a.value.questions.length+1,question:"",option1:"",option2:"",option3:"",option4:"",correct_answer:""})}function te(n){a.value.questions.length>1&&(a.value.questions.splice(n,1),a.value.questions.forEach((e,l)=>{e.id=l+1}))}return ye(J),(n,e)=>{const l=ce,c=se,r=ue,y=re,p=ie,$=Be,I=le,u=ae;return b(),k("div",null,[i(u,null,{default:m(()=>[t("div",Te,[De,i(l,{type:"primary",onClick:G},{default:m(()=>[we("افزودن مسابقه")]),_:1})]),i(c,be(q.value,{ref_key:"table",ref:N,onRegister:S(O)}),{description:m(({record:o})=>[i($e,{text:o.description},null,8,["text"])]),action:m(({record:o})=>[t("div",Le,[i(S(P),{class:"cursor-pointer"},{title:m(()=>[t("span",null,L(o.show?"مخفی کردن":"نمایش"),1)]),default:m(()=>[i(B,{icon:o.show?"vuesax-linear:eye-slash":"vuesax-linear:eye",color:o.show?"#F59E0B":"#16A34A",onClick:v=>Y(o)},null,8,["icon","color","onClick"])]),_:2},1024),i(S(P),{class:"cursor-pointer"},{title:m(()=>[Ae]),default:m(()=>[i(B,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:v=>Z(o)},null,8,["onClick"])]),_:2},1024),i(S(P),{class:"cursor-pointer"},{title:m(()=>[Re]),default:m(()=>[i(B,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:v=>K(o)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),i(I,{visible:U.value,"onUpdate:visible":e[7]||(e[7]=o=>U.value=o),title:M.value?"ویرایش مسابقه":"افزودن مسابقه",onOk:X,onCancel:E,width:"80%",confirmLoading:w.value>0},{default:m(()=>[t("div",Pe,[w.value>0?(b(),k("div",Ee,[i(S(Ie),{size:"large"})])):A("",!0),t("div",null,[je,i(r,{value:a.value.title,"onUpdate:value":e[0]||(e[0]=o=>a.value.title=o),placeholder:"عنوان مسابقه"},null,8,["value"])]),t("div",null,[ze,i(y,{value:a.value.description,"onUpdate:value":e[1]||(e[1]=o=>a.value.description=o),placeholder:"شرح مسابقه"},null,8,["value"])]),t("div",null,[Fe,i(r,{value:a.value.title_video_result,"onUpdate:value":e[2]||(e[2]=o=>a.value.title_video_result=o),placeholder:"عنوان ویدئو قرعه کشی"},null,8,["value"])]),t("div",null,[Qe,i(r,{value:a.value.minimum_score,"onUpdate:value":e[3]||(e[3]=o=>a.value.minimum_score=o),placeholder:"حداقل امتیاز شرکت در قرعه کشی"},null,8,["value"])]),t("div",null,[Ne,i(r,{value:a.value.video_url,"onUpdate:value":e[4]||(e[4]=o=>a.value.video_url=o),placeholder:"آدرس URL ویدئو"},null,8,["value"])]),t("div",null,[Oe,t("div",Ve,[i(p,{value:a.value.show,"onUpdate:value":e[5]||(e[5]=o=>a.value.show=o)},null,8,["value"]),t("span",We,L(a.value.show?"نمایش":"مخفی"),1)])]),t("div",He,[t("div",null,[qe,i($,{"file-list":f.value,"onUpdate:fileList":e[6]||(e[6]=o=>f.value=o),"before-upload":V,"custom-request":W,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:m(()=>[f.value.length<1?(b(),k("div",Je,[i(B,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),Ge])):A("",!0)]),_:1},8,["file-list"]),g.value>0&&g.value<100?(b(),k("div",Xe,[t("div",Ke,[t("div",{class:"h-2 bg-blue-500 transition-all",style:ke(H(g.value))},null,4)]),t("div",Ye,L(g.value)+"%",1)])):A("",!0)])]),Ze,t("div",et,[tt,t("div",ot,[(b(!0),k(Ue,null,Me(a.value.questions,(o,v)=>(b(),k("div",{key:v,class:"border rounded-lg p-3 space-y-3"},[t("div",at,[t("div",null,[lt,i(r,{value:o.question,"onUpdate:value":d=>o.question=d,placeholder:`سوال ${v+1}`},null,8,["value","onUpdate:value","placeholder"])]),t("div",st,[t("div",null,[it,i(r,{value:o.option1,"onUpdate:value":d=>o.option1=d,placeholder:"گزینه 1"},null,8,["value","onUpdate:value"])]),t("div",null,[nt,i(r,{value:o.option2,"onUpdate:value":d=>o.option2=d,placeholder:"گزینه 2"},null,8,["value","onUpdate:value"])]),t("div",null,[rt,i(r,{value:o.option3,"onUpdate:value":d=>o.option3=d,placeholder:"گزینه 3"},null,8,["value","onUpdate:value"])]),t("div",null,[ut,i(r,{value:o.option4,"onUpdate:value":d=>o.option4=d,placeholder:"گزینه 4"},null,8,["value","onUpdate:value"])])]),t("div",null,[ct,i(r,{value:o.correct_answer,"onUpdate:value":d=>o.correct_answer=d,placeholder:"1، 2، 3 یا 4",type:"number",min:"1",max:"4"},null,8,["value","onUpdate:value"])])]),t("div",dt,[i(l,{type:"text",danger:"",onClick:d=>te(v),disabled:a.value.questions.length<=1},{default:m(()=>[i(B,{icon:"vuesax-linear:trash",color:"#DC2626"}),pt]),_:2},1032,["onClick","disabled"])])]))),128)),i(l,{type:"dashed",onClick:ee,class:"w-full"},{default:m(()=>[mt]),_:1})])])])]),_:1},8,["visible","title","confirmLoading"])]),_:1})])}}});export{Ht as default};