forked from JointCloud/JCC-RIP
Merge pull request 'fix' (#213) from annzee/JCC-RIP:cetc into master
This commit is contained in:
commit
44dea54954
|
@ -553,6 +553,8 @@
|
|||
"initFile": "Init File",
|
||||
"codeUpload": "Code Upload",
|
||||
"selectModel": "Select Model",
|
||||
"modelType": "Task Type"
|
||||
"modelType": "Task Type",
|
||||
"start": "Start",
|
||||
"stop": "Stop"
|
||||
}
|
||||
}
|
|
@ -553,6 +553,8 @@
|
|||
"initFile": "启动文件",
|
||||
"codeUpload": "代码上传",
|
||||
"selectModel": "选择模型",
|
||||
"modelType": "任务类型"
|
||||
"modelType": "任务类型",
|
||||
"start": "启动",
|
||||
"stop": "停止"
|
||||
}
|
||||
}
|
|
@ -3,6 +3,19 @@ import request from '@/utils/request'
|
|||
export const getAppList = (params) => {
|
||||
return request({ url: '/pcm/v1/core/task/list', method: 'get', params })
|
||||
}
|
||||
|
||||
export const getAiTaskList = (params) => {
|
||||
return request({ url: '/pcm/v1/inference/deployInstanceList', method: 'get', params })
|
||||
}
|
||||
|
||||
export const startDeployInstance = (params) => {
|
||||
return request({ url: '/pcm/v1/inference/startDeployInstance', method: 'post', params })
|
||||
}
|
||||
|
||||
export const stopDeployInstance = (params) => {
|
||||
return request({ url: '/pcm/v1/inference/stopDeployInstance', method: 'post', params })
|
||||
}
|
||||
|
||||
export const getAppPodsByAppName = (name, params) => {
|
||||
return request({ url: '/pcm/v1/apps/pods/' + name, method: 'get', params })
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ import Layout from '@/layout'
|
|||
const fileManagementRouter = {
|
||||
path: '/fileManagement',
|
||||
component: Layout,
|
||||
name: 'fileManagement',
|
||||
meta: {
|
||||
title: 'fileManagement',
|
||||
icon: 'xunijiguanli-juan'
|
||||
|
|
|
@ -2,7 +2,6 @@ import Layout from '@/layout'
|
|||
const permissionRouter = {
|
||||
path: '/permissionManagement',
|
||||
component: Layout,
|
||||
name: 'permissionManagement',
|
||||
meta: {
|
||||
title: 'authManagement',
|
||||
icon: 'xiangmuguanli'
|
||||
|
|
|
@ -19,7 +19,7 @@ const permissionRouter = {
|
|||
{
|
||||
path: 'warnStrategy',
|
||||
component: () => import('@/views/strategyManagement/warnSet/index'),
|
||||
name: 'warnStrategy',
|
||||
name: 'strategy',
|
||||
meta: { title: 'warnStrategy', icon: 'gaojing', affix: true },
|
||||
hidden: false
|
||||
}
|
||||
|
|
|
@ -47,38 +47,71 @@
|
|||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<List
|
||||
ref="multipleTable"
|
||||
:key="$i18n.locale"
|
||||
class="multipleTable"
|
||||
:columns="columns"
|
||||
:filter-map="filterMap"
|
||||
:get-list-action="getAppList"
|
||||
:default-sort="{prop: 'existTime', order: 'ascending'}"
|
||||
:pagination="true"
|
||||
page-key="pageNum"
|
||||
limit-key="pageSize"
|
||||
tooltip-effect="dark"
|
||||
>
|
||||
<template v-slot:filterBtns>
|
||||
<el-button size="medium" type="primary" @click="createItem">{{ $t('message.create') }}</el-button>
|
||||
</template>
|
||||
</List>
|
||||
|
||||
<!-- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
||||
<el-tab-pane label="智算部署任务" name="first">用户管理</el-tab-pane> -->
|
||||
|
||||
<!-- -->
|
||||
<!-- <el-tab-pane label="" name="second">
|
||||
<List
|
||||
ref="multipleTable"
|
||||
:key="$i18n.locale"
|
||||
class="multipleTable"
|
||||
:columns="columns"
|
||||
:filter-map="filterMap"
|
||||
:get-list-action="getAiTaskList"
|
||||
:default-sort="{prop: 'existTime', order: 'ascending'}"
|
||||
:pagination="true"
|
||||
page-key="pageNum"
|
||||
limit-key="pageSize"
|
||||
tooltip-effect="dark"
|
||||
>
|
||||
<template v-slot:filterBtns>
|
||||
<el-button size="medium" type="primary" @click="createItem">{{ $t('message.create') }}</el-button>
|
||||
</template>
|
||||
</List>
|
||||
</el-tab-pane> -->
|
||||
<!-- </el-tabs> -->
|
||||
</el-card>
|
||||
<el-card>
|
||||
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
||||
<el-tab-pane label="智算部署任务" name="first">
|
||||
<List
|
||||
ref="deploymentList"
|
||||
:key="$i18n.locale"
|
||||
class="multipleTable"
|
||||
:columns="columns"
|
||||
:filter-map="filterMap"
|
||||
:get-list-action="getAiTaskList"
|
||||
:default-sort="{prop: 'existTime', order: 'ascending'}"
|
||||
:pagination="true"
|
||||
page-key="pageNum"
|
||||
limit-key="pageSize"
|
||||
tooltip-effect="dark"
|
||||
>
|
||||
<template v-slot:filterBtns>
|
||||
<el-button size="medium" type="primary" @click="createItem">{{ $t('message.create') }}</el-button>
|
||||
</template>
|
||||
</List>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="智算应用任务" name="second" />
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from '@/components/list'
|
||||
import { getAppList } from '@/api/task/task'
|
||||
import { getAiTaskList, startDeployInstance, stopDeployInstance } from '@/api/task/task'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { runtimeFormat } from '@/utils/index'
|
||||
export default {
|
||||
components: { List },
|
||||
data() {
|
||||
return {
|
||||
getAppList,
|
||||
strategyList: []
|
||||
getAiTaskList,
|
||||
strategyList: [],
|
||||
activeName: 'first'
|
||||
// columns: []
|
||||
}
|
||||
},
|
||||
|
@ -103,19 +136,7 @@ export default {
|
|||
label: '错误', value: 'warning'
|
||||
}
|
||||
]
|
||||
},
|
||||
type: {
|
||||
label: this.$t('page.task') + this.$t('page.type'),
|
||||
type: 'select',
|
||||
dataSource: [
|
||||
{
|
||||
label: '部署任务', value: 'unschedulable'
|
||||
}, {
|
||||
label: '应用任务', value: 'running'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
columns() {
|
||||
|
@ -156,12 +177,16 @@ export default {
|
|||
} },
|
||||
{ prop: 'more', label: this.$t('page.more'), width: 200, formatter: (row) => {
|
||||
const txt = this.$t('page.viewDetail')
|
||||
const start = this.$t('page.start')
|
||||
const stop = this.$t('page.stop')
|
||||
return <div>
|
||||
<el-dropdown>
|
||||
<el-button className='el-dropdown-link' size='mini' icon='el-icon-more' circle>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot='dropdown'>
|
||||
<span onClick={() => this.viewDetail(row)}> <el-dropdown-item> {txt} </el-dropdown-item> </span>
|
||||
<span onClick={() => this.handleDeploy(row, 1)}> <el-dropdown-item> {start} </el-dropdown-item> </span>
|
||||
<span onClick={() => this.handleDeploy(row, 2)}> <el-dropdown-item> {stop} </el-dropdown-item> </span>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
@ -173,6 +198,24 @@ export default {
|
|||
},
|
||||
createItem() {
|
||||
this.$router.push({ path: `create` })
|
||||
},
|
||||
handleClick() {
|
||||
console.log('switch')
|
||||
},
|
||||
handleDeploy(row, type) {
|
||||
const { adapterId, clusterId, id } = row
|
||||
const data = { adapterId, clusterId, id }
|
||||
if (type === 1) {
|
||||
startDeployInstance(data).then(e => {
|
||||
this.$message.success(this.$t('message.success'))
|
||||
this.$refs.deploymentList.getList()
|
||||
})
|
||||
} else {
|
||||
stopDeployInstance(data).then(e => {
|
||||
this.$message.success(this.$t('message.success'))
|
||||
this.$refs.deploymentList.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ module.exports = {
|
|||
lintOnSave: process.env.NODE_ENV === 'development',
|
||||
productionSourceMap: false,
|
||||
devServer: {
|
||||
host: 'localhost',
|
||||
port: port,
|
||||
open: true,
|
||||
overlay: {
|
||||
|
|
Loading…
Reference in New Issue