diff --git a/web/src/components/asset/AssetUserBind.js b/web/src/components/asset/AssetUserBind.js index 4adb333..2a09290 100644 --- a/web/src/components/asset/AssetUserBind.js +++ b/web/src/components/asset/AssetUserBind.js @@ -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 ( allowClear style={{width: '100%'}} placeholder="请选择用户" + showSearch + filterOption={(input, option) => + (option?.label ?? '').toLowerCase().includes(input.toLowerCase()) + } + options={userOptions} > - {users.map(item => { - return {item.nickname} - })} + + + + + + @@ -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 {item.name} - })} + diff --git a/web/src/components/user/user/UserAuthorised.js b/web/src/components/user/user/UserAuthorised.js index d5ce9f2..b964527 100644 --- a/web/src/components/user/user/UserAuthorised.js +++ b/web/src/components/user/user/UserAuthorised.js @@ -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 ( + (option?.label ?? '').toLowerCase().includes(input.toLowerCase()) + } + options={assetOptions} + > + + + + + + @@ -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 {item.name} - })} +