diff --git a/.env.development b/.env.development index 1c4e650..a4267fd 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,7 @@ # VITE_API_BASE='https://hwjb.homilychart.com/dev/admin' # VITE_API_BASE='http://192.168.9.28:8081/' - VITE_API_BASE='http://18.143.76.3:10704/' +# 测试环境 +# VITE_API_BASE='http://18.143.76.3:10704/' + VITE_API_BASE='http://192.168.9.52:10705/' VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue index c62f016..a54f698 100644 --- a/src/views/permissions/permission.vue +++ b/src/views/permissions/permission.vue @@ -81,16 +81,16 @@ const getAdminData = async function () { console.log('请求失败', error) } } -const viewRole =ref([]) -const getRolePermission = async function(){ - const result = await request({ - url: '/menu/tree', - data: { - "id":adminData.value.roleId - } - }) - viewRole.value = collectIds(result.data) - console.log('result111',viewRole.value); +const viewRole = ref([]) +const getRolePermission = async function () { + const result = await request({ + url: '/menu/tree', + data: { + "id": adminData.value.roleId + } + }) + viewRole.value = collectIds(result.data) + console.log('result111', viewRole.value); } // 编辑用户权限对象 const permissionEditObj = ref({ @@ -205,7 +205,18 @@ const reset = function () { get() getRoleList() } - +const RoleArea = ref([]) +const getRoleArea = async function () { + try { + const result = await request({ + url: '/general/allRoleMarket', + data: {} + }) + RoleArea.value = result.data + } catch (error) { + console.log('请求失败', error) + } +} const getArea = async function () { try { const result = await request({ @@ -346,10 +357,13 @@ const permissionAdd = async function () { } const addUserRules = { account: [ - { required: true, message: '请输入OA号', trigger: 'blur' } + { required: true, message: '请输入OA号', trigger: 'blur' }, + { pattern: /^\d+$/, message: 'OA号必须为数字', trigger: 'blur' }, + { max: 20, message: '长度不能超过20位', trigger: 'blur' } ], name: [ - { required: true, message: '请输入用户名', trigger: 'blur' } + { required: true, message: '请输入用户名', trigger: 'blur' }, + { max: 20, message: '长度不能超过20位', trigger: 'blur' } ], market: [ { required: true, message: '请选择所属地区', trigger: 'change' } @@ -358,7 +372,8 @@ const addUserRules = { { required: true, message: '请选择角色名称', trigger: 'change' } ], postiton: [ - { required: true, message: '请输入职位', trigger: 'blur' } + { required: true, message: '请输入职位', trigger: 'blur' }, + { max: 20, message: '长度不能超过20位', trigger: 'blur' } ], machineIds: [ { @@ -439,7 +454,7 @@ const permissionEditInit = async function (row) { permissionEditObj.value.parentName = result.data?.fatherName console.log('get前', permissionEditObj.value.roleId); permissionEditObj.value.roleName = row.roleName - if(permissionEditObj.value.roleId==0){ + if (permissionEditObj.value.roleId == 0) { permissionEditObj.value.roleId = '' } getUserLists(row.roleId) @@ -528,25 +543,60 @@ const getUserLists = async function (selectedRoleId) { 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 () { let { adminName: userName, roleName: oldRole, roleId: newRoleId } = permissionEditObj.value; - if(!oldRole||oldRole ==null){ - oldRole = '暂未分配权限' + if(oldRole ==null){ + oldRole = '暂未分配角色' } const newRole = permissionList.value.find(item => item.value === newRoleId)?.label || '未知角色'; try { + await new Promise((resolve, reject) => { + Ref.value.validate((valid) => { + if (valid) { + resolve(); // 验证通过,继续执行后续代码 + } else { + reject(new Error('请检查并完善表单信息')); // 验证失败,抛出错误 + } + }); + }); await ElMessageBox.confirm( - `确认修改权限角色?\n您正在将【${userName}】的权限角色从【${oldRole}】修改为【${newRole}】\n变更后,该用户的可操作权限将同步更新为新角色配置,涉及数据访问、功能操作等权限变化,请谨慎确认。`, + `确认修改权限角色?
您正在将【${userName}】的权限角色从【${oldRole}】修改为【${newRole}】
变更后,该用户的可操作权限将同步更新为新角色配置,涉及数据访问、功能操作等权限变化,请谨慎确认。`, '警告', { confirmButtonText: '确认', cancelButtonText: '取消', type: "warning", - lockScroll: false + lockScroll: false, + dangerouslyUseHTMLString: true //允许解析 HTML 标签 } - ); - closeUserEditVisible(); + ) const result = await request({ url: '/permission/updateAdmin', data: { @@ -572,6 +622,7 @@ const permissionEdit = async function () { } ); get(); + closeUserEditVisible(); } else { ElMessage.error(result.msg) } @@ -579,7 +630,6 @@ const permissionEdit = async function () { } catch (error) { console.log('编辑用户权限失败', error) ElMessage.error('编辑用户权限失败') - closeUserEditVisible() } } const throttledPermissionEdit = _.throttle(permissionEdit, 5000, { @@ -717,8 +767,8 @@ const handleRoleCurrentChange = (val) => { const data = ref([]) const getLists = async function () { try { - console.log('addRole.value.roleId',addRole.value.roleId); - + console.log('addRole.value.roleId', addRole.value.roleId); + let roleId = addRole.value.parentId if (addRole.value.parentId === null || addRole.value.parentId === undefined) { roleId = 2 @@ -728,14 +778,15 @@ const getLists = async function () { data: { id: roleId } }) data.value = res.data - if(addRole.value.parentId ==null ||addRole.value.parentId ==undefined){ - data.value = data.value - }else if (addRole.value.parentId != 2) { + if (addRole.value.parentId == null || addRole.value.parentId == undefined) { + data.value = data.value + } else if (addRole.value.parentId != 2) { data.value = data.value.filter(item => item.id !== 9); } console.log('看看data', data.value) console.log('parentID:', addRole.value.parentId, 'roleId:', roleId) - if (addRole.value.parentId) { + + if (addRole.value.parentId && addRole.value.parentId != 2) { const result = await API({ url: '/general/roleMarket', data: { id: addRole.value.parentId } @@ -759,17 +810,9 @@ const getLists = async function () { } console.log('addRoleMarket.value', addRoleMarket.value); } 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 = '' - } + addRoleMarket.value = RoleArea.value + console.log('elseRoleArea',RoleArea); + } } catch (error) { @@ -804,8 +847,8 @@ const EdithandleMarketChange = (values) => { // 如果选择了总部,只保留总部 permissionEditObj.value.market = ['总部']; } - console.log('看看现在的地区',permissionEditObj.value.market); - + console.log('看看现在的地区', permissionEditObj.value.market); + }; // 处理编辑角色权限时的勾选事件 @@ -999,7 +1042,7 @@ const permissionEditRoleInit = async function (row) { try { - + let roleId = permissionEditRoleObj.value.parentId; // 如果没有上级角色,设置为管理员的id @@ -1024,7 +1067,7 @@ const permissionEditRoleInit = async function (row) { data.value = []; permissionEditRoleObj.value.checkedKeys = []; } - + console.log('编辑角色', permissionEditRoleObj.value); permissionEditRoleVisible.value = true; @@ -1110,7 +1153,8 @@ onMounted(async function () { await getArea() await getStore() await getRoleList() - await getRolePermission() + await getRolePermission() + await getRoleArea() }) @@ -1122,7 +1166,8 @@ onMounted(async function () { 用户管理 - + 角色管理 @@ -1289,9 +1334,9 @@ onMounted(async function () { --> @@ -1371,7 +1416,8 @@ onMounted(async function () { - + @@ -1406,8 +1452,8 @@ onMounted(async function () { :props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys">
- 暂无数据 -
+ 暂无数据 +
@@ -1440,7 +1486,7 @@ onMounted(async function () { - + @@ -1501,16 +1547,15 @@ onMounted(async function () { - +