Commit 6a03d2bf authored by wuyongsheng's avatar wuyongsheng

Merge branch 'feat-20221012-environment' into 'master'

feat: 添加下拉列表

See merge request !216
parents 1107bce6 8003468f
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com * @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-06-13 09:56:57 * @Date: 2022-06-13 09:56:57
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-10-27 11:23:23 * @LastEditTime: 2023-02-15 16:45:58
* @FilePath: /bkunyun/src/api/api_manager.ts * @FilePath: /bkunyun/src/api/api_manager.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -62,6 +62,7 @@ const RESTAPI = { ...@@ -62,6 +62,7 @@ const RESTAPI = {
API_WORKFLOWSPEC_DETAIL:`${BACKEND_API_URI_PREFIX}/cpp/workbench/workflowspec`, // 删除模板 API_WORKFLOWSPEC_DETAIL:`${BACKEND_API_URI_PREFIX}/cpp/workbench/workflowspec`, // 删除模板
API_OPERATOR_DETAILS:`${BACKEND_API_URI_PREFIX}/cpp/workflow/actorspec/detail`, // 获取算子详情 API_OPERATOR_DETAILS:`${BACKEND_API_URI_PREFIX}/cpp/workflow/actorspec/detail`, // 获取算子详情
API_RESOURCE_OPERATOR_LIST:`${BACKEND_API_URI_PREFIX}/cpp/workflow/actorspecs/list`, // 获取算子列表 API_RESOURCE_OPERATOR_LIST:`${BACKEND_API_URI_PREFIX}/cpp/workflow/actorspecs/list`, // 获取算子列表
API_STREAM_ACTOR_PARAMETERS:`${BACKEND_API_URI_PREFIX}/cpp/workflow/getStreamActorParameters`, // 获取环境配置参数
}; };
export default RESTAPI; export default RESTAPI;
...@@ -318,7 +318,7 @@ const saveBatchActor = (params: saveBatchParams) => { ...@@ -318,7 +318,7 @@ const saveBatchActor = (params: saveBatchParams) => {
}); });
}; };
// 获取项目成员 // 通过应用环境获取参数列表
const fetchProjectUsersList = (params: {id: string}) => { const fetchProjectUsersList = (params: {id: string}) => {
return request({ return request({
url: Api.API_PROJECT_USERS_LIST, url: Api.API_PROJECT_USERS_LIST,
...@@ -328,6 +328,16 @@ const fetchProjectUsersList = (params: {id: string}) => { ...@@ -328,6 +328,16 @@ const fetchProjectUsersList = (params: {id: string}) => {
}; };
// 获取项目成员
const getStreamActorParameters = (params: {envId?: string}) => {
return request({
url: Api.API_STREAM_ACTOR_PARAMETERS,
method: "get",
params,
});
};
// 修改项目成员信息 // 修改项目成员信息
const addProjectUser = (id: string, params: any) => { const addProjectUser = (id: string, params: any) => {
return request({ return request({
...@@ -383,5 +393,6 @@ export { ...@@ -383,5 +393,6 @@ export {
fetchProjectUsersList, fetchProjectUsersList,
addProjectUser, addProjectUser,
fetchProjectPower, fetchProjectPower,
getHardwreList getHardwreList,
getStreamActorParameters
}; };
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com * @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2021-12-04 15:46:25 * @Date: 2021-12-04 15:46:25
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-10-24 17:39:24 * @LastEditTime: 2023-02-15 17:58:11
* @FilePath: /lionet-slb-pc/src/components/SearchView/components/Collapse.tsx * @FilePath: /lionet-slb-pc/src/components/SearchView/components/Collapse.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -225,7 +225,7 @@ export default function MySelect(props: IProps) { ...@@ -225,7 +225,7 @@ export default function MySelect(props: IProps) {
size="small" size="small"
multiple={multiple} multiple={multiple}
{...other} {...other}
value={value || insideValue || ""} value={value !== undefined ? value : insideValue || ""}
onChange={handleChange} onChange={handleChange}
> >
{options.length {options.length
......
...@@ -13,6 +13,7 @@ type IDownloadProps = { ...@@ -13,6 +13,7 @@ type IDownloadProps = {
path: string; path: string;
name: string; name: string;
selectIds: Array<any>; selectIds: Array<any>;
isPoses: boolean;
open: boolean; open: boolean;
setOpen: any; setOpen: any;
}; };
...@@ -33,6 +34,7 @@ const Download = (props: IDownloadProps) => { ...@@ -33,6 +34,7 @@ const Download = (props: IDownloadProps) => {
token, token,
fileToken, fileToken,
selectIds, selectIds,
isPoses,
name, name,
open, open,
setOpen, setOpen,
...@@ -60,8 +62,19 @@ const Download = (props: IDownloadProps) => { ...@@ -60,8 +62,19 @@ const Download = (props: IDownloadProps) => {
label: "MOL2", label: "MOL2",
value: "MOL2", value: "MOL2",
}, },
{
label: "PDBQT",
value: "PDBQT",
},
]; ];
if(isPoses) {
options.push({
label: "PDBQT(DOCKING POSES)",
value: "POSES",
})
}
const handleChange = (e: any) => { const handleChange = (e: any) => {
setDownloadType(e); setDownloadType(e);
}; };
......
...@@ -54,6 +54,7 @@ const SeeDataset = observer((props: ISeeDatasetProps) => { ...@@ -54,6 +54,7 @@ const SeeDataset = observer((props: ISeeDatasetProps) => {
field: null, field: null,
order: null, order: null,
}); });
const [isPoses, setIsPoses] = useState<boolean>(false)
const [querylist, setQuerylist] = useState<Array<IQuery>>([]); // 高级筛选 const [querylist, setQuerylist] = useState<Array<IQuery>>([]); // 高级筛选
const [queryInit, setQueryInit] = useState<IQuery>({ const [queryInit, setQueryInit] = useState<IQuery>({
// 高级筛选初始化数据 // 高级筛选初始化数据
...@@ -83,6 +84,12 @@ const SeeDataset = observer((props: ISeeDatasetProps) => { ...@@ -83,6 +84,12 @@ const SeeDataset = observer((props: ISeeDatasetProps) => {
} }
}; };
useEffect(()=>{
if(list?.length) {
setIsPoses(!!list[0]?.poses)
}
},[list])
// 页码改变 // 页码改变
const pageChange = (value: number) => { const pageChange = (value: number) => {
getList(value - 1); getList(value - 1);
...@@ -516,6 +523,7 @@ const SeeDataset = observer((props: ISeeDatasetProps) => { ...@@ -516,6 +523,7 @@ const SeeDataset = observer((props: ISeeDatasetProps) => {
)} )}
{downloadOpen && ( {downloadOpen && (
<Download <Download
isPoses={isPoses}
type={productId as string} type={productId as string}
projectId={projectId} projectId={projectId}
token={token} token={token}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生 15770852798@163.com * @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-18 16:12:55 * @Date: 2022-10-18 16:12:55
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-11-04 15:07:53 * @LastEditTime: 2023-02-15 18:20:05
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/index.tsx * @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -30,7 +30,7 @@ import { ...@@ -30,7 +30,7 @@ import {
getOperatorDetail, getOperatorDetail,
saveOperator, saveOperator,
} from "@/api/resourceCenter"; } from "@/api/resourceCenter";
import { IOperatorAddFormData } from "../../interface"; import { IOperatorAddFormData, IEnvParameters } from "../../interface";
import { import {
checkFormData, checkFormData,
checkParamsConfig, checkParamsConfig,
...@@ -43,7 +43,7 @@ import flowOperator from "@/assets/resourceCenter/flowOperator.svg"; ...@@ -43,7 +43,7 @@ import flowOperator from "@/assets/resourceCenter/flowOperator.svg";
import { useMessage } from "@/components/MySnackbar"; import { useMessage } from "@/components/MySnackbar";
import CloseIcon from "@mui/icons-material/Close"; import CloseIcon from "@mui/icons-material/Close";
import useCheckOperator from "@/views/CustomOperator/useCheckOperator"; import useCheckOperator from "@/views/CustomOperator/useCheckOperator";
import { saveBatchActor } from "@/api/project_api"; import { saveBatchActor, getStreamActorParameters } from "@/api/project_api";
import positionTransform from "@/views/CustomOperator/utils"; import positionTransform from "@/views/CustomOperator/utils";
import MyTooltip from "@/components/mui/MyTooltip"; import MyTooltip from "@/components/mui/MyTooltip";
...@@ -87,7 +87,8 @@ const AddOperator = observer((props: IAddOperator) => { ...@@ -87,7 +87,8 @@ const AddOperator = observer((props: IAddOperator) => {
const [parametersError, setParametersError] = useState<string>(""); const [parametersError, setParametersError] = useState<string>("");
/** 流程编排错误提示 */ /** 流程编排错误提示 */
const [flowParametersError, setFlowParametersError] = useState<string>(""); const [flowParametersError, setFlowParametersError] = useState<string>("");
/** 流选择环境参数 */
const [envParameters, setEnvParameters] = useState<IEnvParameters>()
/** 运行脚本 */ /** 运行脚本 */
const [command, setCommand] = useState<string>(""); const [command, setCommand] = useState<string>("");
...@@ -124,6 +125,18 @@ const AddOperator = observer((props: IAddOperator) => { ...@@ -124,6 +125,18 @@ const AddOperator = observer((props: IAddOperator) => {
[formData] [formData]
); );
useEffect(()=>{
if(!formData.envId || taskType === 'BATCH') return
getStreamActorParameters({envId:formData.envId}).then(({data })=>{
setEnvParameters({
path: data.path || '',
actorClass: data.actorClass || '',
name: data.name || '',
});
setCode(JSON.stringify(data?.parameters, null, "\t"));
})
},[formData.envId])
/** 获取算子详情 */ /** 获取算子详情 */
const { run: fetchOperatorDetail } = useMyRequest(getOperatorDetail, { const { run: fetchOperatorDetail } = useMyRequest(getOperatorDetail, {
onSuccess: (res: any) => { onSuccess: (res: any) => {
...@@ -312,6 +325,7 @@ const AddOperator = observer((props: IAddOperator) => { ...@@ -312,6 +325,7 @@ const AddOperator = observer((props: IAddOperator) => {
? operatorList ? operatorList
: newParameters, : newParameters,
type: taskType, type: taskType,
...(taskType === 'FLOW' ? envParameters : {})
}; };
/** 基于流算子没有应用环境字段 */ /** 基于流算子没有应用环境字段 */
...@@ -355,7 +369,6 @@ const AddOperator = observer((props: IAddOperator) => { ...@@ -355,7 +369,6 @@ const AddOperator = observer((props: IAddOperator) => {
} catch (err) { } catch (err) {
console.log(err); console.log(err);
} }
console.log(newText, "newText");
return <pre>{newText}</pre>; return <pre>{newText}</pre>;
}, [code]); }, [code]);
...@@ -370,6 +383,8 @@ const AddOperator = observer((props: IAddOperator) => { ...@@ -370,6 +383,8 @@ const AddOperator = observer((props: IAddOperator) => {
active={taskType} active={taskType}
setActive={(e: "BATCH" | "FLOW") => { setActive={(e: "BATCH" | "FLOW") => {
setBatchBuildType("ENVIRONMENT"); setBatchBuildType("ENVIRONMENT");
setFormData({ ...formData, envId: '' });
setCode(JSON.stringify(initCode, null, "\t"));
setTaskType(e); setTaskType(e);
}} }}
goBack={() => setPageType("")} goBack={() => setPageType("")}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生 15770852798@163.com * @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-20 17:36:14 * @Date: 2022-10-20 17:36:14
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-11-02 13:51:42 * @LastEditTime: 2023-02-15 17:23:07
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/utils.ts * @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/utils.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -114,7 +114,7 @@ export const checkParamsConfig = (val: string) => { ...@@ -114,7 +114,7 @@ export const checkParamsConfig = (val: string) => {
if( !['PATH','DATASET','FILE','INPUT','SELECT','MULTIPLESELECT','RADIO','CHECKBOX'].includes(item?.domType )){ if( !['PATH','DATASET','FILE','INPUT','SELECT','MULTIPLESELECT','RADIO','CHECKBOX'].includes(item?.domType )){
result.push(`domType: ${item?.domType}`) result.push(`domType: ${item?.domType}`)
} }
if( !['in', 'out', 'basis', 'senior'].includes(item?.parameterGroup )){ if( !['in', 'out', 'basis', 'senior', 'hardware'].includes(item?.parameterGroup )){
result.push(`parameterGroup: ${item?.parameterGroup}`) result.push(`parameterGroup: ${item?.parameterGroup}`)
} }
}) })
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生 15770852798@163.com * @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-19 20:50:18 * @Date: 2022-10-19 20:50:18
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-11-01 14:45:41 * @LastEditTime: 2023-02-15 18:17:06
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/interface.ts * @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/interface.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
...@@ -41,3 +41,9 @@ export interface IOperatorAddFormData { ...@@ -41,3 +41,9 @@ export interface IOperatorAddFormData {
envId?: string; envId?: string;
parameters?: any parameters?: any
} }
export interface IEnvParameters {
name?: string;
actorClass?: string;
path?: string;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment