|
@ -81,6 +81,7 @@ const getAdminData = async function () { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
<<<<<<< HEAD |
|
|
const viewRole =ref([]) |
|
|
const viewRole =ref([]) |
|
|
const getRolePermission = async function(){ |
|
|
const getRolePermission = async function(){ |
|
|
const result = await request({ |
|
|
const result = await request({ |
|
@ -92,6 +93,10 @@ const getRolePermission = async function(){ |
|
|
viewRole.value = collectIds(result.data) |
|
|
viewRole.value = collectIds(result.data) |
|
|
console.log('result111',viewRole.value); |
|
|
console.log('result111',viewRole.value); |
|
|
} |
|
|
} |
|
|
|
|
|
======= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期 |
|
|
// 编辑用户权限对象 |
|
|
// 编辑用户权限对象 |
|
|
const permissionEditObj = ref({ |
|
|
const permissionEditObj = ref({ |
|
|
checkedKeys: [], |
|
|
checkedKeys: [], |
|
@ -346,13 +351,10 @@ const permissionAdd = async function () { |
|
|
} |
|
|
} |
|
|
const addUserRules = { |
|
|
const addUserRules = { |
|
|
account: [ |
|
|
account: [ |
|
|
{ required: true, message: '请输入OA号', trigger: 'blur' }, |
|
|
|
|
|
{ pattern: /^\d+$/, message: 'OA号必须为数字', trigger: 'blur' }, |
|
|
|
|
|
{ max: 20, message: '长度不能超过20位', trigger: 'blur' } |
|
|
|
|
|
|
|
|
{ required: true, message: '请输入OA号', trigger: 'blur' } |
|
|
], |
|
|
], |
|
|
name: [ |
|
|
name: [ |
|
|
{ required: true, message: '请输入用户名', trigger: 'blur' }, |
|
|
|
|
|
{ max: 20, message: '长度不能超过20位', trigger: 'blur' } |
|
|
|
|
|
|
|
|
{ required: true, message: '请输入用户名', trigger: 'blur' } |
|
|
], |
|
|
], |
|
|
market: [ |
|
|
market: [ |
|
|
{ required: true, message: '请选择所属地区', trigger: 'change' } |
|
|
{ required: true, message: '请选择所属地区', trigger: 'change' } |
|
@ -361,8 +363,7 @@ const addUserRules = { |
|
|
{ required: true, message: '请选择角色名称', trigger: 'change' } |
|
|
{ required: true, message: '请选择角色名称', trigger: 'change' } |
|
|
], |
|
|
], |
|
|
postiton: [ |
|
|
postiton: [ |
|
|
{ required: true, message: '请输入职位', trigger: 'blur' }, |
|
|
|
|
|
{ max: 20, message: '长度不能超过20位', trigger: 'blur' } |
|
|
|
|
|
|
|
|
{ required: true, message: '请输入职位', trigger: 'blur' } |
|
|
], |
|
|
], |
|
|
machineIds: [ |
|
|
machineIds: [ |
|
|
{ |
|
|
{ |
|
@ -405,16 +406,15 @@ const getRoles = async function () { |
|
|
|
|
|
|
|
|
// 打开编辑用户权限弹窗 |
|
|
// 打开编辑用户权限弹窗 |
|
|
const openUserEditVisible = function () { |
|
|
const openUserEditVisible = function () { |
|
|
|
|
|
getRoles() |
|
|
userEditVisible.value = true |
|
|
userEditVisible.value = true |
|
|
} |
|
|
} |
|
|
// 关闭编辑用户权限弹窗 |
|
|
// 关闭编辑用户权限弹窗 |
|
|
const closeUserEditVisible = function () { |
|
|
const closeUserEditVisible = function () { |
|
|
userEditVisible.value = false |
|
|
userEditVisible.value = false |
|
|
data.value = [] |
|
|
|
|
|
} |
|
|
} |
|
|
// 编辑用户权限初始化 |
|
|
// 编辑用户权限初始化 |
|
|
const permissionEditInit = async function (row) { |
|
|
const permissionEditInit = async function (row) { |
|
|
getRoles() |
|
|
|
|
|
console.log('row', row) |
|
|
console.log('row', row) |
|
|
permissionEditObj.value = {} |
|
|
permissionEditObj.value = {} |
|
|
permissionEditObj.value.id = row.id |
|
|
permissionEditObj.value.id = row.id |
|
@ -442,10 +442,7 @@ const permissionEditInit = async function (row) { |
|
|
permissionEditObj.value.parentId = result.data?.fatherId |
|
|
permissionEditObj.value.parentId = result.data?.fatherId |
|
|
permissionEditObj.value.parentName = result.data?.fatherName |
|
|
permissionEditObj.value.parentName = result.data?.fatherName |
|
|
console.log('get前', permissionEditObj.value.roleId); |
|
|
console.log('get前', permissionEditObj.value.roleId); |
|
|
permissionEditObj.value.roleName = row.roleName |
|
|
|
|
|
if (permissionEditObj.value.roleId == 0) { |
|
|
|
|
|
permissionEditObj.value.roleId = '' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
getUserLists(row.roleId) |
|
|
getUserLists(row.roleId) |
|
|
|
|
|
|
|
|
let machineIdsRef = await request({ |
|
|
let machineIdsRef = await request({ |
|
@ -467,6 +464,7 @@ const permissionEditInit = async function (row) { |
|
|
permissionEditObj.value.machineId = permissionEditObj.value.machineIds[0] |
|
|
permissionEditObj.value.machineId = permissionEditObj.value.machineIds[0] |
|
|
//permissionEditObj.value.permission = row.permission |
|
|
//permissionEditObj.value.permission = row.permission |
|
|
|
|
|
|
|
|
|
|
|
permissionEditObj.value.roleName = row.roleName |
|
|
console.log('编辑用户权限', permissionEditObj.value) |
|
|
console.log('编辑用户权限', permissionEditObj.value) |
|
|
console.log('11111111111111', permissionEditObj.value.machineId) |
|
|
console.log('11111111111111', permissionEditObj.value.machineId) |
|
|
openUserEditVisible() |
|
|
openUserEditVisible() |
|
@ -532,62 +530,21 @@ const getUserLists = async function (selectedRoleId) { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//编辑用户表单校验 |
|
|
|
|
|
const editAdminRules = { |
|
|
|
|
|
market: [ |
|
|
|
|
|
{ required: true, message: '请选择所属地区', trigger: 'change' } |
|
|
|
|
|
], |
|
|
|
|
|
postiton: [ |
|
|
|
|
|
{ required: true, message: '请输入职位', trigger: 'blur' }, |
|
|
|
|
|
{ max: 20, message: '长度不能超过20位', trigger: 'blur' } |
|
|
|
|
|
], |
|
|
|
|
|
machineIds: [ |
|
|
|
|
|
{ |
|
|
|
|
|
required: true, |
|
|
|
|
|
message: '请至少输入一个机器码', |
|
|
|
|
|
trigger: 'change', |
|
|
|
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
// 检查是否有非空的机器码 |
|
|
|
|
|
const hasValid = value.some(item => item.trim() !== ''); |
|
|
|
|
|
if (!hasValid) { |
|
|
|
|
|
callback(new Error('请至少输入一个机器码')); |
|
|
|
|
|
} else { |
|
|
|
|
|
callback(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
] |
|
|
|
|
|
}; |
|
|
|
|
|
// 编辑用户权限提交 |
|
|
// 编辑用户权限提交 |
|
|
const permissionEdit = async function () { |
|
|
const permissionEdit = async function () { |
|
|
let { adminName: userName, roleName: oldRole, roleId: newRoleId } = permissionEditObj.value; |
|
|
|
|
|
console.log('oldRole', oldRole); |
|
|
|
|
|
|
|
|
|
|
|
if (oldRole == null) { |
|
|
|
|
|
oldRole = '未分配权限' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
const { adminName: userName, roleName: oldRole, roleId: newRoleId } = permissionEditObj.value; |
|
|
const newRole = permissionList.value.find(item => item.value === newRoleId)?.label || '未知角色'; |
|
|
const newRole = permissionList.value.find(item => item.value === newRoleId)?.label || '未知角色'; |
|
|
try { |
|
|
try { |
|
|
await new Promise((resolve, reject) => { |
|
|
|
|
|
Ref.value.validate((valid) => { |
|
|
|
|
|
if (valid) { |
|
|
|
|
|
resolve(); // 验证通过,继续执行后续代码 |
|
|
|
|
|
} else { |
|
|
|
|
|
reject(new Error('请检查并完善表单信息')); // 验证失败,抛出错误 |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
await ElMessageBox.confirm( |
|
|
|
|
|
`确认修改权限角色?<br>您正在将【${userName}】的权限角色从【${oldRole}】修改为【${newRole}】<br>变更后,该用户的可操作权限将同步更新为新角色配置,涉及数据访问、功能操作等权限变化,请谨慎确认。`, |
|
|
|
|
|
'警告', |
|
|
|
|
|
{ |
|
|
|
|
|
confirmButtonText: '确认', |
|
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
|
type: "warning", |
|
|
|
|
|
lockScroll: false, |
|
|
|
|
|
dangerouslyUseHTMLString: true //允许解析 HTML 标签 |
|
|
|
|
|
} |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
await ElMessageBox.confirm( |
|
|
|
|
|
`确认修改权限角色?\n您正在将【${userName}】的权限角色从【${oldRole}】修改为【${newRole}】\n变更后,该用户的可操作权限将同步更新为新角色配置,涉及数据访问、功能操作等权限变化,请谨慎确认。`, |
|
|
|
|
|
'警告', |
|
|
|
|
|
{ |
|
|
|
|
|
confirmButtonText: '确认', |
|
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
|
type: "warning", |
|
|
|
|
|
lockScroll: false |
|
|
|
|
|
} |
|
|
|
|
|
); |
|
|
closeUserEditVisible(); |
|
|
closeUserEditVisible(); |
|
|
const result = await request({ |
|
|
const result = await request({ |
|
|
url: '/permission/updateAdmin', |
|
|
url: '/permission/updateAdmin', |
|
@ -614,7 +571,6 @@ const permissionEdit = async function () { |
|
|
} |
|
|
} |
|
|
); |
|
|
); |
|
|
get(); |
|
|
get(); |
|
|
closeUserEditVisible() |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
ElMessage.error(result.msg) |
|
|
ElMessage.error(result.msg) |
|
|
} |
|
|
} |
|
@ -622,6 +578,7 @@ const permissionEdit = async function () { |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('编辑用户权限失败', error) |
|
|
console.log('编辑用户权限失败', error) |
|
|
ElMessage.error('编辑用户权限失败') |
|
|
ElMessage.error('编辑用户权限失败') |
|
|
|
|
|
closeUserEditVisible() |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
const throttledPermissionEdit = _.throttle(permissionEdit, 5000, { |
|
|
const throttledPermissionEdit = _.throttle(permissionEdit, 5000, { |
|
@ -777,13 +734,11 @@ const getLists = async function () { |
|
|
} |
|
|
} |
|
|
console.log('看看data', data.value) |
|
|
console.log('看看data', data.value) |
|
|
console.log('parentID:', addRole.value.parentId, 'roleId:', roleId) |
|
|
console.log('parentID:', addRole.value.parentId, 'roleId:', roleId) |
|
|
if (addRole.value.parentId&& addRole.value.parentId!=2) { |
|
|
|
|
|
|
|
|
if (addRole.value.parentId) { |
|
|
const result = await API({ |
|
|
const result = await API({ |
|
|
url: '/general/roleMarket', |
|
|
url: '/general/roleMarket', |
|
|
data: { id: addRole.value.parentId } |
|
|
data: { id: addRole.value.parentId } |
|
|
}) |
|
|
}) |
|
|
console.log('result11',result.data); |
|
|
|
|
|
|
|
|
|
|
|
if (result.code == 200) { |
|
|
if (result.code == 200) { |
|
|
if (typeof result.data === 'string' && result.data) { |
|
|
if (typeof result.data === 'string' && result.data) { |
|
|
addRoleMarket.value = result.data.split(','); |
|
|
addRoleMarket.value = result.data.split(','); |
|
@ -799,16 +754,17 @@ const getLists = async function () { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
console.log('addRoleMarket.value', addRoleMarket.value); |
|
|
console.log('addRoleMarket.value', addRoleMarket.value); |
|
|
} else{ |
|
|
|
|
|
if (typeof market.value === 'string' && market.value) { |
|
|
|
|
|
addRoleMarket.value = market.value.split(','); |
|
|
|
|
|
} else if (Array.isArray(market.value)) { |
|
|
|
|
|
addRoleMarket.value = market.value |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
if (typeof adminData.value.markets === 'string' && adminData.value.markets) { |
|
|
|
|
|
addRoleMarket.value = adminData.value.markets.split(','); |
|
|
|
|
|
} else if (Array.isArray(adminData.value.markets)) { |
|
|
|
|
|
addRoleMarket.value = adminData.value.markets |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
addRoleMarket.value = []; |
|
|
addRoleMarket.value = []; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
} |
|
|
} |
|
@ -841,8 +797,8 @@ const EdithandleMarketChange = (values) => { |
|
|
// 如果选择了总部,只保留总部 |
|
|
// 如果选择了总部,只保留总部 |
|
|
permissionEditObj.value.market = ['总部']; |
|
|
permissionEditObj.value.market = ['总部']; |
|
|
} |
|
|
} |
|
|
console.log('看看现在的地区', permissionEditObj.value.market); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log('看看现在的地区',permissionEditObj.value.market); |
|
|
|
|
|
|
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// 处理编辑角色权限时的勾选事件 |
|
|
// 处理编辑角色权限时的勾选事件 |
|
@ -997,6 +953,21 @@ const permissionEditRoleObj = ref({ |
|
|
// 编辑角色弹窗 |
|
|
// 编辑角色弹窗 |
|
|
const permissionEditRoleVisible = ref(false); |
|
|
const permissionEditRoleVisible = ref(false); |
|
|
|
|
|
|
|
|
|
|
|
const collectIds2 = (tree) => { |
|
|
|
|
|
let ids = []; |
|
|
|
|
|
tree.forEach((node) => { |
|
|
|
|
|
// 如果当前节点没有 children 或 children 为空,说明是叶子节点 |
|
|
|
|
|
if (!node.children || node.children.length === 0) { |
|
|
|
|
|
ids.push(node.id); |
|
|
|
|
|
} else { |
|
|
|
|
|
// 如果有 children,递归收集子节点的叶子节点 |
|
|
|
|
|
ids = ids.concat(collectIds2(node.children)); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
return ids; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 编辑角色初始化 |
|
|
// 编辑角色初始化 |
|
|
const permissionEditRoleInit = async function (row) { |
|
|
const permissionEditRoleInit = async function (row) { |
|
|
console.log('row', row); |
|
|
console.log('row', row); |
|
@ -1011,7 +982,7 @@ const permissionEditRoleInit = async function (row) { |
|
|
// // 直接使用当前行的权限树数据 |
|
|
// // 直接使用当前行的权限树数据 |
|
|
// if (row.tree && row.tree.length > 0) { |
|
|
// if (row.tree && row.tree.length > 0) { |
|
|
// // 收集当前行权限树的所有 id |
|
|
// // 收集当前行权限树的所有 id |
|
|
// permissionEditRoleObj.value.checkedKeys = collectIds(row.tree); |
|
|
|
|
|
|
|
|
// permissionEditRoleObj.value.checkedKeys = collectIds2(row.tree); |
|
|
// // 以当前行的权限树数据作为 el-tree 的数据源 |
|
|
// // 以当前行的权限树数据作为 el-tree 的数据源 |
|
|
// data.value = row.tree; |
|
|
// data.value = row.tree; |
|
|
// } else { |
|
|
// } else { |
|
@ -1020,8 +991,11 @@ const permissionEditRoleInit = async function (row) { |
|
|
// } |
|
|
// } |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let roleId = permissionEditRoleObj.value.parentId; |
|
|
let roleId = permissionEditRoleObj.value.parentId; |
|
|
// 如果没有上级角色,可根据实际情况设置默认值,这里假设为 2 |
|
|
|
|
|
|
|
|
// 如果没有上级角色,设置为管理员的id |
|
|
if (permissionEditRoleObj.value.parentId === null || permissionEditRoleObj.value.parentId === undefined) { |
|
|
if (permissionEditRoleObj.value.parentId === null || permissionEditRoleObj.value.parentId === undefined) { |
|
|
roleId = 2; |
|
|
roleId = 2; |
|
|
} |
|
|
} |
|
@ -1034,7 +1008,7 @@ const permissionEditRoleInit = async function (row) { |
|
|
|
|
|
|
|
|
// 收集当前行权限树的所有 id |
|
|
// 收集当前行权限树的所有 id |
|
|
if (row.tree && row.tree.length > 0) { |
|
|
if (row.tree && row.tree.length > 0) { |
|
|
permissionEditRoleObj.value.checkedKeys = collectIds(row.tree); |
|
|
|
|
|
|
|
|
permissionEditRoleObj.value.checkedKeys = collectIds2(row.tree); |
|
|
} else { |
|
|
} else { |
|
|
permissionEditRoleObj.value.checkedKeys = []; |
|
|
permissionEditRoleObj.value.checkedKeys = []; |
|
|
} |
|
|
} |
|
@ -1043,7 +1017,7 @@ const permissionEditRoleInit = async function (row) { |
|
|
data.value = []; |
|
|
data.value = []; |
|
|
permissionEditRoleObj.value.checkedKeys = []; |
|
|
permissionEditRoleObj.value.checkedKeys = []; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log('编辑角色', permissionEditRoleObj.value); |
|
|
console.log('编辑角色', permissionEditRoleObj.value); |
|
|
permissionEditRoleVisible.value = true; |
|
|
permissionEditRoleVisible.value = true; |
|
@ -1308,9 +1282,9 @@ onMounted(async function () { |
|
|
</el-table-column> --> |
|
|
</el-table-column> --> |
|
|
<el-table-column prop="operation" label="操作" width="200px"> |
|
|
<el-table-column prop="operation" label="操作" width="200px"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<el-button type="warning" text @click="permissionEditRoleInit(scope.row)"> |
|
|
|
|
|
编辑 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
|
|
|
<el-button type="warning" text @click="permissionEditRoleInit(scope.row)"> |
|
|
|
|
|
编辑 |
|
|
|
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
@ -1390,8 +1364,7 @@ onMounted(async function () { |
|
|
|
|
|
|
|
|
<!-- 这是编辑用户权限弹窗 --> |
|
|
<!-- 这是编辑用户权限弹窗 --> |
|
|
<el-dialog v-model="userEditVisible" title="编辑用户权限" width="800px" :close-on-click-modal="false"> |
|
|
<el-dialog v-model="userEditVisible" title="编辑用户权限" width="800px" :close-on-click-modal="false"> |
|
|
<el-form ref="Ref" :rules="editAdminRules" :model="permissionEditObj" label-width="auto" |
|
|
|
|
|
style="max-width: 600px; align-items: center"> |
|
|
|
|
|
|
|
|
<el-form ref="Ref" :model="permissionEditObj" label-width="auto" style="max-width: 600px; align-items: center"> |
|
|
<el-form-item prop="account" label="用户账号:" clearable> |
|
|
<el-form-item prop="account" label="用户账号:" clearable> |
|
|
<el-input v-model="permissionEditObj.account" placeholder="请输入OA号" style="width: 220px" disabled /> |
|
|
<el-input v-model="permissionEditObj.account" placeholder="请输入OA号" style="width: 220px" disabled /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
@ -1414,20 +1387,17 @@ onMounted(async function () { |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="parentName" label="上级角色:"> |
|
|
<el-form-item prop="parentName" label="上级角色:"> |
|
|
<el-select v-model="permissionEditObj.parentId" :placeholder="permissionEditObj.parentName || '无上级角色'" |
|
|
|
|
|
:disabled="!!parentRoleTip" style="width: 220px"> |
|
|
|
|
|
|
|
|
<el-select v-model="permissionEditObj.parentId" placeholder="无上级角色" :disabled="!!parentRoleTip" |
|
|
|
|
|
style="width: 220px"> |
|
|
<el-option v-if="parentRoleTip" :key="0" :label="parentRoleTip" :value="null" disabled /> |
|
|
<el-option v-if="parentRoleTip" :key="0" :label="parentRoleTip" :value="null" disabled /> |
|
|
<el-option v-else v-for="item in permissionList" :key="item.value" :label="item.label" disabled |
|
|
<el-option v-else v-for="item in permissionList" :key="item.value" :label="item.label" disabled |
|
|
:value="item.value"></el-option> |
|
|
:value="item.value"></el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="permissionSelect" label="权限列表:"> |
|
|
<el-form-item prop="permissionSelect" label="权限列表:"> |
|
|
<el-tree v-if="data.length > 0" :data="data" :disabled="true" show-checkbox node-key="id" |
|
|
|
|
|
|
|
|
<el-tree :data="data" :disabled="true" show-checkbox node-key="id" |
|
|
:props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys"> |
|
|
:props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys"> |
|
|
</el-tree> |
|
|
</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> |
|
|
<el-form-item prop="machineIds" label="机器码:"> |
|
|
<el-form-item prop="machineIds" label="机器码:"> |
|
|
<div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px;"> |
|
|
<div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px;"> |
|
@ -1460,17 +1430,17 @@ onMounted(async function () { |
|
|
<el-form-item prop="roleName" label="角色名称:" required> |
|
|
<el-form-item prop="roleName" label="角色名称:" required> |
|
|
<el-input v-model="addRole.roleName" placeholder="请输入用户名" style="width: 220px" /> |
|
|
<el-input v-model="addRole.roleName" placeholder="请输入用户名" style="width: 220px" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="market" label="所属地区:" required> |
|
|
|
|
|
<el-select v-model="addRole.market" placeholder="请选择所属地区" style="width: 240px" clearable> |
|
|
|
|
|
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
<el-form-item prop="parentName" label="上级角色:"> |
|
|
<el-form-item prop="parentName" label="上级角色:"> |
|
|
<el-select v-model="addRole.parentId" placeholder="请选择上级角色" style="width: 220px" @change="getLists" clearable> |
|
|
<el-select v-model="addRole.parentId" placeholder="请选择上级角色" style="width: 220px" @change="getLists" clearable> |
|
|
<el-option v-for="item in permissionList" :key="item.value" :label="item.label" |
|
|
<el-option v-for="item in permissionList" :key="item.value" :label="item.label" |
|
|
:value="item.value"></el-option> |
|
|
:value="item.value"></el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="market" label="所属地区:" required> |
|
|
|
|
|
<el-select v-model="addRole.market" placeholder="请选择所属地区" style="width: 240px" clearable> |
|
|
|
|
|
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="checkedKeys" label="权限列表:" required> |
|
|
<el-form-item prop="checkedKeys" label="权限列表:" required> |
|
|
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" |
|
|
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" |
|
|
:props="{ label: 'menuName', children: 'children' }" :checked-keys="addRole.checkedKeys" |
|
|
:props="{ label: 'menuName', children: 'children' }" :checked-keys="addRole.checkedKeys" |
|
@ -1521,15 +1491,16 @@ onMounted(async function () { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 編輯角色彈窗 --> |
|
|
<!-- 編輯角色彈窗 --> |
|
|
<el-dialog v-model="permissionEditRoleVisible" title="编辑角色" width="800px" :close-on-click-modal="false"> |
|
|
|
|
|
|
|
|
<el-dialog v-model="permissionEditRoleVisible" title="编辑角色" width="800px" :close-on-click-modal="false"> |
|
|
<template #footer> |
|
|
<template #footer> |
|
|
<el-form ref="Ref" :rules="Rolerules" :model="permissionEditRoleObj" label-width="auto" |
|
|
<el-form ref="Ref" :rules="Rolerules" :model="permissionEditRoleObj" label-width="auto" |
|
|
style="max-width: 600px; align-items: center"> |
|
|
style="max-width: 600px; align-items: center"> |
|
|
<el-form-item prop="roleName" label="角色名称:" required> |
|
|
<el-form-item prop="roleName" label="角色名称:" required> |
|
|
<el-input v-model="permissionEditRoleObj.roleName" placeholder="请输入角色名称" style="width: 220px" /> |
|
|
<el-input v-model="permissionEditRoleObj.roleName" placeholder="请输入角色名称" style="width: 220px" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="parentName" label="上级角色:"> |
|
|
|
|
|
<el-input v-model="permissionEditRoleObj.parentName" placeholder="无上级角色" disabled style="width: 220px"> |
|
|
|
|
|
|
|
|
<el-form-item prop="parentName" label="上级角色:" > |
|
|
|
|
|
<el-input v-model="permissionEditRoleObj.parentName" placeholder="无上级角色" disabled |
|
|
|
|
|
style="width: 220px"> |
|
|
<el-option v-for="item in permissionList" :key="item.value" :label="item.label" |
|
|
<el-option v-for="item in permissionList" :key="item.value" :label="item.label" |
|
|
:value="item.value"></el-option> |
|
|
:value="item.value"></el-option> |
|
|
</el-input> |
|
|
</el-input> |
|
@ -1539,8 +1510,8 @@ onMounted(async function () { |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="checkedKeys" label="权限列表:" required> |
|
|
<el-form-item prop="checkedKeys" label="权限列表:" required> |
|
|
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" |
|
|
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" |
|
|
:props="{ label: 'menuName', children: 'children' }" |
|
|
|
|
|
:default-checked-keys="permissionEditRoleObj.checkedKeys" @check="handleEditRolePermissionCheck"> |
|
|
|
|
|
|
|
|
:props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditRoleObj.checkedKeys" |
|
|
|
|
|
@check="handleEditRolePermissionCheck"> |
|
|
<template #default="{ node, data }"> |
|
|
<template #default="{ node, data }"> |
|
|
<span>{{ node.label }}</span> |
|
|
<span>{{ node.label }}</span> |
|
|
</template> |
|
|
</template> |
|
|