boyuehasfj-vue3/boyuehasfj-admin/assets/addMessage-CIrvQ1gt.js
2025-06-02 21:34:56 +08:00

2 lines
10 KiB
JavaScript

var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,o=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,r=(e,l)=>{for(var a in l||(l={}))n.call(l,a)&&o(e,a,l[a]);if(t)for(var a of t(l))u.call(l,a)&&o(e,a,l[a]);return e},s=(e,l,a)=>new Promise(((t,n)=>{var u=e=>{try{r(a.next(e))}catch(l){n(l)}},o=e=>{try{r(a.throw(e))}catch(l){n(l)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,o);r((a=a.apply(e,l)).next())}));import{s as d,g as i,a as p,b as c,c as m,d as v,e as g}from"./messageSystem-B_aAOviq.js";import{_ as f,d as y,r as h,z as b,j as T,H as V,h as _,o as C,w as k,F as w,e as M,i as I,c as R,I as x,J as U,k as j,m as O,B as q,f as P,a4 as N}from"./index-C-c3zR6K.js";const S={key:0,style:{width:"100%"}},F={key:1,style:{width:"100%"}},E={class:"dialog-footer"},D=f({__name:"addMessage",props:{title:{type:String,default:"发送消息界面"}},emits:["success","close"],setup(e,{expose:t,emit:n}){const{proxy:u}=y(),{send_mode:o,message_type:f}=u.useDict("send_mode","message_type"),D=n,z=h([]),A=h([]),B=h([]),H=h([]),J=h(null),$=h(!1),G=h({messageTitle:null,messageContent:null,messageTemplate:null,messageRecipient:[],remark:null,sendMode:null,recipientType:null,code:null,contentType:null}),K=h(!1),L=b((()=>["1","2"].includes(G.value.sendMode))),Q=b((()=>[{value:"user",label:"用户"},{value:"role",label:"角色"},{value:"dept",label:"部门"}])),W=b((()=>{var e;return(null==(e=Q.value.find((e=>e.value===G.value.recipientType)))?void 0:e.label)||""})),X=b((()=>G.value.recipientType&&(z.value.length||A.value.length||B.value.length))),Y=h(r({messageTitle:[{required:!0,message:"请输入标题",trigger:"blur"}],sendMode:[{required:!0,message:"请选择发送方式",trigger:"change"}],messageRecipient:[{required:!0,message:"请选择收件人",trigger:"change"}],messageType:[{required:!0,message:"请选择消息类型",trigger:"change"}],recipientType:[{required:!0,message:"请选择收件人方式",trigger:"change"}],contentType:[{required:!0,message:"请选择内容类型",trigger:"change"}],messageContent:[{required:!0,message:"模版签名或消息内容不能为空",trigger:"blur"},{validator:function(e,l,a){"1"!==G.value.sendMode||"content"!==G.value.contentType||/^[^?]+?\?[^=]+?=.*$/.test(l)?a():a(new Error("短信输入内容格式必须为:模板名?模板参数=值"))},trigger:"blur"}]},L.value?{code:[{required:!0,message:"手机号或者邮箱",trigger:"blur"}]}:{})),Z=b((()=>{if(!G.value.recipientType)return[];return("user"===G.value.recipientType?z.value:"role"===G.value.recipientType?A.value:B.value).map((e=>({id:e.userId||e.roleId||e.deptId,name:e.userName||e.roleName||e.deptName,phonenumber:e.phonenumber,email:e.email})))}));function ee(){return s(this,null,(function*(){switch(G.value.messageRecipient=null,G.value.recipientType){case"user":yield function(){return s(this,null,(function*(){try{z.value=(yield g(G.value.sendMode)).data}catch(e){}}))}();break;case"role":yield function(){return s(this,null,(function*(){try{A.value=(yield v()).data}catch(e){}}))}();break;case"dept":yield function(){return s(this,null,(function*(){try{B.value=function(e){const l={},a=[];return e.forEach((e=>{l[e.deptId]=e,0===e.parentId?a.push(e):(l[e.parentId].children=l[e.parentId].children||[],l[e.parentId].children.push(e))})),a}((yield m()).data)}catch(e){}}))}()}}))}function le(e){return s(this,null,(function*(){try{let l=[];if("role"===G.value.recipientType)for(const a of e){const e=(yield p(a)).data;l.push(...e.filter((e=>e.phonenumber||e.email||e.name)))}else if("dept"===G.value.recipientType)for(const a of e){const e=(yield i(a)).data;l.push(...e.filter((e=>e.phonenumber||e.email||e.name)))}else l=Z.value.filter((l=>e.includes(l.id)&&(l.phonenumber||l.email||l.name)));te(l)}catch(l){}}))}function ae(e){return s(this,null,(function*(){try{const l=[];for(const a of e){const e=(yield i(a)).data;l.push(...e.filter((e=>e.phonenumber||e.email||e.name)))}te(l)}catch(l){}}))}function te(e){G.value.code=e.map((e=>"0"===G.value.sendMode?e.name||"":"1"===G.value.sendMode?e.phonenumber||"":"2"===G.value.sendMode&&e.email||"")).join(", "),G.value.code||N.warning("未找到该收件人有效联系方式!")}function ne(){return s(this,null,(function*(){K.value=!0,yield J.value.validate((e=>s(null,null,(function*(){if(e)try{const e=(yield function(){return s(this,null,(function*(){if("dept"===G.value.recipientType){const e=[];for(const l of G.value.messageRecipient)e.push(...(yield i(l)).data.filter((e=>e.deptId)));return e}return"role"===G.value.recipientType?G.value.messageRecipient.flatMap((e=>s(null,null,(function*(){return(yield p(e)).data})))):"user"===G.value.recipientType?Z.value.filter((e=>G.value.messageRecipient.includes(e.id))):[]}))}()).map((e=>{return t=r({},G.value),n={messageRecipient:e.userName||e.name,code:"1"===G.value.sendMode?e.phonenumber:"2"===G.value.sendMode?e.email:e.name,sendMode:G.value.sendMode},l(t,a(n));var t,n}));yield c(e),N.success("消息发送成功!"),D("success"),re()}catch(t){N.error("发送信息失败:",t)}else N.warning("请将信息输入完整!")})))),K.value=!1}))}function ue(){return s(this,null,(function*(){try{H.value=(yield d()).data}catch(e){}}))}function oe(){G.value={messageTitle:null,messageContent:null,messageTemplate:null,messageRecipient:null,remark:null,sendMode:null,recipientType:null},u.resetForm("messageSystemFormRef")}function re(){$.value=!$.value,$.value||(oe(),D("close"))}function se(){oe(),D("close")}function de(){G.value.messageContent=null}function ie(e){G.value.messageContent=e}function pe(e){G.value.messageContent=e}return t({open:()=>{$.value=!0,ee()},getTemplate:ue}),ue(),(l,a)=>{const t=T("el-input"),n=T("el-form-item"),u=T("el-option"),r=T("el-select"),s=T("el-radio"),d=T("el-radio-group"),i=T("el-tree-select"),p=T("el-form"),c=T("el-button"),m=T("el-dialog"),v=V("loading");return C(),_(m,{title:e.title,modelValue:$.value,"onUpdate:modelValue":a[11]||(a[11]=e=>$.value=e),width:"500px","append-to-body":"",onClosed:se,class:"custom-dialog"},{footer:k((()=>[P("div",E,[M(c,{type:"primary",onClick:ne,loading:K.value},{default:k((()=>a[14]||(a[14]=[O("发 送")]))),_:1},8,["loading"]),M(c,{onClick:re},{default:k((()=>a[15]||(a[15]=[O("取 消")]))),_:1})])])),default:k((()=>[w((C(),_(p,{ref_key:"messageSystemFormRef",ref:J,model:G.value,rules:Y.value,"label-width":"80px",class:"custom-form","element-loading-text":"信息正在发送中..."},{default:k((()=>[M(n,{label:"标题",prop:"messageTitle"},{default:k((()=>[M(t,{modelValue:G.value.messageTitle,"onUpdate:modelValue":a[0]||(a[0]=e=>G.value.messageTitle=e),placeholder:"请输入标题"},null,8,["modelValue"])])),_:1}),M(n,{label:"发送方式",prop:"sendMode"},{default:k((()=>[M(r,{modelValue:G.value.sendMode,"onUpdate:modelValue":a[1]||(a[1]=e=>G.value.sendMode=e),placeholder:"请选择发送方式",clearable:"",style:{width:"100%"},onChange:ee},{default:k((()=>[(C(!0),R(x,null,U(j(o),(e=>(C(),_(u,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),L.value?(C(),_(n,{key:0,label:"号码",prop:"code"},{default:k((()=>[M(t,{modelValue:G.value.code,"onUpdate:modelValue":a[2]||(a[2]=e=>G.value.code=e),placeholder:"请输入手机号或者邮箱",disabled:""},null,8,["modelValue"])])),_:1})):I("",!0),M(n,{label:"内容类型",prop:"contentType"},{default:k((()=>[M(d,{modelValue:G.value.contentType,"onUpdate:modelValue":a[3]||(a[3]=e=>G.value.contentType=e),onChange:de},{default:k((()=>[M(s,{value:"template"},{default:k((()=>a[12]||(a[12]=[O("模版签名")]))),_:1}),M(s,{value:"content"},{default:k((()=>a[13]||(a[13]=[O("消息内容")]))),_:1})])),_:1},8,["modelValue"])])),_:1}),"template"===G.value.contentType?(C(),_(n,{key:1,label:"模版签名",prop:"messageContent"},{default:k((()=>[M(r,{modelValue:G.value.messageContent,"onUpdate:modelValue":a[4]||(a[4]=e=>G.value.messageContent=e),placeholder:"请选择模版签名",style:{width:"100%"},onChange:ie},{default:k((()=>[(C(!0),R(x,null,U(H.value,(e=>(C(),_(u,{key:e.templateId,label:e.templateCode,value:e.templateCode},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1})):I("",!0),"content"===G.value.contentType?(C(),_(n,{key:2,label:"消息内容",prop:"messageContent"},{default:k((()=>[M(t,{modelValue:G.value.messageContent,"onUpdate:modelValue":a[5]||(a[5]=e=>G.value.messageContent=e),type:"textarea",placeholder:"(手机号内容格式必须为:模板名?模板参数=值)",onInput:pe,maxlength:"100","show-word-limit":""},null,8,["modelValue"])])),_:1})):I("",!0),M(n,{label:"消息类型",prop:"messageType"},{default:k((()=>[M(r,{modelValue:G.value.messageType,"onUpdate:modelValue":a[6]||(a[6]=e=>G.value.messageType=e),placeholder:"请选择消息类型",clearable:""},{default:k((()=>[(C(!0),R(x,null,U(j(f),(e=>(C(),_(u,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),M(n,{label:"收件人类型",prop:"recipientType","label-width":"92px"},{default:k((()=>[M(d,{modelValue:G.value.recipientType,"onUpdate:modelValue":a[7]||(a[7]=e=>G.value.recipientType=e),onChange:ee},{default:k((()=>[(C(!0),R(x,null,U(Q.value,(e=>(C(),_(s,{key:e.value,value:e.value},{default:k((()=>[O(q(e.label),1)])),_:2},1032,["value"])))),128))])),_:1},8,["modelValue"])])),_:1}),X.value?(C(),_(n,{key:3,label:W.value,prop:"messageRecipient"},{default:k((()=>["dept"===G.value.recipientType?(C(),R("div",S,[M(i,{modelValue:G.value.messageRecipient,"onUpdate:modelValue":a[8]||(a[8]=e=>G.value.messageRecipient=e),data:B.value,placeholder:"请选择部门",clearable:"",props:{value:"deptId",label:"deptName",children:"children"},onChange:ae,multiple:""},null,8,["modelValue","data"])])):(C(),R("div",F,[M(r,{modelValue:G.value.messageRecipient,"onUpdate:modelValue":a[9]||(a[9]=e=>G.value.messageRecipient=e),placeholder:"请选择",onChange:le,multiple:""},{default:k((()=>[(C(!0),R(x,null,U(Z.value,(e=>(C(),_(u,{key:e.id,label:e.name,value:e.id},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])]))])),_:1},8,["label"])):I("",!0),M(n,{label:"备注",prop:"remark"},{default:k((()=>[M(t,{modelValue:G.value.remark,"onUpdate:modelValue":a[10]||(a[10]=e=>G.value.remark=e),type:"textarea",placeholder:"请输入内容"},null,8,["modelValue"])])),_:1})])),_:1},8,["model","rules"])),[[v,K.value]])])),_:1},8,["title","modelValue"])}}},[["__scopeId","data-v-21c6a0c1"]]);export{D as default};