2 lines
3.0 KiB
JavaScript
2 lines
3.0 KiB
JavaScript
import{s as T}from"./request-CrM1Jo5H.js";import{c as k,b as I,a as l,w as o,r as n,o as c,h as g,k as N,L as h,i as B,j as p,E as _}from"./index-DdxTGUP0.js";const A={__name:"Notifications",setup(S){const d=p(!1),m=p(null),u=p(""),b={Authorization:`Bearer ${localStorage.getItem("admin_token")}`},t=B({title:"",content:"",thumbnailUrl:"",targetType:"All"}),v={title:[{required:!0,message:"请输入通知标题",trigger:"blur"}],content:[{required:!0,message:"请输入通知正文",trigger:"blur"}],targetType:[{required:!0,message:"请选择目标用户",trigger:"change"}]};async function y(){if(!await m.value.validate().catch(()=>!1))return;const e={...t};if(e.targetType==="Specific"&&(e.targetUserIds=u.value.split(",").map(r=>parseInt(r.trim())).filter(r=>!isNaN(r)),e.targetUserIds.length===0)){_.warning("请输入有效的用户ID");return}d.value=!0;try{await T.post("/admin/notifications",e),_.success("发布成功"),m.value.resetFields(),u.value=""}finally{d.value=!1}}return(V,e)=>{const r=n("el-input"),s=n("el-form-item"),f=n("el-button"),U=n("el-upload"),i=n("el-option"),x=n("el-select"),w=n("el-form");return c(),k("div",null,[e[7]||(e[7]=I("h3",{style:{margin:"0 0 16px"}},"发布系统通知",-1)),l(w,{ref_key:"formRef",ref:m,model:t,rules:v,"label-width":"100px",style:{"max-width":"700px"}},{default:o(()=>[l(s,{label:"通知标题",prop:"title"},{default:o(()=>[l(r,{modelValue:t.title,"onUpdate:modelValue":e[0]||(e[0]=a=>t.title=a),placeholder:"请输入通知标题"},null,8,["modelValue"])]),_:1}),l(s,{label:"通知正文",prop:"content"},{default:o(()=>[l(r,{modelValue:t.content,"onUpdate:modelValue":e[1]||(e[1]=a=>t.content=a),type:"textarea",rows:8,placeholder:"支持富文本内容"},null,8,["modelValue"])]),_:1}),l(s,{label:"缩略图"},{default:o(()=>[l(r,{modelValue:t.thumbnailUrl,"onUpdate:modelValue":e[2]||(e[2]=a=>t.thumbnailUrl=a),placeholder:"缩略图地址(选填)"},null,8,["modelValue"]),l(U,{action:"/api/upload/image",headers:b,"show-file-list":!1,"on-success":a=>t.thumbnailUrl=a.url,accept:"image/*",style:{"margin-top":"8px"}},{default:o(()=>[l(f,{size:"small"},{default:o(()=>[...e[5]||(e[5]=[g("上传图片",-1)])]),_:1})]),_:1},8,["on-success"])]),_:1}),l(s,{label:"目标用户",prop:"targetType"},{default:o(()=>[l(x,{modelValue:t.targetType,"onUpdate:modelValue":e[3]||(e[3]=a=>t.targetType=a),style:{width:"100%"}},{default:o(()=>[l(i,{label:"全部用户",value:"All"}),l(i,{label:"下单用户",value:"OrderUser"}),l(i,{label:"跑腿用户",value:"RunnerUser"}),l(i,{label:"指定用户",value:"Specific"})]),_:1},8,["modelValue"])]),_:1}),t.targetType==="Specific"?(c(),N(s,{key:0,label:"用户ID列表"},{default:o(()=>[l(r,{modelValue:u.value,"onUpdate:modelValue":e[4]||(e[4]=a=>u.value=a),placeholder:"多个用户ID用逗号分隔,如:1,2,3"},null,8,["modelValue"])]),_:1})):h("",!0),l(s,null,{default:o(()=>[l(f,{type:"primary",loading:d.value,onClick:y},{default:o(()=>[...e[6]||(e[6]=[g("发布通知",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])}}};export{A as default};
|