import{d as q,aJ as H,aK as Q,aI as W,r as f,E as X,ai as n,o as m,c as g,U as a,O as t,u,S as h,D as O,a as A,F as B,a8 as D,M,P as Y,V as Z,T as ee}from"./vue.1RczIYhx.js";import{u as b}from"./useResponse.DqThFJSa.js";import{g as oe,a as le,p as ae}from"./api.DUA63dG6.js";import{F as te,G as se,h as T}from"./elementPlus.CSBdF9Zt.js";import{_ as ne}from"./_plugin-vue_export-helper.DlAUqK2U.js";import"./index.K_MFulpu.js";const ie={class:"flex flex-wrap gap-1.5 min-h-14"},de=q({__name:"ShopAuthorize",props:H({rowData:Object},{modelValue:{default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(V){const U=V,{rowData:r}=U,y=Q(V,"modelValue"),z=W("noticeDialog"),i=f(""),_=f([]),s=f([]),C=f(!1),d=f("1");X(async()=>{await I(),await S()});function E(o){i.value="",s.value=[],o()}function F(){const o=_.value.find(e=>e.id===i.value);o&&!s.value.some(e=>e.id===o.id)&&s.value.push({id:o.id,name:o.name})}function N(o){return s.value.some(e=>e.id===o)}function R(o){s.value=s.value.filter(e=>e.id!==o.id),i.value=""}async function I(){const o=await b(le,{is_all:!0});_.value=o.data}async function S(){const o=await b(oe,{user_id:r==null?void 0:r.id}),e=(o.data.authorized_shops??[]).filter(c=>c!==null);o.data.is_authorized_all_shops?d.value="2":e.length>0&&(d.value="1",s.value=e.map(c=>{const p=_.value.find(v=>v.id===c);return p?{id:p.id,name:p.name}:null}).filter(Boolean))}async function j(){const o={...d.value==="2"?{}:{authorized_shops:s.value.map(e=>e.id)},user_id:r==null?void 0:r.id,is_authorized_all_shops:d.value==="2"};try{(await b(ae,o,C)).code===2e3&&(T.success("编辑成功!"),S())}catch{T.error("编辑失败!")}finally{i.value=""}}function G(){i.value="",s.value=[],z.value.visible=!1}function J(o){o==2&&(i.value="")}return(o,e)=>{const c=n("el-option"),p=n("el-select"),v=n("el-radio"),K=n("el-radio-group"),w=n("el-col"),x=n("el-row"),L=n("el-tag"),P=n("el-divider"),k=n("el-button"),$=n("el-dialog");return m(),g("div",null,[a($,{ref_key:"noticeDialog",ref:z,class:"authorize-dialog",modelValue:y.value,"onUpdate:modelValue":e[2]||(e[2]=l=>y.value=l),"before-close":E,"close-on-click-modal":!1,"close-on-press-escape":!1,title:"店铺授权",width:"40%"},{footer:t(()=>[a(k,{icon:u(te),onClick:G},{default:t(()=>e[5]||(e[5]=[h("取 消")])),_:1},8,["icon"]),a(k,{icon:u(se),loading:u(C),type:"primary",onClick:j},{default:t(()=>e[6]||(e[6]=[h("确 定")])),_:1},8,["icon","loading"])]),default:t(()=>[a(x,{class:"mb-2"},{default:t(()=>[a(w,null,{default:t(()=>[a(K,{modelValue:u(d),"onUpdate:modelValue":e[1]||(e[1]=l=>O(d)?d.value=l:null),onChange:J},{default:t(()=>[a(v,{value:"1"},{default:t(()=>[e[3]||(e[3]=A("span",{class:"mr-2 font-medium"},"店 铺",-1)),a(p,{modelValue:u(i),"onUpdate:modelValue":e[0]||(e[0]=l=>O(i)?i.value=l:null),disabled:u(d)=="2",filterable:"",placeholder:"输入搜索",style:{width:"200px"},onChange:F},{default:t(()=>[(m(!0),g(B,null,D(u(_),l=>(m(),M(c,{key:l.id,disabled:N(l.id),label:l.name,value:l.id},null,8,["disabled","label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),a(v,{value:"2"},{default:t(()=>e[4]||(e[4]=[h("所有店铺")])),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(x,{gutter:20,class:"mb-4"},{default:t(()=>[a(w,{span:2})]),_:1}),A("div",ie,[(m(!0),g(B,null,D(u(s),l=>Y((m(),M(L,{key:l.id,closable:"",effect:"plain",round:"",onClose:ue=>R(l)},{default:t(()=>[h(ee(l.name),1)]),_:2},1032,["onClose"])),[[Z,u(d)=="1"]])),128))]),a(P,{style:{margin:"12px 0 20px 0"}})]),_:1},8,["modelValue"])])}}}),ve=ne(de,[["__scopeId","data-v-62e7921d"]]);export{ve as default};