src/api/model/mpk/mpk.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/model/mpk/project.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/model/pre/item/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/mpk/file/MpkRun.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/pre/item/MmPredictItemForm.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/model/mpk/mpk.ts
@@ -43,7 +43,7 @@ } export const saveModel = (data) => { return request.downloadByPost({ url: '/model/mpk/api/saveModel', data }) return request.downloadByPost({ url: '/model/mpk/api/saveModel', data, timeout: 5 * 60 * 1000 }) } export const list = (params) => { src/api/model/mpk/project.ts
@@ -21,8 +21,8 @@ } export const packageProject = (params) => { // 超时时间两分钟 return request.download({ url: '/model/mpk/file/packageModel', params, timeout: 2 * 60 * 1000 }) // 超时时间十分钟 return request.download({ url: '/model/mpk/file/packageModel', params, timeout: 10 * 60 * 1000 }) } export const list = () => { src/api/model/pre/item/index.ts
@@ -113,7 +113,7 @@ } export const updateModel = (data: any) => { return request.upload({ url: '/model/pre/item/upload-model', data }) return request.upload({ url: '/model/pre/item/upload-model', data, timeout: 5 * 60 * 1000 }) } export const useUpload = () => { src/views/model/mpk/file/MpkRun.vue
@@ -110,7 +110,7 @@ <!-- </el-table-column>--> </el-table> <el-divider content-position="left">模型运行结果</el-divider> <el-button type="primary" size="small" link @click="saveModel" v-if="showSaveModel && formData.methodName === 'train'">下载模型(.miail)</el-button> <el-button type="primary" size="small" link @click="saveModel" v-if="showSaveModel && formData.methodName === 'train'" :loading="saveModelLoading">下载模型(.miail)</el-button> <el-input v-model="modelRunResult" placeholder="" rows="4" type="textarea" /> <div style="display: flex;flex-direction: row;justify-content: end;margin-top: 16px"> <el-button :loading="modelRunloading" type="primary" @click="modelRun()">运行</el-button> @@ -145,6 +145,8 @@ // 模型方法下拉列表 const methodList = ref([]) const hasModel = ref(false) const saveModelLoading = ref(false) /** 打开弹窗 */ const open = async (row) => { @@ -345,24 +347,30 @@ }) const saveModel = async () => { saveModelParams.className = formData.className saveModelParams.pyName = formData.pyName saveModelParams.modelSettings = formData.modelSettings const predMethod = methodList.value.find(e => e.methodName === 'predict'); saveModelParams.methodName = predMethod.methodName saveModelParams.resultKey = predMethod.resultKey //predModelSettings if (predMethod.methodSettings && predMethod.methodSettings.length > 0) { saveModelParams.predModelSettings = predMethod.methodSettings.map(e => { e.settingValue = e.value; return e; }) try { saveModelLoading.value = true saveModelParams.className = formData.className saveModelParams.pyName = formData.pyName saveModelParams.modelSettings = formData.modelSettings const predMethod = methodList.value.find(e => e.methodName === 'predict'); saveModelParams.methodName = predMethod.methodName saveModelParams.resultKey = predMethod.resultKey //predModelSettings if (predMethod.methodSettings && predMethod.methodSettings.length > 0) { saveModelParams.predModelSettings = predMethod.methodSettings.map(e => { e.settingValue = e.value; return e; }) } saveModelParams.hasModel = predMethod.model === 1 saveModelParams.dataLength = predMethod.dataLength const data = await MpkApi.saveModel(saveModelParams) download.downloadFile(data, saveModelParams.pyName + '.miail') } finally { saveModelLoading.value = false } saveModelParams.hasModel = predMethod.model === 1 saveModelParams.dataLength = predMethod.dataLength const data = await MpkApi.saveModel(saveModelParams) download.downloadFile(data, saveModelParams.pyName + '.miail') } </script> src/views/model/pre/item/MmPredictItemForm.vue
@@ -184,6 +184,7 @@ :on-error="uploadModelError" :action="uploadUrl" :show-file-list="false" v-loading="updateModelLoading" :http-request="httpRequest"> <el-button type="primary" @click="setReplaceModelOnly(false)"> <Icon icon="ep:upload"/> @@ -553,6 +554,7 @@ const fileList = ref([]) const operatorList = ['+', '-'] const replaceModelOnly = ref(false) const updateModelLoading = ref(false) const queryParams = reactive({ pageNo: 1, pageSize: 10, @@ -843,6 +845,7 @@ } function beforeUpload(file) { updateModelLoading.value = true let fileName = file.name let first = fileName.lastIndexOf('.') let nameLength = fileName.length @@ -854,59 +857,65 @@ } function uploadModelSuccess(response, file, fileList) { if (response.code === 0) { message.success(t('上传成功')) dataForm.value.mmModelArithSettingsList = [] if (!replaceModelOnly.value) { dataForm.value.mmModelParamList = [] } dataForm.value.mmPredictModel.modelpath = '' dataForm.value.mmPredictModel.modelparamstructure = '' if (response.data.loadFieldSetList && response.data.loadFieldSetList[0].propertyList) { response.data.loadFieldSetList[0].propertyList.forEach(function (value) { //匹配 data数字 if (!/^data\d+$/.test(value.key)) { dataForm.value.mmModelArithSettingsList.push({ key: value.key, name: value.name, valuetype: value.valueType, value: value.value }) } }) } dataForm.value.mmPredictModel.modelname = response.data.originalFilename dataForm.value.mmPredictModel.classname = response.data.className dataForm.value.mmPredictModel.methodname = response.data.methodName if (response.data.paramPathList) { dataForm.value.mmPredictModel.modelpath = response.data.paramPathList[0] } if (response.data.paramsArray) { dataForm.value.mmPredictModel.modelparamstructure = response.data.paramsArray.join(',') } if (response.data.paramsCount && !replaceModelOnly.value) { for (let i = 0; i < response.data.paramsCount; i++) { dataForm.value.mmModelParamList.push({ modelparamportorder: (i + 1), modelparamorder: (i + 1), modelparamtype: '', modelparamid: '', modelparamname: '', datalength: 0 try { if (response.code === 0) { message.success(t('上传成功')) dataForm.value.mmModelArithSettingsList = [] if (!replaceModelOnly.value) { dataForm.value.mmModelParamList = [] } dataForm.value.mmPredictModel.modelpath = '' dataForm.value.mmPredictModel.modelparamstructure = '' if (response.data.loadFieldSetList && response.data.loadFieldSetList[0].propertyList) { response.data.loadFieldSetList[0].propertyList.forEach(function (value) { //匹配 data数字 if (!/^data\d+$/.test(value.key)) { dataForm.value.mmModelArithSettingsList.push({ key: value.key, name: value.name, valuetype: value.valueType, value: value.value }) } }) } dataForm.value.mmPredictModel.modelname = response.data.originalFilename dataForm.value.mmPredictModel.classname = response.data.className dataForm.value.mmPredictModel.methodname = response.data.methodName if (response.data.paramPathList) { dataForm.value.mmPredictModel.modelpath = response.data.paramPathList[0] } if (response.data.paramsArray) { dataForm.value.mmPredictModel.modelparamstructure = response.data.paramsArray.join(',') } if (response.data.paramsCount && !replaceModelOnly.value) { for (let i = 0; i < response.data.paramsCount; i++) { dataForm.value.mmModelParamList.push({ modelparamportorder: (i + 1), modelparamorder: (i + 1), modelparamtype: '', modelparamid: '', modelparamname: '', datalength: 0 }) } } if (response.data.settingConfigMap && response.data.settingConfigMap.settingMap) { dataForm.value.mmPredictModel.settingmap = JSON.stringify(response.data.settingConfigMap.settingMap) } } else { message.error('上传失败!' + response.msg) return } if (response.data.settingConfigMap && response.data.settingConfigMap.settingMap) { dataForm.value.mmPredictModel.settingmap = JSON.stringify(response.data.settingConfigMap.settingMap) } } else { message.error('上传失败!' + response.msg) return fileList = [] }finally { updateModelLoading.value = false } fileList = [] } function uploadModelError(file, err, fileList) { updateModelLoading.value = false } function changeItemtype(value) {