Browse Source

编辑权限完成,新建用户逻辑修改

lihuilin/feature-20250715112412-金币二期
zhangyongQINGHU 2 weeks ago
parent
commit
c44f4d3698
  1. 79
      src/views/permissions/permission.vue

79
src/views/permissions/permission.vue

@ -54,8 +54,8 @@ const addAdmin = ref({
market: [],
permission: '',
postiton: '',
machineId: '', //
machineIds: [], //
machineIds: [''], //
machineId:'',
remark: ''
})
//
@ -73,21 +73,18 @@ const permissionSelect = ref()
//
const permissionEditObj = ref({
checkedKeys: [],
machineIds: [],
machineId: ''
machineIds: [''],
machineId:''
})
const addMachineIdInput = function () {
if (addAdmin.value.machineIds.length >= 1) {
if (addAdmin.value.machineIds.length >= 2) {
ElMessage.warning('设备数量已达上限')
return
}
addAdmin.value.machineIds.push('')
}
const UseraddMachineIdInput = function () {
if (!permissionEditObj.value.machineIds) {
permissionEditObj.value.machineIds = [];
}
if (permissionEditObj.value.machineIds.length >= 1) {
if (permissionEditObj.value.machineIds.length >= 2) {
ElMessage.warning('设备数量已达上限')
return
}
@ -211,8 +208,8 @@ const openUserAddVisible = function () {
market: '',
permission: '',
postiton: '',
machineId: '',
machineIds: [],
machineId:'',
machineIds: [''],
remark: ''
};
@ -231,8 +228,8 @@ const closeUserAddVisible = function () {
market: '',
permission: '',
postiton: '',
machineId: '',
machineIds: [],
machineId:'',
machineIds: [''],
remark: ''
};
userAddVisible.value = false;
@ -271,7 +268,7 @@ const permissionAdd = async function () {
"market": addAdmin.value.market,//
"roleId": addAdmin.value.permission,//ID
"postiton": addAdmin.value.postiton,//
"machineId": addAdmin.value.machineId,//
"machineId": addAdmin.value.machineIds[0],//
"remark": addAdmin.value.remark//
}
const result = await request({
@ -326,7 +323,6 @@ const getRoles = async function () {
}
}
//
const openUserEditVisible = function () {
getRoles()
@ -364,10 +360,28 @@ const permissionEditInit = async function (row) {
permissionEditObj.value.parentName = result.data?.fatherName
getUserLists(row.roleId)
let machineIdsRef = await request({
url: '/permission/getPermission',
data: {
"pageNum": 1,//
"pageSize": 1,//
"permission": {
account: row.account,//OA
}
}
})
if (machineIdsRef.data.list[0].machineIds.length==0) {
permissionEditObj.value.machineIds = ['']
} else {
permissionEditObj.value.machineIds = machineIdsRef.data.list[0].machineIds
}
permissionEditObj.value.machineId = permissionEditObj.value.machineIds[0]
//permissionEditObj.value.permission = row.permission
permissionEditObj.value.roleName = row.roleName
console.log('编辑用户权限', permissionEditObj.value)
console.log('11111111111111', permissionEditObj.value.machineId)
openUserEditVisible()
}
const collectIds = (tree) => {
@ -382,6 +396,14 @@ const collectIds = (tree) => {
};
//
const parentRoleTip = ref('');
//datadisabled
function processTreeData(data) {
return data.map(item => ({
...item,
disabled: item.id != null || item.menuName.includes("敏感权限"), //
children: item.children ? processTreeData(item.children) : []
}));
}
//,
const getUserLists = async function (selectedRoleId) {
try {
@ -394,7 +416,6 @@ const getUserLists = async function (selectedRoleId) {
url: '/role/selectFather',
data: { id: selectedRoleId } // ID
});
console.log('parentRes', parentRes)
const parentId = parentRes.data.fatherId;
const parentName = parentRes.data.parentName;
@ -413,7 +434,7 @@ const getUserLists = async function (selectedRoleId) {
url: '/menu/tree',
data: { id: roleId }
})
data.value = res.data
data.value = processTreeData(res.data)
permissionEditObj.value.checkedKeys = collectIds(res.data) || [];
console.log('看看data', data.value)
console.log('看checkedKeys', permissionEditObj.value.checkedKeys)
@ -440,7 +461,11 @@ const permissionEdit = async function () {
closeUserEditVisible();
const result = await request({
url: '/permission/updateAdminRole',
data: permissionEditObj.value
data: {
...permissionEditObj.value,
machineIds: permissionEditObj.value.machineIds.length > 1
? permissionEditObj.value.machineIds[1] : [] //
}
});
await ElMessageBox.alert(
`用户${userName}的权限角色已更改为【${newRole}`,
@ -800,16 +825,14 @@ const handleCheckChange = (checkedNodes, { checkedKeys }) => {
<el-form-item prop="postiton" label="职位:" required>
<el-input v-model="addAdmin.postiton" placeholder="请输入职位" style="width: 220px" clearable />
</el-form-item>
<el-form-item prop="machineId" label="机器码:" required>
<div style="display: flex; align-items: center; flex-wrap: wrap;">
<el-input v-model="addAdmin.machineId" placeholder="请输入机器码" style="width: 220px; margin-right: 10px;"
clearable />
<el-button type="primary" @click="addMachineIdInput">添加</el-button>
<el-form-item prop="machineIds" label="机器码:" required>
<div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px;">
<!-- 动态添加的机器码输入框 -->
<div v-for="(item, index) in addAdmin.machineIds" :key="index" style="margin-left: 10px;">
<el-input v-model="addAdmin.machineIds[index]" placeholder="请输入机器码"
style="width: 180px; margin-right: 10px;" />
</div>
<el-button type="primary" @click="addMachineIdInput">添加</el-button>
</div>
</el-form-item>
<el-form-item prop="remark" label="备注">
@ -863,16 +886,14 @@ const handleCheckChange = (checkedNodes, { checkedKeys }) => {
:props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys">
</el-tree>
</el-form-item>
<el-form-item prop="machineId" label="机器码:">
<div style="display: flex; align-items: center; flex-wrap: wrap;">
<el-input v-model="permissionEditObj.machineId" placeholder="请输入机器码" style="width: 220px; margin-right: 10px;"
clearable />
<el-button type="primary" @click="UseraddMachineIdInput">添加</el-button>
<el-form-item prop="machineIds" label="机器码:">
<div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px;">
<!-- 动态添加的机器码输入框 -->
<div v-for="(item, index) in permissionEditObj.machineIds" :key="index" style="margin-left: 10px;">
<el-input v-model="permissionEditObj.machineIds[index]" placeholder="请输入机器码"
<el-input v-model="permissionEditObj.machineIds[index]" placeholder=""
style="width: 180px; margin-right: 10px;" />
</div>
<el-button type="primary" @click="UseraddMachineIdInput">添加</el-button>
</div>
</el-form-item>
</el-form>

Loading…
Cancel
Save