Browse Source

新增角色地区bug

zhangrenyuan/feature-20250714163943-金币前端二期
ZhangYong 2 weeks ago
parent
commit
3a98a978c8
  1. 122
      src/views/permissions/permission.vue

122
src/views/permissions/permission.vue

@ -288,55 +288,85 @@ const permissionAddInit = function () {
}
//
const permissionAdd = async function () {
Ref.value.validate(async (valid) => {
console.log('addRole', addRole.value)
console.log('valid', valid)
if (valid) {
try {
addAdmin.value.adminFlag = 1
addAdmin.value.status1 = 1
if (addAdmin.value.postiton == '管理员') {
addAdmin.value.postiton == 1
}
const params = {
"account": addAdmin.value.account,//OA
"adminName": addAdmin.value.name,//
"market": addAdmin.value.market,//
"roleId": addAdmin.value.permission,//ID
"postiton": addAdmin.value.postiton,//
"machineId": addAdmin.value.machineIds[0],//
"remark": addAdmin.value.remark//
}
const result = await request({
url: '/permission/addPermission',
data: params
})
console.log(addAdmin.value)
if (result.code == 200) {
ElMessage.success('添加成功')
try {
await new Promise((resolve, reject) => {
Ref.value.validate((valid) => {
if (valid) {
resolve(); //
} else {
ElMessage.error(result.msg)
reject(new Error('请检查并完善表单信息')); //
}
});
});
addAdmin.value.adminFlag = 1
addAdmin.value.status1 = 1
if (addAdmin.value.postiton == '管理员') {
addAdmin.value.postiton == 1
}
const params = {
"account": addAdmin.value.account,//OA
"adminName": addAdmin.value.name,//
"market": addAdmin.value.market,//
"roleId": addAdmin.value.permission,//ID
"postiton": addAdmin.value.postiton,//
"machineId": addAdmin.value.machineIds[0],//
"remark": addAdmin.value.remark//
}
const result = await request({
url: '/permission/addPermission',
data: params
})
console.log(addAdmin.value)
if (result.code == 200) {
ElMessage.success('添加成功')
} else {
ElMessage.error(result.msg)
}
addAdmin.value = {}
get()
addAdmin.value = {}
get()
closeUserAddVisible()
} catch (error) {
console.log('新增用户权限失败', error)
closeUserAddVisible()
} catch (error) {
console.log('新增用户权限失败', error)
ElMessage.error('新增用户权限失败')
closeUserAddVisible()
ElMessage.error('新增用户权限失败')
}
}
const addUserRules = {
account: [
{ required: true, message: '请输入OA号', trigger: 'blur' }
],
name: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
],
market: [
{ required: true, message: '请选择所属地区', trigger: 'change' }
],
permission: [
{ required: true, message: '请选择角色名称', trigger: 'change' }
],
postiton: [
{ required: true, message: '请输入职位', 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();
}
}
} else {
ElMessage({
type: 'error',
message: '请检查输入内容'
})
}
})
}
]
};
// ref
const Ref = ref(null)
// 使 _.throttle trailing false
@ -693,11 +723,14 @@ const getLists = async function () {
if (result.code == 200) {
if (typeof result.data === 'string' && result.data) {
addRoleMarket.value = result.data.split(',');
addRole.value.market = ''
} else if (Array.isArray(result.data)) {
addRoleMarket.value = result.data
addRole.value.market = ''
}
else {
addRoleMarket.value = [];
addRole.value.market = ''
}
} else {
ElMessage.error('该上级角色无所属地区')
@ -708,11 +741,14 @@ const getLists = async function () {
} else {
if (typeof adminData.value.markets === 'string' && adminData.value.markets) {
addRoleMarket.value = adminData.value.markets.split(',');
addRole.value.market = ''
} else if (Array.isArray(adminData.value.markets)) {
addRoleMarket.value = adminData.value.markets
addRole.value.market = ''
}
else {
addRoleMarket.value = [];
addRole.value.market = ''
}
}
@ -1218,7 +1254,7 @@ onMounted(async function () {
<template #footer>
<!-- 居中显示 -->
<el-form ref="Ref" :model="addAdmin" label-width="auto" style="max-width: 600px; align-items: center">
<el-form ref="Ref" :rules="addUserRules" :model="addAdmin" label-width="auto" style="max-width: 600px; align-items: center">
<el-form-item prop="account" label="OA号:" required clearable>
<el-input v-model="addAdmin.account" placeholder="请输入OA号" style="width: 220px" />
</el-form-item>

Loading…
Cancel
Save