|
|
@ -256,12 +256,12 @@ const closeUserAddVisible = function () { |
|
|
|
} |
|
|
|
const closePermissionAddVisible = function () { |
|
|
|
addRole.value = { |
|
|
|
roleName: '', |
|
|
|
parentId: null, |
|
|
|
checkedKeys: [], |
|
|
|
grade: '', |
|
|
|
market: '' |
|
|
|
} |
|
|
|
roleName: '', |
|
|
|
parentId: null, |
|
|
|
checkedKeys: [], |
|
|
|
grade: '', |
|
|
|
market: '' |
|
|
|
} |
|
|
|
permissionAddVisible.value = false |
|
|
|
Ref.value.resetFields(); |
|
|
|
getRoleList() |
|
|
@ -500,6 +500,7 @@ const permissionEdit = async function () { |
|
|
|
postiton: permissionEditObj.value.postiton,//职位 |
|
|
|
roleId: permissionEditObj.value.roleId,//角色id |
|
|
|
machineId: permissionEditObj.value.machineIds[0],//机器码 |
|
|
|
machineId: permissionEditObj.value.machineIds[0],//机器码 |
|
|
|
machineIds: permissionEditObj.value.machineIds[1],//机器码 |
|
|
|
password: permissionEditObj.value.password,// |
|
|
|
remark: permissionEditObj.value.remark//备注 |
|
|
@ -516,7 +517,7 @@ const permissionEdit = async function () { |
|
|
|
} |
|
|
|
); |
|
|
|
get(); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
ElMessage.error(result.msg) |
|
|
|
} |
|
|
|
|
|
|
@ -579,7 +580,7 @@ const delRoleConfirm = async function () { |
|
|
|
} |
|
|
|
const handleAddRole = async function () { |
|
|
|
try { |
|
|
|
await new Promise((resolve, reject) => { |
|
|
|
await new Promise((resolve, reject) => { |
|
|
|
Ref.value.validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
resolve(); // 验证通过,继续执行后续代码 |
|
|
@ -665,8 +666,8 @@ const getLists = async function () { |
|
|
|
data: { id: roleId } |
|
|
|
}) |
|
|
|
data.value = res.data |
|
|
|
if(addRole.value.parentId!=2){ |
|
|
|
data.value = data.value.filter(item => item.id!== 9); |
|
|
|
if (addRole.value.parentId != 2) { |
|
|
|
data.value = data.value.filter(item => item.id !== 9); |
|
|
|
} |
|
|
|
console.log('看看data', data.value) |
|
|
|
console.log('parentID:', addRole.value.parentId, 'roleId:', roleId) |
|
|
@ -733,19 +734,19 @@ onMounted(async function () { |
|
|
|
await getAdminData() |
|
|
|
}) |
|
|
|
|
|
|
|
const Rolerules = reactive({ |
|
|
|
roleName: [ |
|
|
|
{ required: true, message: '请输入角色名称', trigger: 'blur' }, |
|
|
|
{ min: 2, max: 20, message: '角色名称长度应在2-20个字符之间', trigger: 'blur' } |
|
|
|
], |
|
|
|
market: [ |
|
|
|
{ required: true, message: '请选择所属地区', trigger: 'change' } |
|
|
|
], |
|
|
|
grade: [ |
|
|
|
{ required: true, message: '请输入优先级', trigger: 'blur' }, |
|
|
|
{ pattern: /^[1-9]\d{0,2}$/, message: '优先级应为1-999的数字', trigger: 'blur' } |
|
|
|
] |
|
|
|
}); |
|
|
|
const Rolerules = reactive({ |
|
|
|
roleName: [ |
|
|
|
{ required: true, message: '请输入角色名称', trigger: 'blur' }, |
|
|
|
{ min: 2, max: 20, message: '角色名称长度应在2-20个字符之间', trigger: 'blur' } |
|
|
|
], |
|
|
|
market: [ |
|
|
|
{ required: true, message: '请选择所属地区', trigger: 'change' } |
|
|
|
], |
|
|
|
grade: [ |
|
|
|
{ required: true, message: '请输入优先级', trigger: 'blur' }, |
|
|
|
{ pattern: /^[1-9]\d{0,2}$/, message: '优先级应为1-999的数字', trigger: 'blur' } |
|
|
|
] |
|
|
|
}); |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
@ -822,13 +823,13 @@ onMounted(async function () { |
|
|
|
重置密码 |
|
|
|
</el-button> |
|
|
|
<el-button type="primary" text @click="permissionEditInit(scope.row)" |
|
|
|
:disabled="scope.row.adminStatus === 0 ||scope.row.account === adminData.account "> |
|
|
|
:disabled="scope.row.adminStatus === 0 || scope.row.account === adminData.account"> |
|
|
|
修改权限 |
|
|
|
</el-button> |
|
|
|
<el-popconfirm title="确定将此用户删除吗?" @confirm="delConfirm"> |
|
|
|
<template #reference> |
|
|
|
<el-button type="danger" text @click="del(scope.row)" |
|
|
|
:disabled="scope.row.adminStatus === 0 || scope.row.account === adminData.account"> |
|
|
|
:disabled="scope.row.adminStatus === 0 || scope.row.account === adminData.account"> |
|
|
|
删除 |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
@ -843,8 +844,8 @@ onMounted(async function () { |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="adminStatus" label="状态"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-switch v-model="scope.row.adminStatus" :active-value="1" :inactive-value="0" size="large" :disabled="scope.row.account === adminData.account" |
|
|
|
@change="editStatus(scope.row)" style=" |
|
|
|
<el-switch v-model="scope.row.adminStatus" :active-value="1" :inactive-value="0" size="large" |
|
|
|
:disabled="scope.row.account === adminData.account" @change="editStatus(scope.row)" style=" |
|
|
|
--el-switch-on-color: #13ce66; |
|
|
|
--el-switch-off-color: #ff4949; |
|
|
|
" active-text="启用" inactive-text="禁用" inline-prompt /> |
|
|
@ -905,7 +906,8 @@ onMounted(async function () { |
|
|
|
<template #default="scope"> |
|
|
|
<el-popconfirm title="确定将此角色删除吗?" @confirm="delRoleConfirm"> |
|
|
|
<template #reference> |
|
|
|
<el-button type="danger" text @click="delRole(scope.row)" :disabled="scope.row.id === 1 || scope.row.id === 2"> |
|
|
|
<el-button type="danger" text @click="delRole(scope.row)" |
|
|
|
:disabled="scope.row.id === 1 || scope.row.id === 2"> |
|
|
|
删除 |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
@ -1053,7 +1055,8 @@ onMounted(async function () { |
|
|
|
<!-- 新增角色 --> |
|
|
|
<el-dialog v-model="permissionAddVisible" title="新增角色" width="800px" :close-on-click-modal="false"> |
|
|
|
<template #footer> |
|
|
|
<el-form ref="Ref" :rules="Rolerules" :model="addRole" label-width="auto" style="max-width: 600px; align-items: center"> |
|
|
|
<el-form ref="Ref" :rules="Rolerules" :model="addRole" label-width="auto" |
|
|
|
style="max-width: 600px; align-items: center"> |
|
|
|
<el-form-item prop="roleName" label="角色名称:" required> |
|
|
|
<el-input v-model="addRole.roleName" placeholder="请输入用户名" style="width: 220px" /> |
|
|
|
</el-form-item> |
|
|
@ -1069,12 +1072,16 @@ onMounted(async function () { |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="checkedKeys" label="权限列表:" required> |
|
|
|
<el-tree :data="data" show-checkbox node-key="id" :props="{ label: 'menuName', children: 'children' }" |
|
|
|
:checked-keys="addRole.checkedKeys" @check="handleCheckChange"> |
|
|
|
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" |
|
|
|
:props="{ label: 'menuName', children: 'children' }" :checked-keys="addRole.checkedKeys" |
|
|
|
@check="handleCheckChange"> |
|
|
|
<template #default="{ node, data }"> |
|
|
|
<span>{{ node.label }}</span> |
|
|
|
</template> |
|
|
|
</el-tree> |
|
|
|
<div v-else style="display: flex; align-items: center; gap: 8px;"> |
|
|
|
<span style="color: #999;">暂无数据</span> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="grade" label="优先级:" required> |
|
|
|
<el-input v-model="addRole.grade" placeholder="数字1~999" style="width: 220px" /> |
|
|
|