crud.C7euW0B3.js 4.8 KB

1
  1. import{r as o,V,W as w}from"./index.BVWooy93.js";import{t as h}from"./index.CL3CSNGD.js";import{a as q,r as x,w as M,aj as C,c as _,o as b,R as L,a9 as R,J as O,K as S,P as k,Q as T,f as j,s as n}from"./vue.YrNK8sx4.js";import{_ as A}from"./_plugin-vue_export-helper.DlAUqK2U.js";import{a as v}from"./authFunction.D5oiwuvq.js";const s="/api/system/message_center/";function B(t){return o({url:s,method:"get",params:t})}function D(t){return o({url:s+t+"/",method:"get"})}function W(t){return o({url:s+"get_self_receive/",method:"get",params:t})}function G(t){return o({url:s,method:"post",data:t})}function P(t){return o({url:s+t.id+"/",method:"put",data:t})}function F(t){return o({url:s+t+"/",method:"delete",data:{id:t}})}const I=q({__name:"index",props:{modelValue:Array,bindValue:Array,displayLabel:{type:String,default:""}},setup(t){const c=t,l=x();M(()=>c.bindValue,u=>{const{displayLabel:p}=c,i=u?u.map(d=>d[p]):null;l.value=i},{immediate:!0});const m=["success","info","warning","danger"],f=()=>m[Math.floor(Math.random()*m.length)];return(u,p)=>{const i=C("el-tag");return b(),_("div",null,[(b(!0),_(L,null,R(l.value,(d,e)=>(b(),O(i,{class:"many-to-many-tag",type:f,key:e},{default:S(()=>[k(T(d),1)]),_:2},1024))),128))])}}}),g=A(I,[["__scopeId","data-v-0838bf04"]]),{compute:a}=V();function K({crudExpose:t,context:c}){const{tabActivted:l}=c,m=async e=>l.value==="receive"?await W(e):await B(e),f=async({form:e,row:r})=>(e.id=r.id,await P(e)),u=async({row:e})=>await F(e.id),p=async({form:e})=>await G(e),i=async({row:e})=>await D(e.id),d=j(()=>l.value==="receive");return{crudOptions:{toolbar:{buttons:{search:{show:!0},refresh:{show:!0},compact:{show:!1},columns:{show:!1}}},request:{pageRequest:m,addRequest:p,editRequest:f,delRequest:u},actionbar:{buttons:{add:{show:!1}}},rowHandle:{fixed:"right",width:200,buttons:{edit:{show:!1},view:{text:"查看",type:"primary",show:v("messageCenter:Search"),click({index:e,row:r}){t.openView({index:e,row:r}),l.value==="receive"&&(i({row:r}),t.doRefresh())}},remove:{type:"danger",show:v("messageCenter:Delete")}}},columns:{_index:{title:"序号",form:{show:!1},column:{align:"center",width:"70px",columnSetDisabled:!0,formatter:e=>{let r=e.index??1,y=t.crudBinding.value.pagination;return((y.currentPage??1)-1)*y.pageSize+r+1}}},title:{title:"标题",search:{show:!0},type:["text","colspan"],column:{minWidth:120},form:{rules:[{required:!0,message:"必填项"}],component:{span:24,placeholder:"请输入标题"}}},is_read:{title:"是否已读",type:"dict-select",column:{show:d.value},dict:w({data:[{label:"已读",value:!0,color:"success"},{label:"未读",value:!1,color:"danger"}]}),form:{show:!1}},target_type:{title:"目标类型",type:["dict-radio","colspan"],column:{minWidth:120},dict:w({data:[{value:0,label:"按用户"},{value:1,label:"按角色"},{value:2,label:"按部门"},{value:3,label:"通知公告"}]}),form:{component:{optionName:"el-radio-button"},rules:[{required:!0,message:"必选项",trigger:["blur","change"]}]}},target_user:{title:"目标用户",search:{disabled:!0},form:{component:{name:n(h),vModel:"modelValue",displayLabel:a(({row:e})=>e?e.user_info:null),tableConfig:{url:"/api/system/user/",label:"name",value:"id",isMultiple:!0,columns:[{prop:"name",label:"用户名称",width:120},{prop:"phone",label:"用户电话",width:120}]}},show:a(({form:e})=>e.target_type===0),rules:[{required:!0,message:"必填项"}]},column:{show:!1,component:{name:n(g),vModel:"modelValue",bindValue:a(({row:e})=>e.user_info),displayLabel:"name"}}},target_role:{title:"目标角色",search:{disabled:!0},width:130,form:{component:{name:n(h),vModel:"modelValue",displayLabel:a(({row:e})=>e?e.role_info:null),tableConfig:{url:"/api/system/role/",label:"name",value:"id",isMultiple:!0,columns:[{prop:"name",label:"角色名称"},{prop:"key",label:"权限标识"}]}},show:a(({form:e})=>e.target_type===1),rules:[{required:!0,message:"必填项"}]},column:{show:!1,component:{name:n(g),vModel:"modelValue",bindValue:a(({row:e})=>e.role_info),displayLabel:"name"}}},target_dept:{title:"目标部门",search:{disabled:!0},width:130,type:"table-selector",form:{component:{name:n(h),vModel:"modelValue",displayLabel:a(({form:e})=>e.dept_info),tableConfig:{url:"/api/system/dept/all_dept/",label:"name",value:"id",isTree:!0,isMultiple:!0,columns:[{prop:"name",label:"部门名称",width:150},{prop:"status_label",label:"状态"},{prop:"parent_name",label:"父级部门"}]}},show:a(({form:e})=>e.target_type===2),rules:[{required:!0,message:"必填项"}]},column:{show:!1,component:{name:n(g),vModel:"modelValue",bindValue:a(({row:e})=>e.dept_info),displayLabel:"name"}}},content:{title:"内容",column:{width:300,show:!1},type:["editor-wang5","colspan"],form:{rules:[{required:!0,message:"必填项"}],component:{disabled:!1,id:"1",editorConfig:{readOnly:a(e=>{const{mode:r}=e;return r!=="add"})},uploader:{type:"form",buildUrl(e){return e.url}}}}}}}}}export{K as default};