diff --git a/webapp/.env.pre b/webapp/.env.pre
index e4137ae..0f39204 100644
--- a/webapp/.env.pre
+++ b/webapp/.env.pre
@@ -14,16 +14,16 @@ VUE_APP_DATA_API = '/'
VUE_APP_VISUAL_API = '/'
# minio
-VUE_APP_MINIO_API = 'http://127.0.0.1:9000/minio'
+VUE_APP_MINIO_API = 'http://10.105.1.132:9000/minio'
# atlas
-VUE_APP_ATLAS_HOST = 'http://127.0.0.1'
+VUE_APP_ATLAS_HOST = 'http://183.129.174.186'
# DCM4CHEE
VUE_APP_DCM_API = 'http://pre.dubhe.club/dcm4chee/dcm4chee-arc/aets/DCM4CHEE_ADMIN'
# minIO 服务 IP
-VUE_APP_MINIO_ENDPOINT = '127.0.0.1'
+VUE_APP_MINIO_ENDPOINT = '10.105.1.132'
# minIO 服务 端口
VUE_APP_MINIO_PORT = '9000'
# 是否开启 SSL
diff --git a/webapp/.eslintignore b/webapp/.eslintignore
index 8b78211..da2a6cc 100644
--- a/webapp/.eslintignore
+++ b/webapp/.eslintignore
@@ -5,4 +5,5 @@ dist
src/components/Crud
mock
src/views/visual
-src/store/modules/Visual
\ No newline at end of file
+src/store/modules/Visual
+src/utils/VisualUtils
\ No newline at end of file
diff --git a/webapp/babel.config.js b/webapp/babel.config.js
index eef0db8..b603e36 100644
--- a/webapp/babel.config.js
+++ b/webapp/babel.config.js
@@ -1,12 +1,9 @@
-const plugins = [
- "@vue/babel-plugin-transform-vue-jsx",
- "@babel/plugin-proposal-optional-chaining",
-];
+const plugins = ['@vue/babel-plugin-transform-vue-jsx', '@babel/plugin-proposal-optional-chaining'];
// 生产环境移除console
-if (process.env.NODE_ENV === "production") {
- plugins.push("transform-remove-console");
+if (process.env.NODE_ENV === 'production') {
+ plugins.push('transform-remove-console');
}
module.exports = {
plugins,
- presets: [["@vue/app",{ useBuiltIns: "entry" }]],
+ presets: [['@vue/app', { useBuiltIns: 'entry' }]],
};
diff --git a/webapp/package.json b/webapp/package.json
index fd758f4..177621f 100644
--- a/webapp/package.json
+++ b/webapp/package.json
@@ -24,6 +24,18 @@
"lint:style": "stylelint src/**/*.{html,vue,css,sass,scss}",
"fix:style": "stylelint src/**/*.{html,vue,css,sass,scss} --fix"
},
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged",
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
+ }
+ },
+ "lint-staged": {
+ "src/**/*.{js,vue}": [
+ "eslint --fix",
+ "git add"
+ ]
+ },
"repository": {
"type": "git",
"url": "git@codeup.teambition.com:zhejianglab/dubhe-web.git"
diff --git a/webapp/src/api/trainingImage/index.js b/webapp/src/api/trainingImage/index.js
index af7cd48..48feecc 100644
--- a/webapp/src/api/trainingImage/index.js
+++ b/webapp/src/api/trainingImage/index.js
@@ -19,7 +19,7 @@ import { API_MODULE_NAME } from '@/config';
export function list(params) {
return request({
- url: `/${API_MODULE_NAME.IMAGE}/ptImage/info`,
+ url: `/${API_MODULE_NAME.IMAGE}/ptImage/list`,
method: 'get',
params,
});
@@ -27,7 +27,7 @@ export function list(params) {
export function add(data) {
return request({
- url: `/${API_MODULE_NAME.IMAGE}/ptImage/uploadImage`,
+ url: `/${API_MODULE_NAME.IMAGE}/ptImage`,
method: 'post',
data,
});
@@ -65,14 +65,6 @@ export function getImageTagList(params) {
});
}
-export function setPrecast(params) {
- return request({
- url: `/${API_MODULE_NAME.IMAGE}/ptImage/imageResource`,
- method: 'put',
- params,
- });
-}
-
// 设置notebook默认镜像-获取默认镜像
export function getDefaultImage(params) {
return request({
diff --git a/webapp/src/assets/styles/atomic.scss b/webapp/src/assets/styles/atomic.scss
index e0ed86b..bc382af 100644
--- a/webapp/src/assets/styles/atomic.scss
+++ b/webapp/src/assets/styles/atomic.scss
@@ -332,6 +332,10 @@
width: 320px;
}
+.w-400 {
+ width: 400px;
+}
+
.w-500 {
width: 500px;
}
diff --git a/webapp/src/components/BaseTooltip/index.vue b/webapp/src/components/BaseTooltip/index.vue
index 423ac7b..3ecf2c6 100644
--- a/webapp/src/components/BaseTooltip/index.vue
+++ b/webapp/src/components/BaseTooltip/index.vue
@@ -9,6 +9,9 @@ the License. * ============================================================= */
+
+
+
diff --git a/webapp/src/components/Training/jobForm.vue b/webapp/src/components/Training/jobForm.vue
index a1c988a..a6f705b 100644
--- a/webapp/src/components/Training/jobForm.vue
+++ b/webapp/src/components/Training/jobForm.vue
@@ -541,6 +541,7 @@ import {
RESOURCES_MODULE_ENUM,
RESOURCES_POOL_TYPE_ENUM,
RESOURCES_POOL_TYPE_MAP,
+ IMAGE_TYPE_ENUM,
} from '@/utils';
import { list as getAlgorithmList, getAlgorithmInfo } from '@/api/algorithm/algorithm';
import { getModelByResource } from '@/api/model/model';
@@ -551,7 +552,7 @@ import { list as getSpecsNames } from '@/api/system/resources';
import { list as getNotebooks } from '@/api/development/notebook';
import { trainConfig } from '@/config';
import { NOTEBOOK_STATUS_ENUM } from '@/views/development/utils';
-import { IMAGE_TYPE, TRAINING_TYPE_ENUM } from '@/views/trainingJob/utils';
+import { TRAINING_TYPE_ENUM } from '@/views/trainingJob/utils';
import BaseTooltip from '@/components/BaseTooltip';
import DataSourceSelector from './dataSourceSelector';
@@ -929,7 +930,7 @@ export default {
},
async getHarborProjects() {
this.harborProjectList = await getImageNameList({
- imageTypes: [IMAGE_TYPE.TRAIN],
+ imageTypes: [IMAGE_TYPE_ENUM.TRAIN],
});
if (
this.form.imageName &&
diff --git a/webapp/src/utils/VisualUtils/download.js b/webapp/src/utils/VisualUtils/download.js
index b4c11c2..de5ea03 100644
--- a/webapp/src/utils/VisualUtils/download.js
+++ b/webapp/src/utils/VisualUtils/download.js
@@ -39,7 +39,7 @@ const covertSVG2Image = (node, name, width, height, type = 'png') => {
const context = canvas.getContext('2d');
context.fillStyle = '#fff';
context.fillRect(0, 0, 10000, 10000);
- image.onload = function() {
+ image.onload = () => {
context.drawImage(image, 0, 0);
const a = document.createElement('a');
a.download = `${name}.${type}`;
diff --git a/webapp/src/utils/constant.js b/webapp/src/utils/constant.js
index 4e5cdd0..b89ac93 100644
--- a/webapp/src/utils/constant.js
+++ b/webapp/src/utils/constant.js
@@ -133,6 +133,24 @@ export const K8S_BUSINESS_LABEL_MAP = {
[K8S_BUSINESS_LABEL_ENUM.POINT_CLOUD]: '点云数据集',
};
+// 镜像分类枚举
+export const IMAGE_TYPE_ENUM = {
+ NOTEBOOK: 0, // notebook镜像类型
+ TRAIN: 1, // 训练镜像和预置镜像类型
+ SERVING: 2, // serving镜像
+ TERMINAL: 3, // 终端镜像
+ POINTCLOUD: 4, // 点云镜像
+ DATASETMARKED: 5, // 数据标注镜像
+};
+export const IMAGE_TYPE_MAP = {
+ [IMAGE_TYPE_ENUM.NOTEBOOK]: 'Notebook镜像',
+ [IMAGE_TYPE_ENUM.TRAIN]: '训练镜像',
+ [IMAGE_TYPE_ENUM.SERVING]: 'Serving镜像',
+ [IMAGE_TYPE_ENUM.TERMINAL]: '终端镜像',
+ [IMAGE_TYPE_ENUM.POINTCLOUD]: '点云镜像',
+ [IMAGE_TYPE_ENUM.DATASETMARKED]: '数据标注镜像',
+};
+
// 默认进度条颜色
export const defaultProcessColors = [
{ color: '#909399', percentage: 40 },
diff --git a/webapp/src/utils/download.js b/webapp/src/utils/download.js
index eab02c0..5ffcdca 100644
--- a/webapp/src/utils/download.js
+++ b/webapp/src/utils/download.js
@@ -20,7 +20,7 @@ import ZIP from './zip';
const pMap = require('p-map');
-//streamSaver.mitm = 'https://static.zhejianglab.com/mitm.html';
+streamSaver.mitm = 'https://static.zhejianglab.com/mitm.html';
// 默认名字解析
const defaultName = (file) => file.name;
diff --git a/webapp/src/views/algorithm/components/algorithmForm.vue b/webapp/src/views/algorithm/components/algorithmForm.vue
index 296caee..141dcc4 100644
--- a/webapp/src/views/algorithm/components/algorithmForm.vue
+++ b/webapp/src/views/algorithm/components/algorithmForm.vue
@@ -171,13 +171,13 @@ import {
invalidFileNameChar,
defaultProcessColors,
ALGORITHM_RESOURCE_ENUM,
+ IMAGE_TYPE_ENUM,
} from '@/utils';
import UploadInline from '@/components/UploadForm/inline';
import UploadProgress from '@/components/UploadProgress';
import { useMapGetters } from '@/hooks';
import { algorithmConfig } from '@/config';
import { getImageNameList, getImageTagList } from '@/api/trainingImage';
-import { IMAGE_TYPE } from '@/views/trainingJob/utils';
const defaultForm = {
id: null,
@@ -289,7 +289,7 @@ export default {
};
// 获取镜像名列表
const getImageNames = async (keepValue = false) => {
- state.imageNameList = await getImageNameList({ imageTypes: [IMAGE_TYPE.TRAIN] });
+ state.imageNameList = await getImageNameList({ imageTypes: [IMAGE_TYPE_ENUM.TRAIN] });
if (!keepValue || !form.imageName) {
form.imageTag = null;
} else if (!state.imageNameList.includes(form.imageName)) {
diff --git a/webapp/src/views/cloudServing/components/forms/batchServingForm.vue b/webapp/src/views/cloudServing/components/forms/batchServingForm.vue
index f63ce2a..fedc026 100644
--- a/webapp/src/views/cloudServing/components/forms/batchServingForm.vue
+++ b/webapp/src/views/cloudServing/components/forms/batchServingForm.vue
@@ -199,14 +199,13 @@