feat: 角色增删改查

dev_1.0.0
xiangcongshuai 11 months ago
parent a8d61e10b6
commit d503f9ed0b

@ -192,3 +192,39 @@ export const deleteDicManage = (data?: object) => {
params: data
});
};
/**
*
* @returns
*/
export const createRole = (data?: object) => {
return http.request<Result>("post", "/know-sub/roleManage/save", {
data
});
};
/**
*
* @returns
*/
export const queryRoleDateList = (data?: object) => {
return http.request<Result>("get", "/know-sub/roleManage/list", {
params: data
});
};
/**
*
* @returns
*/
export const updateRole = (data?: object) => {
return http.request<Result>("post", "/know-sub/roleManage/update", {
data
});
};
/**
*
* @returns
*/
export const deleteRole = (data?: object) => {
return http.request<Result>("delete", "/know-sub/roleManage/delete", {
params: data
});
};

@ -169,7 +169,6 @@ const getTagsWidth = () => {
// });
// };
onMounted(() => {
console.log("222", tabs.list);
// window.addEventListener("resize", getResizeTabs);
});
</script>

@ -48,6 +48,7 @@ const id = ref("");
defineExpose({
open(val1, val2) {
dialogVisible.value = true;
reason.value = "";
id.value = val1;
todoId.value = val2;
}

@ -55,6 +55,7 @@ const getDeatils = async id => {
const closeDialog = () => {
dialogVisible.value = false;
};
const downLoadFile = item => {};
</script>
<template>
@ -136,6 +137,7 @@ const closeDialog = () => {
<div class="annex">
<div
class="annex_item"
@click="downLoadFile(item)"
v-for="(item, index) in formData.fileInfoList"
:key="index"
>

@ -45,6 +45,7 @@ const dialogVisible = ref(false);
const reason = ref("");
defineExpose({
open() {
reason.value = "";
dialogVisible.value = true;
}
});

@ -17,7 +17,7 @@ defineExpose({
openApproval(row) {
dialogVisible.value = true;
title.value = row.title;
getDetails(row.knowledgeId, row.flowId);
getDetails(row.knowledgeId, row.flowInstanceId);
}
});
@ -30,10 +30,10 @@ const getStatusColor = index => {
borderColor: colorList[index]
};
};
const getDetails = async (id, flowId) => {
const getDetails = async (id, flowInstanceId) => {
const res: any = await queryKnowledgeFlowRecord({
knowledgeId: id,
flowId
flowInstanceId
});
recordList.value = res.data;
};

@ -49,6 +49,7 @@ const reason = ref("");
const id = ref("");
defineExpose({
open(val) {
reason.value = "";
id.value = val;
dialogVisible.value = true;
}

@ -0,0 +1,168 @@
<script setup lang="ts">
import { onMounted, reactive, ref, watch } from "vue";
import { FormInstance, FormRules } from "element-plus";
import { createRole, updateRole } from "@/api/system";
import { message } from "@/utils/message";
defineOptions({
name: "CreateForm"
});
const props = defineProps({
createFlag: {
type: Boolean,
default: false
},
updateFrom: {
type: Object,
default: () => {
return {};
}
},
accountFromType: {
type: String,
default: ""
},
closeDrawer: {
type: Function
}
});
const modalVisible = ref(false);
// props.message modalVisible
watch(
() => props.createFlag,
newValue => {
modalVisible.value = newValue; // modalVisible
if (newValue) {
if (props.accountFromType === "edit") {
getFlowDetails(props.updateFrom);
}
}
}
);
const ruleFormRef = ref<FormInstance>();
const roleForm = reactive({
id: "",
roleName: "",
mark: ""
});
const rules = reactive<FormRules>({
roleName: [{ required: true, message: "请输入", trigger: "blur" }]
});
const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
if (props.accountFromType === "edit") {
updateRole(roleForm).then(res => {
if (res.code === 200) {
message("修改成功", { type: "success" });
props.closeDrawer();
}
});
} else {
createRole(roleForm).then(res => {
if (res.code === 200) {
message("新建成功", { type: "success" });
props.closeDrawer();
}
});
}
} else {
console.log("error submit!", fields);
}
});
};
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return;
formEl.resetFields();
};
const handleDrawerClosed = () => {
props.closeDrawer();
};
const getFlowDetails = (value: any) => {
roleForm.id = props.accountFromType === "edit" ? value.id : "";
roleForm.roleName = value.roleName;
roleForm.mark = value.remark;
};
onMounted(() => {});
</script>
<template>
<div>
<el-drawer
v-model="modalVisible"
modal-class="drawer_content"
:with-header="false"
@closed="handleDrawerClosed"
>
<div class="drawer_header">
<span>新增角色</span>
</div>
<div class="drawer_box">
<el-form
:model="roleForm"
label-width="auto"
:rules="rules"
ref="ruleFormRef"
>
<el-form-item label="角色名称" prop="roleName">
<el-input
v-model="roleForm.roleName"
autocomplete="off"
placeholder="请输入"
/>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="roleForm.mark" type="textarea" />
</el-form-item>
</el-form>
<div class="drawer_footer">
<el-button plain @click="resetForm(ruleFormRef)"></el-button>
<el-button type="primary" @click="submitForm(ruleFormRef)"
>确定</el-button
>
</div>
</div>
</el-drawer>
</div>
</template>
<style lang="scss" scoped>
:deep(.el-drawer__body) {
padding: 0 !important;
}
.drawer_content {
.drawer_header {
box-sizing: border-box;
height: 96px;
padding: 24px;
line-height: 65px;
border-bottom: 1px solid #e9e9e9;
span {
padding-left: 8px;
font-size: 20px;
border-left: 6px solid #0052d9;
}
}
.drawer_box {
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(100vh - 96px);
padding: 24px;
.drawer_footer {
display: flex;
justify-content: flex-end;
}
}
}
</style>

@ -8,11 +8,14 @@ import {
getDeptManageList,
resetPW,
deletePW,
deleteDeptManage
deleteDeptManage,
queryRoleDateList,
deleteRole
} from "@/api/system";
import { message } from "@/utils/message";
import accountDrawer from "./compontents/accountDrawer.vue";
import deptDrawer from "./compontents/deptDrawer.vue";
import roleDrawer from "./compontents/roleDrawer.vue";
defineOptions({
name: "AccountManagement"
});
@ -27,6 +30,7 @@ const accountForm = reactive({
});
const updateFrom = ref({});
const updateDeptFrom = ref({});
const updateRoleFrom = ref({});
const passwordForm = reactive({
id: "",
account: "",
@ -57,7 +61,7 @@ const pagination = reactive({
background: true
});
const dataList = ref([]);
const roleDataList = ref([]);
const accountDataList = ref([]);
// const deptDataList = ref([]);
/**
@ -95,6 +99,20 @@ const getUserTableData = async () => {
console.log(res);
// dataList.value = res.data;
};
/**
* 角色列表查询
*/
const getRoleTableData = async () => {
const res: any = await queryRoleDateList({
roleName: accountForm.userName,
pageNum: pagination.currentPage,
pageSize: pagination.pageSize
});
if (res.code === 200) {
roleDataList.value = res.data.records;
pagination.total = res.data.total;
}
};
const search = () => {
pagination.currentPage = 1;
pagination.pageSize = 10;
@ -102,6 +120,8 @@ const search = () => {
getUserTableData();
} else if (seachForm.status === "2") {
getDeptData();
} else {
getRoleTableData();
}
};
@ -113,6 +133,7 @@ const reset = () => {
};
const createFlag = ref(false);
const createDeptFlag = ref(false);
const createRoleFlag = ref(false);
const dialogFormVisible = ref(false);
const deleteFormVisible = ref(false);
@ -123,6 +144,8 @@ const create = () => {
createFlag.value = true;
} else if (seachForm.status === "2") {
createDeptFlag.value = true;
} else {
createRoleFlag.value = true;
}
// search();
@ -139,6 +162,10 @@ const closeDrawer = () => {
createDeptFlag.value = false;
accountFromType.value = "";
search();
} else {
createRoleFlag.value = false;
accountFromType.value = "";
search();
}
// if (updateFlag.value) {
// updateFlag.value = false;
@ -166,6 +193,10 @@ const handleEdit = async (value: any, type: string) => {
createDeptFlag.value = true;
accountFromType.value = type;
updateDeptFrom.value = value;
} else {
createRoleFlag.value = true;
accountFromType.value = type;
updateRoleFrom.value = value;
}
};
@ -232,6 +263,16 @@ const deleteForm = () => {
search();
}
});
} else {
deleteRole({
id: passwordForm.id
}).then(res => {
if (res.code === 200) {
message("删除成功", { type: "success" });
deleteFormVisible.value = false;
search();
}
});
}
};
const newName = (type: any) => {
@ -252,9 +293,12 @@ const deleteName = (type: any) => {
return "角色";
}
};
//
const handleRolePermission = row => {};
onMounted(() => {
getDeptData();
getUserTableData();
getRoleTableData();
});
</script>
@ -388,15 +432,28 @@ onMounted(() => {
<pure-table
showOverflowTooltip
alignWhole="center"
:data="dataList"
:data="roleDataList"
:columns="roleColumns"
adaptive
:pagination="pagination"
@page-current-change="onCurrentChange"
:header-cell-style="{
background: 'var(--el-table-row-hover-bg-color)',
color: 'var(--el-text-color-primary)'
}"
>
<template #index="{ index }">
<span>{{ index + 1 }}</span>
</template>
<template #operation="{ row }">
<el-button link type="primary" @click="handleEdit(row, 'edit')">
编辑
</el-button>
<span>|</span>
<el-button link type="primary" @click="handleRolePermission(row)">
角色权限
</el-button>
<span>|</span>
<el-button link type="danger" @click="handleDelete(row)">
删除
</el-button>
@ -417,6 +474,14 @@ onMounted(() => {
:accountFromType="accountFromType"
:closeDrawer="closeDrawer"
/>
<!-- 角色 -->
<roleDrawer
:createFlag="createRoleFlag"
:updateFrom="updateRoleFrom"
:accountFromType="accountFromType"
:closeDrawer="closeDrawer"
/>
<!-- 账户弹框 -->
<el-dialog
v-model="dialogFormVisible"

@ -75,15 +75,15 @@ export function useColumns() {
const roleColumns: TableColumnList = [
{
label: "序号",
prop: "diseaseName"
slot: "index"
},
{
label: "角色",
prop: "diseaseName"
prop: "roleName"
},
{
label: "备注",
prop: "diseaseName"
prop: "remark"
},
{
label: "操作",

Loading…
Cancel
Save