Browse Source

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

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

73
src/views/permissions/permission.vue

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

Loading…
Cancel
Save