mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-08 01:17:23 +08:00
2 lines
2.9 KiB
JavaScript
2 lines
2.9 KiB
JavaScript
import{_ as k}from"./form.vue_vue_type_script_setup_true_lang-0fb31c7c.js";import{m as s}from"./message-6f31e976.js";import{a as z}from"./system-75614cde.js";import{u as D}from"./hooks-2777bcf3.js";import{f as T}from"./index-fa5d6b3f.js";function Y(){const u=Vue.reactive({name:"",code:"",status:""}),r=Vue.ref(),c=Vue.ref([]),o=Vue.ref(!0),a=Vue.ref({}),{switchStyle:d}=D(),l=Vue.reactive({total:0,pageSize:10,currentPage:1,background:!0}),f=[{label:"角色编号",prop:"id",minWidth:100},{label:"角色名称",prop:"name",minWidth:120},{label:"角色标识",prop:"code",minWidth:150},{label:"状态",minWidth:130,cellRenderer:e=>{var t;return Vue.createVNode(Vue.resolveComponent("el-switch"),{size:e.props.size==="small"?"small":"default",loading:(t=a.value[e.index])==null?void 0:t.loading,modelValue:e.row.status,"onUpdate:modelValue":i=>e.row.status=i,"active-value":1,"inactive-value":0,"active-text":"已启用","inactive-text":"已停用","inline-prompt":!0,style:d.value,onChange:()=>g(e)},null)}},{label:"备注",prop:"remark",minWidth:150},{label:"创建时间",minWidth:180,prop:"createTime",formatter:({createTime:e})=>dayjs(e).format("YYYY-MM-DD HH:mm:ss")},{label:"操作",fixed:"right",width:240,slot:"operation"}];function g({row:e,index:t}){ElementPlus.ElMessageBox.confirm(`确认要<strong>${e.status===0?"停用":"启用"}</strong><strong style='color:var(--el-color-primary)'>${e.name}</strong>吗?`,"系统提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",dangerouslyUseHTMLString:!0,draggable:!0}).then(()=>{a.value[t]=Object.assign({},a.value[t],{loading:!0}),setTimeout(()=>{a.value[t]=Object.assign({},a.value[t],{loading:!1}),s(`已${e.status===0?"停用":"启用"}${e.name}`,{type:"success"})},300)}).catch(()=>{e.status===0?e.status=1:e.status=0})}function p(e){s(`您删除了角色名称为${e.name}的这条数据`,{type:"success"}),n()}function h(e){}function v(e){}function b(e){}async function n(){o.value=!0;const{data:e}=await z(Vue.toRaw(u));c.value=e.list,l.total=e.total,l.pageSize=e.pageSize,l.currentPage=e.currentPage,setTimeout(()=>{o.value=!1},500)}const V=e=>{e&&(e.resetFields(),n())};function y(e="新增",t){T({title:`${e}角色`,props:{formInline:{name:(t==null?void 0:t.name)??"",code:(t==null?void 0:t.code)??"",remark:(t==null?void 0:t.remark)??""}},width:"40%",draggable:!0,fullscreenIcon:!0,closeOnClickModal:!1,contentRenderer:()=>Vue.h(k,{ref:r}),beforeSure:(i,{options:C})=>{const M=r.value.getRef(),R=C.props.formInline;function m(){s(`您${e}了角色名称为${R.name}的这条数据`,{type:"success"}),i(),n()}M.validate($=>{$&&m()})}})}function S(){s("等菜单管理页面开发后完善")}return Vue.onMounted(()=>{n()}),{form:u,loading:o,columns:f,dataList:c,pagination:l,onSearch:n,resetForm:V,openDialog:y,handleMenu:S,handleDelete:p,handleSizeChange:h,handleCurrentChange:v,handleSelectionChange:b}}export{Y as useRole};
|