2 lines
4.2 KiB
JavaScript
2 lines
4.2 KiB
JavaScript
import{d as M,w as q,q as D,s as m,f as x,g as n,u as I,r as $,v as h,e as i,o as v,c as l,l as c,h as L,i as T,k as G,F as H,z as J,m as V,y as k,a as K,t as P}from"./index-Q3FR3cGM.js";import{_ as U}from"./ImageUploadInput.vue_vue_type_script_setup_true_lang-VbxIQS4t.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const W={class:"grid-2"},X=M({__name:"Add",setup(Y){const C=I(),O=K(),p=C.params.id,f=$(!1),y=$([]),t=h({type:1,title:"",parent_id_id:void 0,image:"",icon:"",meta:"",body_html:""}),s=h({}),d=V(()=>t.type===1?"(سایت)":t.type===2?"(موبایل)":""),g=V(()=>y.value.filter(a=>a.type===t.type&&a.id!==p));q(()=>t.type,()=>{t.parent_id_id&&!g.value.some(a=>a.id===t.parent_id_id)&&(t.parent_id_id=void 0)});function S(a,e){var r,_;return String(((_=(r=e==null?void 0:e.children)==null?void 0:r[0])==null?void 0:_.children)??"").includes(a)}function B(){return Object.keys(s).forEach(a=>delete s[a]),t.type||(s.type="لطفا نوع نمایش دسته بندی را انتخاب کنید"),t.title||(s.title="لطفا مقدار را وارد کنید"),Object.keys(s).length===0}async function b(){var a,e;if(B())try{f.value=!0,p?await m.put(`category/${p}`,{...t,id:p}):await m.post("category/",t),k.info("اطلاعات با موفقیت به ثبت رسید."),O.push("/category/list")}catch(r){k.error(((e=(a=r==null?void 0:r.response)==null?void 0:a.data)==null?void 0:e.message)??"خطا در ثبت اطلاعات.")}finally{f.value=!1}}return D(async()=>{try{const{data:a}=await m.get("admin/categories/tree");y.value=a}catch(a){console.log(a)}if(p)try{const{data:a}=await m.get(`admin/categories/${p}`);Object.assign(t,{type:a.type??1,title:a.title??"",parent_id_id:a.parent_id_id??void 0,image:a.image??"",icon:a.icon??"",meta:a.meta??"",body_html:a.body_html??""})}catch(a){console.log(a)}}),(a,e)=>{const r=i("a-radio"),_=i("a-radio-group"),u=i("a-form-item"),w=i("a-input"),R=i("a-select-option"),j=i("a-select"),N=i("a-textarea"),z=i("a-button"),A=i("a-card"),E=i("a-form"),F=i("a-spin");return v(),x(F,{spinning:f.value},{default:n(()=>[l(E,{layout:"vertical",onSubmit:J(b,["prevent"])},{default:n(()=>[l(A,{title:`دسته بندی ${d.value}`,class:"mb-base"},{default:n(()=>[l(u,{label:"نوع نمایش","validate-status":s.type?"error":"",help:s.type},{default:n(()=>[l(_,{value:t.type,"onUpdate:value":e[0]||(e[0]=o=>t.type=o)},{default:n(()=>[l(r,{value:1},{default:n(()=>[...e[7]||(e[7]=[c("سایت",-1)])]),_:1}),l(r,{value:2},{default:n(()=>[...e[8]||(e[8]=[c("اپلیکشن موبایل",-1)])]),_:1})]),_:1},8,["value"])]),_:1},8,["validate-status","help"]),L("div",W,[l(u,{label:`عنوان ${d.value}`,"validate-status":s.title?"error":"",help:s.title},{default:n(()=>[l(w,{value:t.title,"onUpdate:value":e[1]||(e[1]=o=>t.title=o)},null,8,["value"])]),_:1},8,["label","validate-status","help"]),l(u,{label:`پدر دسته ${d.value}`},{default:n(()=>[l(j,{value:t.parent_id_id,"onUpdate:value":e[2]||(e[2]=o=>t.parent_id_id=o),"allow-clear":"","show-search":"",placeholder:"انتخاب کنید","filter-option":S},{default:n(()=>[(v(!0),T(H,null,G(g.value,o=>(v(),x(R,{key:o.id,value:o.id},{default:n(()=>[c(P(o.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(u,{label:`تصویر شاخص ${d.value}`},{default:n(()=>[l(U,{modelValue:t.image,"onUpdate:modelValue":e[3]||(e[3]=o=>t.image=o),purpose:"category.image",placeholder:"تصویر"},null,8,["modelValue"])]),_:1},8,["label"]),l(u,{label:`آیکون ${d.value}`},{default:n(()=>[l(U,{modelValue:t.icon,"onUpdate:modelValue":e[4]||(e[4]=o=>t.icon=o),purpose:"category.icon",placeholder:"آیکون"},null,8,["modelValue"])]),_:1},8,["label"]),l(u,{label:`متا تگ ${d.value}`},{default:n(()=>[l(w,{value:t.meta,"onUpdate:value":e[5]||(e[5]=o=>t.meta=o)},null,8,["value"])]),_:1},8,["label"])]),l(u,{label:`شرح دسته ${d.value}`},{default:n(()=>[l(N,{value:t.body_html,"onUpdate:value":e[6]||(e[6]=o=>t.body_html=o),"auto-size":{minRows:3,maxRows:8}},null,8,["value"])]),_:1},8,["label"]),l(z,{type:"primary",onClick:b},{default:n(()=>[...e[9]||(e[9]=[c("ثبت اطلاعات",-1)])]),_:1})]),_:1},8,["title"])]),_:1})]),_:1},8,["spinning"])}}}),ae=Q(X,[["__scopeId","data-v-479f17da"]]);export{ae as default};
|