2 lines
9.3 KiB
JavaScript
2 lines
9.3 KiB
JavaScript
|
|
import{r as x,j as Y,b as I,k as H,c as i,o as S,l as R,w as t,e as d,f as e,h as g,t as k,d as N,m as Q,F as X,E as h,K as Z,z as ee,I as te,g as ae,J as le,L as oe,G as O,n as se,bY as ne,c8 as ie}from"./index-01a32b87.js";import{u as K,c as re,a as de,d as ue}from"./platform-5935cd59.js";import{_ as M}from"./_plugin-vue_export-helper-c27b6911.js";const pe={class:"icon-selector"},ce={style:{"font-size":"20px"}},me={class:"icon-quick-select"},_e=["onClick"],fe={class:"dialog-footer"},ge={__name:"PlatformForm",props:{visible:{type:Boolean,default:!1},platformData:{type:Object,default:null}},emits:["update:visible","success"],setup(F,{emit:z}){const u=F,w=z,_=x(),V=x(!1),v=["🌐","📱","📲","💻","🖥️","⌚","📺","🎮","🌟","📦"],p=Y(()=>u.platformData&&u.platformData.id),l=I({code:"",name:"",icon:"",description:"",sort:0,status:1}),U={code:[{required:!0,message:"请输入平台代码",trigger:"blur"},{pattern:/^[a-z0-9_]+$/,message:"平台代码只能包含小写字母、数字和下划线",trigger:"blur"},{min:1,max:50,message:"平台代码长度在 1 到 50 个字符",trigger:"blur"}],name:[{required:!0,message:"请输入平台名称",trigger:"blur"},{min:1,max:100,message:"平台名称长度在 1 到 100 个字符",trigger:"blur"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}]};H(()=>u.visible,c=>{c&&(u.platformData?Object.assign(l,{code:u.platformData.code||"",name:u.platformData.name||"",icon:u.platformData.icon||"",description:u.platformData.description||"",sort:u.platformData.sort||0,status:u.platformData.status??1}):$())});const $=()=>{var c;Object.assign(l,{code:"",name:"",icon:"",description:"",sort:0,status:1}),(c=_.value)==null||c.clearValidate()},j=async()=>{try{await _.value.validate(),V.value=!0;const c={...l};p.value?(await K(u.platformData.id,c),h.success("平台更新成功")):(await re(c),h.success("平台创建成功")),w("success"),D()}catch(c){console.error("提交失败:",c),h.error(c.message||"操作失败")}finally{V.value=!1}},D=()=>{w("update:visible",!1),$()};return(c,o)=>{const C=i("el-input"),b=i("el-form-item"),E=i("el-input-number"),P=i("el-col"),s=i("el-switch"),a=i("el-row"),m=i("el-form"),y=i("el-button"),L=i("el-dialog");return S(),R(L,{"model-value":F.visible,title:p.value?"编辑平台":"添加平台",width:"600px","before-close":D,"onUpdate:modelValue":o[6]||(o[6]=n=>c.$emit("update:visible",n))},{footer:t(()=>[d("div",fe,[e(y,{onClick:D},{default:t(()=>[...o[9]||(o[9]=[g("取消",-1)])]),_:1}),e(y,{type:"primary",loading:V.value,onClick:j},{default:t(()=>[g(k(p.value?"更新":"创建"),1)]),_:1},8,["loading"])])]),default:t(()=>[e(m,{ref_key:"formRef",ref:_,model:l,rules:U,"label-width":"100px",class:"platform-form"},{default:t(()=>[e(b,{label:"平台代码",prop:"code"},{default:t(()=>[e(C,{modelValue:l.code,"onUpdate:modelValue":o[0]||(o[0]=n=>l.code=n),placeholder:"请输入平台代码(如:web, miniprogram, app)",disabled:p.value},{append:t(()=>[...o[7]||(o[7]=[d("span",{style:{"font-size":"12px",color:"#999"}},"唯一标识",-1)])]),_:1},8,["modelValue","disabled"]),o[8]||(o[8]=d("div",{style:{"font-size":"12px",color:"#999","margin-top":"4px"}}," 建议使用小写字母,如:web、miniprogram、app、h5等 ",-1))]),_:1}),e(b,{label:"平台名称",prop:"name"},{default:t(()=>[e(C,{modelValue:l.name,"onUpdate:modelValue":o[1]||(o[1]=n=>l.name=n),placeholder:"请输入平台名称(如:Web端、小程序)"},null,8,["modelValue"])]),_:1}),e(b,{label:"平台图标",prop:"icon"},{default:t(()=>[d("div",pe,[e(C,{modelValue:l.icon,"onUpdate:modelValue":o[2]||(o[2]=n=>l.icon=n),placeholder:"请输入Emoji图标或图片URL"},{prepend:t(()=>[d("span",ce,k(l.icon||"📦"),1)]),_:1},8,["modelValue"]),d("div",me,[(S(),N(X,null,Q(v,n=>d("span",{key:n,class:Z(["icon-item",{active:l.icon===n}]),onClick:q=>l.icon=n},k(n),11,_e)),64))])])]),_:1}),e(b,{label:"平台描述",prop:"description"},{default:t(()=>[e(C,{modelValue:l.description,"onUpdate:modelValue":o[3]||(o[3]=n=>l.description=n),type:"textarea",rows:3,placeholder:"请输入平台描
|