1 |
- import{r as w,H as O,X as I,K as $}from"./index.390c1e9e.js";import"./elementPlus.ea8b940b.js";import{d as P,r as v,w as U,Q as A,a8 as f,o as _,E as R,G as k,a as E,M as x,J as W,c as N,F as j,$ as z,K as X,L as J,k as Q,q as Y,s as y}from"./vue.8d1e6c5e.js";import{_ as B}from"./_plugin-vue_export-helper.c27b6911.js";import"./echarts.72dc8373.js";const C="/api/system/message_center/";function Z(a){return w({url:C,method:"get",params:a})}function ee(a){return w({url:C+a+"/",method:"get"})}function te(a){return w({url:C+"get_self_receive/",method:"get",params:a})}function ae(a){return w({url:C,method:"post",data:a})}function le(a){return w({url:C+a.id+"/",method:"put",data:a})}function ne(a){return w({url:C+a+"/",method:"delete",data:{id:a}})}const oe={class:"option"},re=P({__name:"index",props:{modelValue:{},tableConfig:{url:null,label:null,value:null,isTree:!1,data:[],isMultiple:!1,columns:[]},displayLabel:{}},emits:["update:modelValue"],setup(a,{emit:c}){const n=a,b=c,V=v(),o=v(),m=v();U(m,t=>{const{tableConfig:l}=n;if(!l.isMultiple)o.value=t?t[l.label]:null;else{const i=t?t.map(p=>p[l.label]):null;o.value=i}},{immediate:!0});const d=v(void 0),r=v(),e=A({page:1,limit:10,total:0}),g=t=>{m.value=t;const{tableConfig:l}=n,i=t.map(p=>p[l.value]);b("update:modelValue",i)},G=t=>{m.value=t;const{tableConfig:l}=n;b("update:modelValue",t[l.value])},M=async()=>{const t=n.tableConfig.url,l={page:e.page,limit:e.limit,search:d},i=O({url:t,params:l});await i.reloadDict();const p=i.data,{data:h,page:q,limit:L,total:S}=p;e.page=q,e.limit=L,e.total=S,n.tableConfig.data===void 0||n.tableConfig.data.length===0?n.tableConfig.isTree?r.value=I.toArrayTree(h,{parentKey:"parent",key:"id",children:"children"}):r.value=h:r.value=n.tableConfig.data},K=t=>{t&&M()},F=t=>{e.page=t,M()};return U(()=>n.displayLabel,t=>{const{tableConfig:l}=n,i=t?t.map(p=>p[l.label]):null;o.value=i},{immediate:!0}),(t,l)=>{const i=f("el-button"),p=f("el-input"),h=f("el-table-column"),q=f("el-table"),L=f("el-pagination"),S=f("el-select");return _(),R(S,{"popper-class":"popperClass",class:"tableSelector",multiple:n.tableConfig.isMultiple,onRemoveTag:t.removeTag,modelValue:o.value,"onUpdate:modelValue":l[3]||(l[3]=s=>o.value=s),placeholder:"请选择",onVisibleChange:K},{empty:k(()=>[E("div",oe,[x(p,{style:{"margin-bottom":"10px"},modelValue:d.value,"onUpdate:modelValue":l[0]||(l[0]=s=>d.value=s),clearable:"",placeholder:"请输入关键词",onChange:M,onClear:M},{append:k(()=>[x(i,{type:"primary",icon:"Search"})]),_:1},8,["modelValue"]),x(q,{ref_key:"tableRef",ref:V,data:r.value,size:"mini",border:"","row-key":"id",style:{width:"400px"},"max-height":"200",height:"200","highlight-current-row":!n.tableConfig.isMultiple,onSelectionChange:g,onCurrentChange:G},{default:k(()=>[n.tableConfig.isMultiple?(_(),R(h,{key:0,fixed:"",type:"selection",width:"55"})):W("",!0),x(h,{fixed:"",type:"index",label:"#",width:"50"}),(_(!0),N(j,null,z(n.tableConfig.columns,(s,H)=>(_(),R(h,{prop:s.prop,label:s.label,width:s.width,key:H},null,8,["prop","label","width"]))),128))]),_:1},8,["data","highlight-current-row"]),x(L,{style:{"margin-top":"10px"},background:"","current-page":e.page,"onUpdate:currentPage":l[1]||(l[1]=s=>e.page=s),"page-size":e.limit,"onUpdate:pageSize":l[2]||(l[2]=s=>e.limit=s),layout:"prev, pager, next",total:e.total,onCurrentChange:F},null,8,["current-page","page-size","total"])])]),_:1},8,["multiple","onRemoveTag","modelValue"])}}});const T=B(re,[["__scopeId","data-v-ef527744"]]),se=P({__name:"index",props:{modelValue:Array,bindValue:Array,displayLabel:{type:String,default:""}},setup(a){const c=a,n=v();U(()=>c.bindValue,o=>{const{displayLabel:m}=c,d=o?o.map(r=>r[m]):null;n.value=d},{immediate:!0});const b=["success","info","warning","danger"],V=()=>b[Math.floor(Math.random()*b.length)];return(o,m)=>{const d=f("el-tag");return _(),N("div",null,[(_(!0),N(j,null,z(n.value,(r,e)=>(_(),R(d,{class:"many-to-many-tag",type:V,key:e},{default:k(()=>[X(J(r),1)]),_:2},1024))),128))])}}});const D=B(se,[["__scopeId","data-v-4dbdd8c1"]]),{compute:u}=$(),me=function({crudExpose:a,tabActivted:c}){const n=async e=>c.value==="receive"?await te(e):await Z(e),b=async({form:e,row:g})=>(e.id=g.id,await le(e)),V=async({row:e})=>await ne(e.id),o=async({form:e})=>await ae(e),m=async({row:e})=>await ee(e.id),d=Q(()=>c.value==="receive"),r=Y("$hasPermissions");return{crudOptions:{request:{pageRequest:n,addRequest:o,editRequest:b,delRequest:V},rowHandle:{fixed:"right",width:150,buttons:{edit:{show:!1},view:{text:"查看",type:"text",iconRight:"View",show:r("messageCenter:Search"),click({index:e,row:g}){a.openView({index:e,row:g}),c.value==="receive"&&(m({row:g}),a.doRefresh())}},remove:{iconRight:"Delete",type:"text",show:r("messageCenter:Delete")}}},columns:{id:{title:"id",form:{show:!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:O({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:O({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:y(T),vModel:"modelValue",displayLabel:u(({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:u(({form:e})=>e.target_type===0),rules:[{required:!0,message:"必填项"}]},column:{show:!1,component:{name:y(D),vModel:"modelValue",bindValue:u(({row:e})=>e.user_info),displayLabel:"name"}}},target_role:{title:"目标角色",search:{disabled:!0},width:130,form:{component:{name:y(T),vModel:"modelValue",displayLabel:u(({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:u(({form:e})=>e.target_type===1),rules:[{required:!0,message:"必填项"}]},column:{show:!1,component:{name:y(D),vModel:"modelValue",bindValue:u(({row:e})=>e.role_info),displayLabel:"name"}}},target_dept:{title:"目标部门",search:{disabled:!0},width:130,type:"table-selector",form:{component:{name:y(T),vModel:"modelValue",displayLabel:u(({form:e})=>e.target_dept_name),tableConfig:{url:"/api/system/dept/all_dept/",label:"name",value:"id",isTree:!0,isMultiple:!0,columns:[{prop:"name",label:"部门名称"},{prop:"status_label",label:"状态"},{prop:"parent_name",label:"父级部门"}]}},show:u(({form:e})=>e.target_type===2),rules:[{required:!0,message:"必填项"}]},column:{show:!1,component:{name:y(D),vModel:"modelValue",bindValue:u(({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:!0,id:"1",editorConfig:{readOnly:u(e=>{const{mode:g}=e;return g!=="add"})},uploader:{type:"form",buildUrl(e){return e.url}}}}}}}}};export{me as createCrudOptions};
|