资产授权增加筛选功能
This commit is contained in:
parent
4301766ab0
commit
528c9dff75
@ -2,6 +2,7 @@ import React, {useEffect, useState} from 'react';
|
||||
import {Form, Modal, Select} from "antd";
|
||||
import authorisedApi from "../../api/authorised";
|
||||
import strategyApi from "../../api/strategy";
|
||||
import commandFilterApi from "../../api/command-filter";
|
||||
import userApi from "../../api/user";
|
||||
|
||||
const formItemLayout = {
|
||||
@ -14,6 +15,7 @@ const AssetUserBind = ({id, visible, handleOk, handleCancel, confirmLoading}) =>
|
||||
|
||||
let [selectedUserIds, setSelectedUserIds] = useState([]);
|
||||
let [users, setUsers] = useState([]);
|
||||
let [commandFilters, setCommandFilters] = useState([]);
|
||||
let [strategies, setStrategies] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
@ -29,6 +31,9 @@ const AssetUserBind = ({id, visible, handleOk, handleCancel, confirmLoading}) =>
|
||||
|
||||
let strategies = await strategyApi.getAll();
|
||||
setStrategies(strategies);
|
||||
|
||||
let commandFilters = await commandFilterApi.getAll();
|
||||
setCommandFilters(commandFilters);
|
||||
}
|
||||
|
||||
if (visible) {
|
||||
@ -38,6 +43,29 @@ const AssetUserBind = ({id, visible, handleOk, handleCancel, confirmLoading}) =>
|
||||
}
|
||||
}, [visible])
|
||||
|
||||
let strategyOptions = strategies.map(item => {
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name
|
||||
}
|
||||
});
|
||||
|
||||
let commandFilterOptions = commandFilters.map(item => {
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
let userOptions = users.map(item => {
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name,
|
||||
disabled: selectedUserIds.includes(item.id)
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<Modal
|
||||
title={'用户授权'}
|
||||
@ -71,11 +99,28 @@ const AssetUserBind = ({id, visible, handleOk, handleCancel, confirmLoading}) =>
|
||||
allowClear
|
||||
style={{width: '100%'}}
|
||||
placeholder="请选择用户"
|
||||
showSearch
|
||||
filterOption={(input, option) =>
|
||||
(option?.label ?? '').toLowerCase().includes(input.toLowerCase())
|
||||
}
|
||||
options={userOptions}
|
||||
>
|
||||
{users.map(item => {
|
||||
return <Select.Option key={item.id}
|
||||
disabled={selectedUserIds.includes(item.id)}>{item.nickname}</Select.Option>
|
||||
})}
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item label="命令过滤器" name='commandFilterId' extra={'可控制授权用户允许或不允许执行某些指令'}>
|
||||
<Select
|
||||
allowClear
|
||||
style={{width: '100%'}}
|
||||
placeholder="此字段不是必填的"
|
||||
showSearch
|
||||
filterOption={(input, option) =>
|
||||
(option?.label ?? '').toLowerCase().includes(input.toLowerCase())
|
||||
}
|
||||
options={commandFilterOptions}
|
||||
>
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
@ -84,10 +129,13 @@ const AssetUserBind = ({id, visible, handleOk, handleCancel, confirmLoading}) =>
|
||||
allowClear
|
||||
style={{width: '100%'}}
|
||||
placeholder="此字段不是必填的"
|
||||
showSearch
|
||||
filterOption={(input, option) =>
|
||||
(option?.label ?? '').toLowerCase().includes(input.toLowerCase())
|
||||
}
|
||||
options={strategyOptions}
|
||||
>
|
||||
{strategies.map(item => {
|
||||
return <Select.Option key={item.id}>{item.name}</Select.Option>
|
||||
})}
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
|
@ -2,6 +2,7 @@ import React, {useEffect, useState} from 'react';
|
||||
import {Form, Modal, Select} from "antd";
|
||||
import assetApi from "../../../api/asset";
|
||||
import strategyApi from "../../../api/strategy";
|
||||
import commandFilterApi from "../../../api/command-filter";
|
||||
import authorisedApi from "../../../api/authorised";
|
||||
|
||||
const formItemLayout = {
|
||||
@ -14,6 +15,7 @@ const UserAuthorised = ({type, id, visible, handleOk, handleCancel, confirmLoadi
|
||||
|
||||
let [selectedAssetIds, setSelectedAssetIds] = useState([]);
|
||||
let [assets, setAssets] = useState([]);
|
||||
let [commandFilters, setCommandFilters] = useState([]);
|
||||
let [strategies, setStrategies] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
@ -35,6 +37,9 @@ const UserAuthorised = ({type, id, visible, handleOk, handleCancel, confirmLoadi
|
||||
|
||||
let strategies = await strategyApi.GetAll();
|
||||
setStrategies(strategies);
|
||||
|
||||
let commandFilters = await commandFilterApi.GetAll();
|
||||
setCommandFilters(commandFilters);
|
||||
}
|
||||
|
||||
if (visible) {
|
||||
@ -44,6 +49,29 @@ const UserAuthorised = ({type, id, visible, handleOk, handleCancel, confirmLoadi
|
||||
}
|
||||
}, [visible])
|
||||
|
||||
let strategyOptions = strategies.map(item=>{
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name
|
||||
}
|
||||
});
|
||||
|
||||
let commandFilterOptions = commandFilters.map(item=>{
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
let assetOptions = assets.map(item=>{
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name,
|
||||
disabled: selectedAssetIds.includes(item.id)
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<Modal
|
||||
title={'资产授权'}
|
||||
@ -77,11 +105,27 @@ const UserAuthorised = ({type, id, visible, handleOk, handleCancel, confirmLoadi
|
||||
allowClear
|
||||
style={{width: '100%'}}
|
||||
placeholder="请选择资产"
|
||||
showSearch
|
||||
filterOption={(input, option) =>
|
||||
(option?.label ?? '').toLowerCase().includes(input.toLowerCase())
|
||||
}
|
||||
options={assetOptions}
|
||||
>
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item label="命令过滤器" name='commandFilterId' extra={'可控制授权用户允许或不允许执行某些指令'}>
|
||||
<Select
|
||||
allowClear
|
||||
style={{width: '100%'}}
|
||||
placeholder="此字段不是必填的"
|
||||
showSearch
|
||||
filterOption={(input, option) =>
|
||||
(option?.label ?? '').toLowerCase().includes(input.toLowerCase())
|
||||
}
|
||||
options={commandFilterOptions}
|
||||
>
|
||||
{assets.map(item => {
|
||||
return <Select.Option key={item.id}
|
||||
disabled={selectedAssetIds.includes(item.id)}>{item.name}</Select.Option>
|
||||
})}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
@ -90,10 +134,13 @@ const UserAuthorised = ({type, id, visible, handleOk, handleCancel, confirmLoadi
|
||||
allowClear
|
||||
style={{width: '100%'}}
|
||||
placeholder="此字段不是必填的"
|
||||
showSearch
|
||||
filterOption={(input, option) =>
|
||||
(option?.label ?? '').toLowerCase().includes(input.toLowerCase())
|
||||
}
|
||||
options={strategyOptions}
|
||||
>
|
||||
{strategies.map(item => {
|
||||
return <Select.Option key={item.id}>{item.name}</Select.Option>
|
||||
})}
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user