Compare commits

...

2 Commits

Author SHA1 Message Date
xuziqiang
2576503808 Merge branch 'temp' of http://123.60.103.97:3000/xuziqiang/SaaS-lib into temp 2024-07-18 15:40:33 +08:00
xuziqiang
7274efd5c2 fix: 部门角色逻辑调整 2024-07-18 15:40:32 +08:00
3 changed files with 100 additions and 98 deletions

View File

@@ -145,7 +145,7 @@
<ns-button type="primary" @click="CancelUser">取消</ns-button>
<ns-button
v-if="roleDisabled"
:disabled="!roleTreeData?.length"
:disabled="!selectRoleRef || !roleTreeData?.length"
type="primary"
@click="rolePipe(roleEdit, false, false)">
编辑
@@ -501,6 +501,7 @@
roleFormData.value = {};
opMap.type = '';
opMap.fuc = '';
selectRoleRef.value = '';
roleDisabled.value = true;
};
@@ -627,6 +628,7 @@
roleActiveKey.value = 1;
// 需要重置数据
clearDeptData();
clearRoleData();
const { selected } = info;
if (!selectedKeys?.length) return;
@@ -686,7 +688,7 @@
roleFormData.value = cloneDeep(info.node.dataRef);
roleCheckedKeys.value = [];
if (selectRoleRef.value?.proleId) {
// 查询子部门
// 查询子角色
getRolesonPermissionTree({ roleId: selectRoleRef.value?.proleId });
} else {
getRolePermissionTree({ deptId: selectRef.value.deptInfo.deptId });
@@ -723,6 +725,13 @@
deptPermission().then(() => {
clearDeptData();
disabled.value = true;
// 部门权限修改后更新角色树
if (selectRoleRef.value?.proleId) {
// 查询子角色
getRolesonPermissionTree({ roleId: selectRoleRef.value?.proleId });
} else {
getRolePermissionTree({ deptId: selectRef.value.deptInfo.deptId });
}
});
}
};

View File

@@ -4,100 +4,91 @@ import { origanizemanage } from '/@/api/origanizemanage';
export const formConfig = (disabled) => {
return ref([
{
field: 'field111',
component: 'NsChildForm',
label: '账号',
field: 'accountNo',
component: 'NsInput',
componentProps: {
title: '用户信息',
schemas: [
{
label: '账号',
field: 'accountNo',
component: 'NsInput',
componentProps: {
placeholder: '请输入账号',
maxLength: 20,
disabled,
},
rules: [
{
required: true,
message: '请输入账号',
},
],
},
{
label: '姓名',
field: 'realName',
component: 'NsInput',
componentProps: {
placeholder: '请输入姓名',
maxLength: 20,
},
rules: [
{
required: true,
message: '请输入姓名',
},
],
},
{
label: '性别',
field: 'sex',
component: 'NsRadioGroup',
defaultValue: '男',
componentProps: {
radioType: 'radio',
options: [
{ label: '男', value: '男' },
{ label: '女', value: '女' },
],
},
},
{
label: '手机号',
field: 'telephone',
component: 'NsInput',
componentProps: {
placeholder: '请输入手机号',
maxLength: 11,
},
rules: [
{
required: true,
message: '请输入正确手机号格式',
pattern: /^[1][3-9][0-9]{9}$/,
},
],
},
{
label: '邮箱',
field: 'email',
component: 'NsInput',
componentProps: {
placeholder: '请输入邮箱',
maxLength: 30,
},
rules: [
{
pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
message: '请输入正确的邮箱格式',
trigger: 'blur',
},
],
},
{
label: '组织关系',
field: 'orgName',
component: 'NsInput',
defaultValue: JSON.parse(sessionStorage.getItem(import.meta.env.VITE_PUBLIC_PATH)).orgName,
componentProps: {
disabled: true,
maxLength: 30,
},
},
placeholder: '请输入账号',
maxLength: 20,
disabled,
},
rules: [
{
required: true,
message: '请输入账号',
},
],
},
{
label: '姓名',
field: 'realName',
component: 'NsInput',
componentProps: {
placeholder: '请输入姓名',
maxLength: 20,
},
rules: [
{
required: true,
message: '请输入姓名',
},
],
},
{
label: '性别',
field: 'sex',
component: 'NsRadioGroup',
defaultValue: '男',
componentProps: {
radioType: 'radio',
options: [
{ label: '男', value: '男' },
{ label: '女', value: '女' },
],
},
},
{
label: '手机号',
field: 'telephone',
component: 'NsInput',
componentProps: {
placeholder: '请输入手机号',
maxLength: 11,
},
rules: [
{
required: true,
message: '请输入正确手机号格式',
pattern: /^[1][3-9][0-9]{9}$/,
},
],
},
{
label: '邮箱',
field: 'email',
component: 'NsInput',
componentProps: {
placeholder: '请输入邮箱',
maxLength: 30,
},
rules: [
{
pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
message: '请输入正确的邮箱格式',
trigger: 'blur',
},
],
},
{
label: '组织关系',
field: 'orgName',
component: 'NsInput',
defaultValue: JSON.parse(sessionStorage.getItem(import.meta.env.VITE_PUBLIC_PATH)).orgName,
componentProps: {
disabled: true,
maxLength: 30,
},
},
]);
};
const options = ref([]);

View File

@@ -32,12 +32,14 @@
:footer-style="{ textAlign: 'right' }"
destroyOnClose
@close="onClose">
<span class="admin">用户信息</span>
<ns-form
ref="formRef"
:schemas="formSchema"
:model="formData"
class="form"
:wrapperCol="{ span: 20 }"
:labelCol="{ span: 4 }"
formLayout="vertical" />
<span class="admin">用户权限</span>
<ns-view-list-table
@@ -596,6 +598,12 @@
.main {
background-color: @ns-content-bg;
display: flex;
.top,
:deep(.ns-table-search),
:deep(.ns-table-main) {
box-shadow: @ns-content-box-shadow;
}
}
.left {
width: 300px;
@@ -652,10 +660,4 @@
}
}
}
.top,
:deep(.ns-table-search),
:deep(.ns-table-main) {
box-shadow: @ns-content-box-shadow;
}
</style>