Merge pull request 'fix' (#213) from annzee/JCC-RIP:cetc into master

This commit is contained in:
annzee 2024-07-24 10:25:45 +08:00
commit 44dea54954
8 changed files with 96 additions and 37 deletions

View File

@ -553,6 +553,8 @@
"initFile": "Init File",
"codeUpload": "Code Upload",
"selectModel": "Select Model",
"modelType": "Task Type"
"modelType": "Task Type",
"start": "Start",
"stop": "Stop"
}
}

View File

@ -553,6 +553,8 @@
"initFile": "启动文件",
"codeUpload": "代码上传",
"selectModel": "选择模型",
"modelType": "任务类型"
"modelType": "任务类型",
"start": "启动",
"stop": "停止"
}
}

View File

@ -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 })
}

View File

@ -2,7 +2,6 @@ import Layout from '@/layout'
const fileManagementRouter = {
path: '/fileManagement',
component: Layout,
name: 'fileManagement',
meta: {
title: 'fileManagement',
icon: 'xunijiguanli-juan'

View File

@ -2,7 +2,6 @@ import Layout from '@/layout'
const permissionRouter = {
path: '/permissionManagement',
component: Layout,
name: 'permissionManagement',
meta: {
title: 'authManagement',
icon: 'xiangmuguanli'

View File

@ -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
}

View File

@ -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()
})
}
}
}
}

View File

@ -33,6 +33,7 @@ module.exports = {
lintOnSave: process.env.NODE_ENV === 'development',
productionSourceMap: false,
devServer: {
host: 'localhost',
port: port,
open: true,
overlay: {