2 lines
8.9 KiB
JavaScript
2 lines
8.9 KiB
JavaScript
import{d as D,i as f,h as F,z as q,o as m,k as T,w as n,b as h,e as i,l,n as M,f as $,c as g,q as S,F as P,H as v,t as V,E as N,x as R,_ as j,R as z}from"./index-0127add0.js";import{_ as H,u as G}from"./useBaseTable-d607863f.js";import{_ as J}from"./button.vue_vue_type_style_index_0_lang-90a36b25.js";import{I}from"./Icon-16a7c1f0.js";import{g as K,u as Q,c as W,_ as X,b as Y,d as Z}from"./adminUser-cbf45b76.js";import{_ as ee}from"./BasicInput.vue_vue_type_style_index_0_lang-5017efc1.js";import{n as se}from"./phone-6ff17ec0.js";import{F as te,_ as x}from"./index-a8e6060b.js";import{C as ae}from"./index-c971ffa4.js";import{_ as ie,M as oe}from"./index-a21bea9f.js";import{D as ne}from"./index-827c0a37.js";import{T as U}from"./isSymbol-102dac7e.js";import"./updateLocale-1362a15b.js";import"./index-163f964f.js";import"./_plugin-vue_export-helper-10c790be.js";import"./shallowequal-327a9d42.js";import"./vnode-e48a529a.js";import"./useState-ab7e8e52.js";import"./useMemo-531a1ef9.js";import"./FormItemContext-99d81d38.js";import"./omit-a9878f04.js";import"./lodash-572b39f3.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-1007497c.js";import"./BasicModal.vue_vue_type_style_index_0_lang-3870ceab.js";import"./index-9c57cbfd.js";import"./index-30500426.js";import"./SearchOutlined-6c1cc274.js";import"./isPlainObject-cdd64a7d.js";import"./index-5d23b372.js";import"./index-e8339542.js";import"./Badge-8884c4f5.js";import"./isNumeric-3f69e2aa.js";import"./index-def9ba08.js";import"./index-55a09ddc.js";import"./toArray-2923cdda.js";import"./pickAttrs-05046885.js";import"./index-a6785c60.js";import"./isMobile-e2e89480.js";import"./usePrice-bc935b83.js";import"./_flatRest-56c6e14a.js";import"./Col-8db1abbb.js";import"./styleChecker-6ecca756.js";import"./index-83d7ccb3.js";import"./LeftOutlined-dfa284aa.js";import"./css-aae66f86.js";import"./DialogWrap-81711a5a.js";const re={class:"max-h-[560px] overflow-y-auto p-3"},le={class:"grid grid-cols-1 md:grid-cols-2 md:gap-4"},de={class:"grid grid-cols-1 md:grid-cols-2 gap-3"},ce=D({__name:"AddEditForm",props:{visible:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1},data:{default:null}},emits:["update:visible","update:isEdit","success"],setup(L,{emit:b}){const t=L,u=f([]),e=F({name:"",phone:"",password:"",active:!0,permissions:[]}),E=()=>{e.name="",e.phone="",e.password="",e.active=!0,e.permissions=[]},C=async()=>{u.value.length||(u.value=await K())},k=()=>{var r;t.data&&(e.name=t.data.name||"",e.phone=t.data.phone||t.data.username||((r=t.data.email)==null?void 0:r.split("@")[0])||"",e.password="",e.active=t.data.active!==!1,e.permissions=[...t.data.permissions||[]])};q(()=>t.visible,async r=>{r&&(await C(),t.isEdit&&t.data?k():E())});const y=(r,o)=>{if(o){e.permissions.includes(r)||e.permissions.push(r);return}e.permissions=e.permissions.filter(p=>p!==r)},A=()=>{b("update:visible",!1),b("update:isEdit",!1)},B=async()=>{var r,o,p;if(!e.name.trim()||!e.phone.trim()){v.error("نام و شماره تلفن الزامی است");return}if(!t.isEdit&&!e.password.trim()){v.error("کلمه عبور الزامی است");return}try{t.isEdit&&((r=t.data)!=null&&r.id)?(await Q(t.data.id,{name:e.name.trim(),password:e.password.trim()||void 0,permissions:e.permissions,active:e.active}),v.success("مدیر با موفقیت ویرایش شد")):(await W({name:e.name.trim(),phone:se(e.phone),password:e.password.trim(),permissions:e.permissions}),v.success("مدیر با موفقیت ایجاد شد")),b("success"),A()}catch(a){v.error(((p=(o=a==null?void 0:a.response)==null?void 0:o.data)==null?void 0:p.error)||"خطا در ذخیره اطلاعات")}};return(r,o)=>{const p=ee,a=X;return m(),T(a,{visible:t.visible,width:"52rem",title:`${t.isEdit?"ویرایش":"افزودن"} مدیر`,okText:"ثبت",onCancel:A,onOk:B},{default:n(()=>[h("div",re,[i(l(te),{model:e},{default:n(()=>[h("div",le,[i(l(x),{label:"نام",rules:[{required:!0,message:"نام الزامی است"}]},{default:n(()=>[i(p,{"place-holder":"نام",value:e.name,"onUpdate:value":o[0]||(o[0]=s=>e.name=s)},null,8,["value"])
|