From 7b9c91f9feb33f901aa09174fbbf119ee3ebcb24 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期一, 11 七月 2022 17:49:24 +0800 Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut --- src/views/system/role/component/roleDialog.vue | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 0 deletions(-) diff --git a/src/views/system/role/component/roleDialog.vue b/src/views/system/role/component/roleDialog.vue new file mode 100644 index 0000000..d3b7c04 --- /dev/null +++ b/src/views/system/role/component/roleDialog.vue @@ -0,0 +1,150 @@ +<template> + <div class="system-add-role-container"> + <el-dialog :title="title" v-model="isShowRoleDialog" width="769px"> + <el-form :model="roleForm" size="default" label-width="90px"> + <el-row :gutter="35"> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="角色名称"> + <el-input v-model="roleForm.roleName" placeholder="请输入角色名称" clearable></el-input> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="角色标识"> + <el-input v-model="roleForm.roleCode" placeholder="请输入角色标识" clearable></el-input> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="角色描述"> + <el-input v-model="roleForm.roleInfo" type="textarea" placeholder="请输入角色描述" maxlength="150"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="isShowRoleDialog = !isShowRoleDialog" size="default">取 消</el-button> + <el-button type="primary" @click="onSubmit" size="default">{{ buttonName }}</el-button> + </span> + </template> + </el-dialog> + </div> +</template> + +<script lang="ts"> +import { ElMessage } from 'element-plus'; +import { reactive, toRefs, defineComponent } from 'vue'; +import {useRoleApi} from "/@/api/role"; + +// 定义接口来定义对象的类型 +interface MenuDataTree { + id: number; + label: string; + children?: MenuDataTree[]; +} +interface RoleState { + title:string, + buttonName:string, + isShowRoleDialog: boolean; + roleForm: { + roleName: string; + roleCode: string; + roleInfo: string; + }; + menuData: Array<MenuDataTree>; + menuProps: { + children: string; + label: string; + }; +} + +export default defineComponent({ + name: 'systemAddRole', + setup(prop,context) { + const state = reactive<RoleState>({ + isShowRoleDialog: false, + title:'', + buttonName:'', + roleForm: { + roleName: '', // 角色名称 + roleCode: '', // 角色标识 + roleInfo: '', // 排序 + }, + menuData: [], + menuProps: { + children: 'children', + label: 'label', + }, + }); + // 打开弹窗 + const openDialog = (type: string, value: any) => { + state.isShowRoleDialog = true; + if(type === '新增'){ + state.title = '新增角色' + state.buttonName = '新增' + state.roleForm = { + roleName:'', + roleCode:'', + roleInfo:'', + } + }else{ + state.title = '修改角色' + state.buttonName = '修改' + state.roleForm = JSON.parse(JSON.stringify(value)) + } + }; + // 新增 + const onSubmit = async () => { + if(state.title === '新增角色'){ + let res = await useRoleApi().addRole(state.roleForm) + if(res.data.code === '200'){ + ElMessage({ + type:'success', + message:'角色新增成功', + duration:2000 + }) + state.isShowRoleDialog = false + context.emit('refreshRoleList') + }else{ + ElMessage({ + type:'warning', + message:res.data.msg + }) + } + }else{ + let res = await useRoleApi().modRole(state.roleForm) + if(res.data.code === '200'){ + ElMessage({ + type:'success', + message:'角色修改成功', + duration:2000 + }) + state.isShowRoleDialog = false + context.emit('refreshRoleList') + }else{ + ElMessage({ + type:'warning', + message:res.data.msg + }) + } + } + }; + // 获取菜单结构数据 + return { + onSubmit, + openDialog, + ...toRefs(state), + }; + }, +}); +</script> + +<style scoped lang="scss"> +.system-add-role-container { + .menu-data-tree { + width: 100%; + border: 1px solid var(--el-border-color); + border-radius: var(--el-input-border-radius, var(--el-border-radius-base)); + padding: 5px; + } +} +</style> -- Gitblit v1.9.2