|
@@ -92,6 +92,7 @@ let model = ref({
|
|
|
enhanceModel: '',
|
|
|
pretreatmentModel: ''
|
|
|
})
|
|
|
+
|
|
|
let formItem = reactive({
|
|
|
taskName: '',
|
|
|
selectTask: [2, 5],
|
|
@@ -110,8 +111,7 @@ let formItem = reactive({
|
|
|
})
|
|
|
let prevTreeData = ref([3])
|
|
|
const router = useRouter()
|
|
|
-let trainSubSystem = 0
|
|
|
-let selectAgloId
|
|
|
+let trainSubSystem, selectAgloId
|
|
|
let pageIndex = ref<number>(1)
|
|
|
const selectTaskTreeRef = ref<InstanceType<typeof ElTree>>()
|
|
|
const proTable1 = ref<ProTableInstance>()
|
|
@@ -377,7 +377,7 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.trainDataEnhancement['algorithmId'] = val
|
|
|
formItem.trainDataEnhancement['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 3, 'trainDataEnhancement')
|
|
|
+ addForm(params, 3, 'trainDataEnhancement', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -400,7 +400,7 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.trainDataExpansion['algorithmId'] = val
|
|
|
formItem.trainDataExpansion['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 4, 'trainDataExpansion')
|
|
|
+ addForm(params, 4, 'trainDataExpansion', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -470,15 +470,18 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
getAlgorithmApi(1, trainSubSystem).then(res => {
|
|
|
res.data.forEach(item => {
|
|
|
if (item.id === selectAgloId) {
|
|
|
- console.log('item.parameterConfig', item.parameterConfig)
|
|
|
-
|
|
|
- // const params = JSON.parse(item.parameterConfig)
|
|
|
- // console.log('params', params)
|
|
|
+ const params = eval('(' + item.parameterConfig + ')')
|
|
|
+ params.forEach(config => {
|
|
|
+ if (config.validate == '/d') {
|
|
|
+ config.validate = '\\d'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log('params', params)
|
|
|
|
|
|
formItem.train[0]['modelId'] = val
|
|
|
formItem.train[0]['params'] = {}
|
|
|
- // // (参数信息,第几页,数组名称)
|
|
|
- // addForm(params, 5, 'train[0]')
|
|
|
+ // (参数信息,第几页,数组名称)
|
|
|
+ addForm(params, 5, 'train[0]', 0)
|
|
|
}
|
|
|
})
|
|
|
})
|
|
@@ -516,7 +519,7 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.testDataEnhancement['modelId'] = val
|
|
|
formItem.testDataEnhancement['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 7, 'testDataEnhancement')
|
|
|
+ addForm(params, 7, 'testDataEnhancement', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -551,14 +554,37 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.testDataExpansion['modelId'] = val
|
|
|
formItem.testDataExpansion['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 8, 'testDataExpansion')
|
|
|
+ addForm(params, 8, 'testDataExpansion', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// 9
|
|
|
+ {
|
|
|
+ label: '选择子系统',
|
|
|
+ prop: 'trainSubConfig',
|
|
|
+ span: 14,
|
|
|
+ rules: [{ required: true, message: '请选择子系统' }],
|
|
|
+ show: () => {
|
|
|
+ return pageIndex.value === 9 ? true : false
|
|
|
+ },
|
|
|
+ compOptions: {
|
|
|
+ elTagName: 'select',
|
|
|
+ labelKey: 'dictLabel',
|
|
|
+ valueKey: 'dictValue',
|
|
|
+ enum: () => getDictsApi('biz_sub_config'),
|
|
|
+ // enum: enumData,
|
|
|
+ onChange: val => {
|
|
|
+ trainSubSystem = val
|
|
|
+ getAlgorithmApi(2, val).then(res => {
|
|
|
+ formItems.value[0].items[15].compOptions.enum = res.data
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
{
|
|
|
label: '选择测试算法',
|
|
|
prop: 'testAlgo',
|
|
|
+
|
|
|
span: 14,
|
|
|
rules: [{ required: true, message: '请选择测试算法' }],
|
|
|
show: () => {
|
|
@@ -566,7 +592,9 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
},
|
|
|
compOptions: {
|
|
|
elTagName: 'select',
|
|
|
- enum: enumData,
|
|
|
+ labelKey: 'algorithmName',
|
|
|
+ valueKey: 'id',
|
|
|
+ enum: null,
|
|
|
onChange: val => {
|
|
|
// console.log("val5",val);
|
|
|
formItem.test[0]['algorithmId'] = val
|
|
@@ -592,7 +620,7 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.test[0]['modelId'] = val
|
|
|
formItem.test[0]['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 9, 'test[0]')
|
|
|
+ addForm(params, 9, 'test[0]', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -627,7 +655,7 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.reasoningDataEnhancement['modelId'] = val
|
|
|
formItem.reasoningDataEnhancement['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 11, 'reasoningDataEnhancement')
|
|
|
+ addForm(params, 11, 'reasoningDataEnhancement', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -662,11 +690,33 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.reasoningDataExpansion['modelId'] = val
|
|
|
formItem.reasoningDataExpansion['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 12, 'reasoningDataExpansion')
|
|
|
+ addForm(params, 12, 'reasoningDataExpansion', 0)
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// 13
|
|
|
+ {
|
|
|
+ label: '选择子系统',
|
|
|
+ prop: 'trainSubConfig',
|
|
|
+ span: 14,
|
|
|
+ rules: [{ required: true, message: '请选择子系统' }],
|
|
|
+ show: () => {
|
|
|
+ return pageIndex.value === 13 ? true : false
|
|
|
+ },
|
|
|
+ compOptions: {
|
|
|
+ elTagName: 'select',
|
|
|
+ labelKey: 'dictLabel',
|
|
|
+ valueKey: 'dictValue',
|
|
|
+ enum: () => getDictsApi('biz_sub_config'),
|
|
|
+ onChange: val => {
|
|
|
+ trainSubSystem = val
|
|
|
+ getAlgorithmApi(1, val).then(res => {
|
|
|
+ console.log('111', res)
|
|
|
+ formItems.value[0].items[7].compOptions.enum = res.data as any[]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
{
|
|
|
label: '选择测试算法',
|
|
|
prop: 'reasoningAlgo',
|
|
@@ -703,7 +753,7 @@ let items = reactive<ProForm.ItemsOptions[]>([
|
|
|
formItem.reasoning[0]['modelId'] = val
|
|
|
formItem.reasoning[0]['params'] = {}
|
|
|
// (参数信息,第几页,数组名称)
|
|
|
- addForm(params, 13, 'reasoning[0]')
|
|
|
+ addForm(params, 13, 'reasoning[0]', 0)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -726,88 +776,115 @@ let formItems = ref([
|
|
|
model: model.value
|
|
|
}
|
|
|
])
|
|
|
-let addTrainAgloIndex = 0
|
|
|
-let addTestAgloIndex = 0
|
|
|
-let addReasoningAgloIndex = 0
|
|
|
+let addTrainAgloIndex = 1
|
|
|
+let addTestAgloIndex = 1
|
|
|
+let addReasoningAgloIndex = 1
|
|
|
const proFormRef = ref<InstanceType<typeof ProForm> | null>(null)
|
|
|
// 增加训练算法
|
|
|
const onAdd = pageNum => {
|
|
|
- let arrayName = ''
|
|
|
- let agloIndex
|
|
|
- if (pageNum === 5) {
|
|
|
- arrayName = 'train'
|
|
|
- agloIndex = addTrainAgloIndex
|
|
|
- } else if (pageNum === 9) {
|
|
|
- arrayName = 'test'
|
|
|
- agloIndex = addTestAgloIndex
|
|
|
- } else if (pageNum === 13) {
|
|
|
- arrayName = 'reasoning'
|
|
|
- agloIndex = addReasoningAgloIndex
|
|
|
+ let arrayName, agloIndex, type
|
|
|
+ switch (pageNum) {
|
|
|
+ case 5:
|
|
|
+ arrayName = 'train'
|
|
|
+ agloIndex = addTrainAgloIndex
|
|
|
+ type = 1
|
|
|
+ break
|
|
|
+ case 9:
|
|
|
+ arrayName = 'test'
|
|
|
+ agloIndex = addTestAgloIndex
|
|
|
+ type = 2
|
|
|
+ break
|
|
|
+ case 13:
|
|
|
+ arrayName = 'reasoning'
|
|
|
+ agloIndex = addReasoningAgloIndex
|
|
|
+ type = 3
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ break
|
|
|
}
|
|
|
const formEl = proFormRef.value![0].proFormRef
|
|
|
if (!formEl) return
|
|
|
formEl.validate(valid => {
|
|
|
if (valid) {
|
|
|
- // const params = [
|
|
|
- // { label: '选择训练算法', vmodel: `${arrayName}AgloIndex${agloIndex}` },
|
|
|
- // { label: '选择训练模型', vmodel: `${arrayName}ModelIndex${agloIndex}` }
|
|
|
- // ]
|
|
|
- getModelApi(1).then((res: any) => {
|
|
|
- const params = res.data
|
|
|
- params.forEach((item, index) => {
|
|
|
- formItems.value[0].items.push({
|
|
|
- label: item.label,
|
|
|
- prop: item.vmodel,
|
|
|
- span: 14,
|
|
|
- rules: [{ required: true, message: '请选择训练算法' }],
|
|
|
- show: () => {
|
|
|
- return pageIndex.value === pageNum ? true : false
|
|
|
- },
|
|
|
- compOptions: {
|
|
|
- elTagName: 'select',
|
|
|
- enum: index === 0 ? enumData : enumData,
|
|
|
- onChange: val => {
|
|
|
- if (index === 0) {
|
|
|
- formItem[`${arrayName}`].push({})
|
|
|
- console.log(`formItem[${arrayName}][${agloIndex}] ['algorithmId']`)
|
|
|
+ getAlgorithmApi(type, trainSubSystem).then(res1 => {
|
|
|
+ console.log('agloIndex', agloIndex)
|
|
|
|
|
|
- formItem[`${arrayName}`][`${agloIndex}`]['algorithmId'] = val
|
|
|
- } else {
|
|
|
- const params = [
|
|
|
- { name: 'greg', value: 'bbb', defaultValue: 'xxx', required: true, index: 1 },
|
|
|
- { name: 'greg1', value: 'bbb2', defaultValue: 'xxx3', required: false, index: 4 }
|
|
|
- ]
|
|
|
- formItem[`${arrayName}`][`${agloIndex}`]['modelId'] = val
|
|
|
- formItem[`${arrayName}`][`${agloIndex}`]['params'] = {}
|
|
|
- // (参数信息,第几页,数组名称)
|
|
|
- addForm(params, pageNum, `${arrayName}[${agloIndex}] `)
|
|
|
- }
|
|
|
- }
|
|
|
+ formItems.value[0].items.push({
|
|
|
+ label: '选择训练算法',
|
|
|
+ prop: `${arrayName}Aglo${agloIndex}`,
|
|
|
+ span: 14,
|
|
|
+ rules: [{ required: true, message: '请选择训练算法' }],
|
|
|
+ show: () => {
|
|
|
+ return pageIndex.value === pageNum ? true : false
|
|
|
+ },
|
|
|
+ compOptions: {
|
|
|
+ elTagName: 'select',
|
|
|
+ labelKey: 'algorithmName',
|
|
|
+ valueKey: 'id',
|
|
|
+ enum: res1.data,
|
|
|
+ onChange: agloId => {
|
|
|
+ formItem[`${arrayName}`].push({})
|
|
|
+ console.log(`formItem[${arrayName}][${agloIndex}]['algorithmId']`)
|
|
|
+ formItem[`${arrayName}`][`${agloIndex}`]['algorithmId'] = agloId
|
|
|
+ getModelApi(agloId).then(res2 => {
|
|
|
+ formItems.value[0].items.push({
|
|
|
+ label: '选择训练模型',
|
|
|
+ prop: `${arrayName}Model${agloIndex}`,
|
|
|
+ span: 14,
|
|
|
+ rules: [{ required: true, message: '请选择训练模型' }],
|
|
|
+ show: () => {
|
|
|
+ return pageIndex.value === pageNum ? true : false
|
|
|
+ },
|
|
|
+ compOptions: {
|
|
|
+ elTagName: 'select',
|
|
|
+ labelKey: 'modelName',
|
|
|
+ valueKey: 'id',
|
|
|
+ enum: res2.data,
|
|
|
+ onChange: modelId => {
|
|
|
+ console.log(res1.data, agloId)
|
|
|
+
|
|
|
+ res1.data.forEach(agloItem => {
|
|
|
+ if (agloItem.id === agloId) {
|
|
|
+ const params = eval('(' + agloItem.parameterConfig + ')')
|
|
|
+ params.forEach(config => {
|
|
|
+ if (config.validate == '/d') {
|
|
|
+ config.validate = '\\d'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ formItem[`${arrayName}`][`${agloIndex}`]['modelId'] = modelId
|
|
|
+ formItem[`${arrayName}`][`${agloIndex}`]['params'] = {}
|
|
|
+ addForm(params, pageNum, `${arrayName}[${agloIndex}]`, agloIndex)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
- })
|
|
|
- console.log('formItems.value', formItems.value)
|
|
|
+ }
|
|
|
})
|
|
|
- agloIndex++
|
|
|
})
|
|
|
- // const params = getModelApi(1)
|
|
|
+ if (pageNum === 5) addTrainAgloIndex++
|
|
|
+ if (pageNum === 9) addTestAgloIndex++
|
|
|
+ if (pageNum === 13) addReasoningAgloIndex++
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
// 增加表单事件
|
|
|
-const addForm = (params, index, arrayName) => {
|
|
|
+const addForm = (params, index, arrayName, paramsIndex) => {
|
|
|
params.forEach(item => {
|
|
|
formItems.value[0].items.push({
|
|
|
label: item.name,
|
|
|
- prop: item.name,
|
|
|
- span: 14,
|
|
|
- required: item.required,
|
|
|
+ prop: `${item.name}${paramsIndex}`,
|
|
|
+ span: 12,
|
|
|
+ rules: [{ required: item.required, pattern: item.validate }],
|
|
|
show: () => {
|
|
|
return pageIndex.value === index ? true : false
|
|
|
},
|
|
|
compOptions: {
|
|
|
elTagName: 'input',
|
|
|
clearable: true,
|
|
|
- placeholder: '请输入...',
|
|
|
+ placeholder: item.prompt,
|
|
|
onChange: val1 => {
|
|
|
let label = item.name
|
|
|
if (arrayName.includes(']')) {
|
|
@@ -995,6 +1072,15 @@ watch(
|
|
|
}
|
|
|
}
|
|
|
)
|
|
|
+// onMounted(() => {
|
|
|
+// const query = {
|
|
|
+// pageNum: 1,
|
|
|
+// pageSize: 10
|
|
|
+// }
|
|
|
+// listDataApi(query).then(res => {
|
|
|
+// tableData.value = res.data
|
|
|
+// })
|
|
|
+// })
|
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
|
@import './index.scss';
|