This commit is contained in:
zuohuaijun 2024-10-10 01:27:26 +08:00
commit 842b236250
2 changed files with 31 additions and 1 deletions

View File

@ -363,7 +363,7 @@ public class SysUserService : IDynamicApiController, ITransient
// 获取当前用户可用的角色
var availableRoles = await _sysRoleService.GetList();
// 改变用户分配的角色可分配状态
grantedRoles.ForEach(u => u.Disabled = !availableRoles.Any(u => u.Id == u.Id));
grantedRoles.ForEach(u => u.Disabled = !availableRoles.Any(e => e.Id == u.Id));
// 排除已分配的角色
availableRoles = availableRoles.ExceptBy(grantedRoles.Select(u => u.Id), u => u.Id).ToList();
return new GrantRoleOutput { GrantedRoles = grantedRoles, AvailableRoles = availableRoles };

View File

@ -17,6 +17,7 @@
:disabled="item[props.options.disabled]"
:validate-event="false"
class="transfer-panel__item"
@dblclick="dbClickToRight(item)"
>
</el-checkbox>
</el-checkbox-group>
@ -54,6 +55,7 @@
:disabled="item[props.options.disabled]"
:validate-event="false"
class="transfer-panel__item"
@dblclick="dbClickToLeft(item)"
>
</el-checkbox>
</el-checkbox-group>
@ -156,6 +158,20 @@ watch(
}
);
//
const dbClickToRight = (item: any) => {
if (item[props.options.value] && item[props.options.disabled] === false) {
//
let adds = props.leftData.filter((e: any) => item[props.options.value] == e[props.options.value]);
//
let cuts = props.leftData.filter((e: any) => item[props.options.value] != e[props.options.value]);
emits('update:leftData', cuts);
emits('update:rightData', props.rightData.concat(adds));
emits('right');
state.leftChecked = state.leftChecked.filter((e: any) => item[props.options.value] != e);
}
};
//
const toRight = () => {
if (state.leftChecked?.length > 0) {
@ -185,6 +201,20 @@ const allToRight = () => {
}
};
//
const dbClickToLeft = (item: any) => {
if (item[props.options.value] && item[props.options.disabled] === false) {
//
let adds = props.rightData.filter((e: any) => item[props.options.value] == e[props.options.value]);
//
let cuts = props.rightData.filter((e: any) => item[props.options.value] != e[props.options.value]);
emits('update:leftData', props.leftData.concat(adds));
emits('update:rightData', cuts);
emits('left');
state.rightChecked = state.rightChecked.filter((e: any) => item[props.options.value] != e);
}
};
//
const toLeft = () => {
if (state.rightChecked?.length > 0) {