|
|
@ -564,29 +564,29 @@ const delConfirm = async function () { |
|
|
|
ElMessage.error('删除权限失败') |
|
|
|
} |
|
|
|
} |
|
|
|
// 删除角色初始化 |
|
|
|
const delRole = function (row) { |
|
|
|
delRoleObj.value = {} |
|
|
|
console.log(row, '删除初始化') |
|
|
|
delRoleObj.value.id = row.id |
|
|
|
} |
|
|
|
// 删除角色 |
|
|
|
const delRoleConfirm = async function () { |
|
|
|
try { |
|
|
|
const result = await request({ |
|
|
|
url: '/role/delete', |
|
|
|
data: delRoleObj.value |
|
|
|
}) |
|
|
|
console.log('看看删除角色对象', delRoleObj.value) |
|
|
|
console.log('请求成功2', result) |
|
|
|
ElMessage.success('删除权限成功') |
|
|
|
delRoleObj.value = {} |
|
|
|
getRoleList() |
|
|
|
} catch (error) { |
|
|
|
console.log('删除权限失败', error) |
|
|
|
ElMessage.error('删除权限失败') |
|
|
|
} |
|
|
|
} |
|
|
|
// // 删除角色初始化 |
|
|
|
// const delRole = function (row) { |
|
|
|
// delRoleObj.value = {} |
|
|
|
// console.log(row, '删除初始化') |
|
|
|
// delRoleObj.value.id = row.id |
|
|
|
// } |
|
|
|
// // 删除角色 |
|
|
|
// const delRoleConfirm = async function () { |
|
|
|
// try { |
|
|
|
// const result = await request({ |
|
|
|
// url: '/role/delete', |
|
|
|
// data: delRoleObj.value |
|
|
|
// }) |
|
|
|
// console.log('看看删除角色对象', delRoleObj.value) |
|
|
|
// console.log('请求成功2', result) |
|
|
|
// ElMessage.success('删除权限成功') |
|
|
|
// delRoleObj.value = {} |
|
|
|
// getRoleList() |
|
|
|
// } catch (error) { |
|
|
|
// console.log('删除权限失败', error) |
|
|
|
// ElMessage.error('删除权限失败') |
|
|
|
// } |
|
|
|
// } |
|
|
|
const handleAddRole = async function () { |
|
|
|
try { |
|
|
|
await new Promise((resolve, reject) => { |
|
|
@ -748,7 +748,20 @@ const EdithandleMarketChange = (values) => { |
|
|
|
// 如果选择了总部,只保留总部 |
|
|
|
permissionEditObj.value.market = ['总部']; |
|
|
|
} |
|
|
|
<<<<<<< HEAD |
|
|
|
console.log('看看现在的地区', permissionEditObj.value.market); |
|
|
|
======= |
|
|
|
console.log('看看现在的地区',permissionEditObj.value.market); |
|
|
|
|
|
|
|
}; |
|
|
|
const handleCheckChange = (checkedNodes, { checkedKeys }) => { |
|
|
|
addRole.value.checkedKeys = checkedKeys; |
|
|
|
} |
|
|
|
// 处理编辑角色权限时的勾选事件 |
|
|
|
const handleEditRolePermissionCheck = (checkedNodes, { checkedKeys }) => { |
|
|
|
permissionEditRoleObj.value.checkedKeys = checkedKeys; |
|
|
|
}; |
|
|
|
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期 |
|
|
|
|
|
|
|
}; |
|
|
|
const handleCheckChange = async (checkedNodes, checkedInfo) => { |
|
|
@ -878,10 +891,100 @@ const confirmResetPassword = async function () { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
<<<<<<< HEAD |
|
|
|
// 取消重置密码 |
|
|
|
const cancelResetPassword = function () { |
|
|
|
resetConfirmVisible.value = false |
|
|
|
} |
|
|
|
======= |
|
|
|
|
|
|
|
// 编辑角色对象 |
|
|
|
const permissionEditRoleObj = ref({ |
|
|
|
id: null, |
|
|
|
roleName: '', |
|
|
|
market: '', |
|
|
|
parentId: null, |
|
|
|
parentName: '', |
|
|
|
checkedKeys: [], |
|
|
|
grade: '', |
|
|
|
}); |
|
|
|
|
|
|
|
// 编辑角色弹窗 |
|
|
|
const permissionEditRoleVisible = ref(false); |
|
|
|
|
|
|
|
// 编辑角色初始化 |
|
|
|
const permissionEditRoleInit = async function (row) { |
|
|
|
console.log('row', row); |
|
|
|
permissionEditRoleObj.value = {}; |
|
|
|
permissionEditRoleObj.value.id = row.id; |
|
|
|
permissionEditRoleObj.value.roleName = row.roleName; |
|
|
|
permissionEditRoleObj.value.market = row.market; |
|
|
|
permissionEditRoleObj.value.parentId = row.fatherId; |
|
|
|
permissionEditRoleObj.value.parentName = row.fatherName; |
|
|
|
permissionEditRoleObj.value.grade = row.priority; |
|
|
|
|
|
|
|
// 直接使用当前行的权限树数据 |
|
|
|
if (row.tree && row.tree.length > 0) { |
|
|
|
// 收集当前行权限树的所有 id |
|
|
|
permissionEditRoleObj.value.checkedKeys = collectIds(row.tree); |
|
|
|
// 以当前行的权限树数据作为 el-tree 的数据源 |
|
|
|
data.value = row.tree; |
|
|
|
} else { |
|
|
|
permissionEditRoleObj.value.checkedKeys = []; |
|
|
|
data.value = []; |
|
|
|
} |
|
|
|
|
|
|
|
console.log('编辑角色', permissionEditRoleObj.value); |
|
|
|
permissionEditRoleVisible.value = true; |
|
|
|
}; |
|
|
|
|
|
|
|
// 编辑角色提交 |
|
|
|
const permissionEditRole = async function () { |
|
|
|
try { |
|
|
|
await new Promise((resolve, reject) => { |
|
|
|
Ref.value.validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
resolve(); |
|
|
|
} else { |
|
|
|
reject(new Error('请检查并完善表单信息')); |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
const res = await API({ |
|
|
|
url: '/menu/update', |
|
|
|
data: { |
|
|
|
"id": permissionEditRoleObj.value.id, |
|
|
|
"roleName": permissionEditRoleObj.value.roleName, |
|
|
|
"menuIds": permissionEditRoleObj.value.checkedKeys, |
|
|
|
"priority": permissionEditRoleObj.value.grade, |
|
|
|
"fatherId": permissionEditRoleObj.value.parentId, |
|
|
|
"market": permissionEditRoleObj.value.market |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
console.log('编辑角色成功', permissionEditRoleObj.value); |
|
|
|
permissionEditRoleVisible.value = false; |
|
|
|
getRoleList(); |
|
|
|
} catch (error) { |
|
|
|
console.log('编辑角色失败', error); |
|
|
|
console.log('失败,看看permissionEditRoleObj', permissionEditRoleObj.value); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 挂载 |
|
|
|
onMounted(async function () { |
|
|
|
await get() |
|
|
|
await getArea() |
|
|
|
await getStore() |
|
|
|
await getRoleList() |
|
|
|
await getAdminData() |
|
|
|
}) |
|
|
|
|
|
|
|
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期 |
|
|
|
const Rolerules = reactive({ |
|
|
|
roleName: [ |
|
|
|
{ required: true, message: '请输入角色名称', trigger: 'blur' }, |
|
|
@ -1075,7 +1178,7 @@ onMounted(async function () { |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="operation" label="操作" width="200px"> |
|
|
|
<!-- <el-table-column prop="operation" label="操作" width="200px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-popconfirm title="确定将此角色删除吗?" @confirm="delRoleConfirm"> |
|
|
|
<template #reference> |
|
|
@ -1092,6 +1195,13 @@ onMounted(async function () { |
|
|
|
</template> |
|
|
|
</el-popconfirm> |
|
|
|
</template> |
|
|
|
</el-table-column> --> |
|
|
|
<el-table-column prop="operation" label="操作" width="200px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-button type="warning" text @click="permissionEditRoleInit(scope.row)"> |
|
|
|
编辑 |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
@ -1271,6 +1381,7 @@ onMounted(async function () { |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
<<<<<<< HEAD |
|
|
|
<!-- 重置密码确认弹窗 --> |
|
|
|
<el-dialog v-model="resetConfirmVisible" width="500px" :close-on-click-modal="false" |
|
|
|
:before-close="cancelResetPassword"> |
|
|
@ -1294,6 +1405,52 @@ onMounted(async function () { |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
======= |
|
|
|
|
|
|
|
<!-- 編輯角色彈窗 --> |
|
|
|
<el-dialog v-model="permissionEditRoleVisible" title="编辑角色" width="800px" :close-on-click-modal="false"> |
|
|
|
<template #footer> |
|
|
|
<el-form ref="Ref" :rules="Rolerules" :model="permissionEditRoleObj" label-width="auto" |
|
|
|
style="max-width: 600px; align-items: center"> |
|
|
|
<el-form-item prop="roleName" label="角色名称:" required> |
|
|
|
<el-input v-model="permissionEditRoleObj.roleName" placeholder="请输入角色名称" style="width: 220px" /> |
|
|
|
</el-form-item> |
|
|
|
<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" |
|
|
|
:value="item.value"></el-option> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="market" label="地区" required> |
|
|
|
<el-input v-model="permissionEditRoleObj.market" placeholder="请输入所属地区" style="width: 220px" disabled /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="checkedKeys" label="权限列表:" required> |
|
|
|
<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"> |
|
|
|
<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="permissionEditRoleObj.grade" placeholder="数字1~999" style="width: 220px" /> |
|
|
|
</el-form-item> --> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<div> |
|
|
|
<el-button @click="permissionEditRoleVisible = false">取消</el-button> |
|
|
|
<el-button type="primary" @click="permissionEditRole"> |
|
|
|
提交 |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期 |
|
|
|
</template> |
|
|
|
|
|
|
|
<style scoped> |
|
|
|