diff --git a/src/views/system/application/components/addOrEditApp.vue b/src/views/system/application/components/addOrEditApp.vue index 5e76c2f7..550199e8 100644 --- a/src/views/system/application/components/addOrEditApp.vue +++ b/src/views/system/application/components/addOrEditApp.vue @@ -10,7 +10,7 @@ - + + + + + + + + + +
@@ -57,6 +92,7 @@ import { delayTime } from '@/utils/common'; import { cloneDeep } from 'lodash-es'; import Dialog from '@/components/common/dialog/index.vue'; // import UploadImg from '@/components/common/uploadImg/index.vue'; +import BaseTable from '@/components/common/table/baseTable.vue'; const props = defineProps(['currentAppInfo', 'tableName']); const emit = defineEmits(['cancel', 'submit']); @@ -69,9 +105,10 @@ const loading = ref(false); const closeFun = () => { emit('cancel'); }; - +const baseTableRef = ref(); const appformData = reactive({ appImage: '', + commandConfigs: [], }); const submitFun = async () => { @@ -81,6 +118,7 @@ const submitFun = async () => { if (valid) { const fromData = tableFormRef.value.getFormDataFun(); const appImage: any = fromData.appImage; + fromData.commandConfigs = appformData.commandConfigs; // 判断是否上传了图片 if (!appImage) { appName.value = fromData.appName; @@ -128,19 +166,75 @@ const updatePngFun = async (name: any) => { } }; -const getUseformDataFun = () => { - nextTick(() => { - const fromData = tableFormRef.value.getFormDataFun(); - const appImage = fromData.extras.find((item: any) => { - return item.propertyName === 'appImage'; - })?.propertyValue; +// const getUseformDataFun = () => { +// nextTick(() => { +// const fromData = tableFormRef.value.getFormDataFun(); +// const appImage = fromData.extras.find((item: any) => { +// return item.propertyName === 'appImage'; +// })?.propertyValue; - if (appImage?.length) { - return true; - } else { - return false; - } +// if (appImage?.length) { +// return true; +// } else { +// return false; +// } +// }); +// }; + +const valueTypeList = ref([ + { + label: '共享云盘文件', + value: 'file', + }, + { + label: '用户自定义输入', + value: 'input', + }, +]); + +const formChangeFun = (data: any) => { + console.log(data, 'data'); + + if (data?.key === 'hpcCommand') { + getCommandConfigsFun(data.val); + } +}; + +const getCommandConfigsFun = (str: any) => { + const params = str + ? str.split(' ').filter((item: any) => { + return item.startsWith('%'); + }) + : []; + + const list = params.map((item: any) => { + return item.replace('%', ''); }); + appformData.commandConfigs = appformData.commandConfigs.filter((item: any) => { + return list.includes(item.keyEnName); + }); + + const appParams = appformData.commandConfigs.map((item: any) => { + return item.keyEnName; + }); + + for (let i = 0; i < list.length; i++) { + if (!appParams.includes(list[i])) { + appformData.commandConfigs.push({ + defaultValue: 'default', + featchType: 'param', + fileRegular: '', + keyCnName: '', + keyEnName: list[i], + valueType: 'input', + isDisplay: 'Y', + }); + } + } + + console.log(list); + console.log(appformData.commandConfigs); + baseTableRef.value.setDataFun(appformData.commandConfigs); }; watch( @@ -149,12 +243,14 @@ watch( if (newVal) { currentRow.value = cloneDeep(newVal); appformData.appImage = currentRow.value?.appImage; + appformData.commandConfigs = currentRow.value?.commandConfigs || []; setTimeout(() => { if (currentRow.value?.id) { tableFormRef.value.setFormDataFun(currentRow.value); } else { tableFormRef.value.resetFun(); } + baseTableRef.value.setDataFun(appformData.commandConfigs); }, 100); } }, diff --git a/src/views/system/application/index.vue b/src/views/system/application/index.vue index 6770270a..6724bf93 100644 --- a/src/views/system/application/index.vue +++ b/src/views/system/application/index.vue @@ -11,7 +11,7 @@ > @@ -283,6 +283,9 @@ const updateAppInfoFun = async (data: any) => { machineCode: data.machineCode, comment: data.comment, uuid: data.uuid, + commandConfigs: data.commandConfigs, + hpcCommand: data.hpcCommand, + hpcGroup: 'HPC_PACK', // creator: 'vu0151d', }); if (res && res.code === 200) { @@ -304,6 +307,9 @@ const updateAppInfoFun = async (data: any) => { comment: data.comment || '', creator: getUserId() || '', creatorName: getUserData()?.nickname || '', + commandConfigs: data.commandConfigs, + hpcCommand: data.hpcCommand, + hpcGroup: 'HPC_PACK', }; const res: any = await addApplicationApi(param); @@ -357,7 +363,7 @@ const timer: any = ref(null); const startAppFun = async (data: any) => { await getdeviceuuidFun(); - const uuid = localStorage.getItem('USER_UUID') ; + const uuid = localStorage.getItem('USER_UUID'); if (uuid) { const res: any = await execApi({ path: data.appPath, diff --git a/src/views/task/execution/components/taskDetailPage/components/experimentResult.vue b/src/views/task/execution/components/taskDetailPage/components/experimentResult.vue index 2c504e35..64962c59 100644 --- a/src/views/task/execution/components/taskDetailPage/components/experimentResult.vue +++ b/src/views/task/execution/components/taskDetailPage/components/experimentResult.vue @@ -498,7 +498,7 @@ const submitFun = async () => { }); } - if (props.taskInfo.exeStatus != 8) { + if (props.taskInfo.exeStatus != TASK_PROCESS_STATUS.CLOSED_LOOP) { if (enableConfigByTenant([TENANT_ENUM.LYRIC])) { await updateTaskExeStatusFun(); }