This commit is contained in:
ann 2024-07-26 15:33:27 +08:00
parent d4f0e04bac
commit 2f74213443
3 changed files with 57 additions and 30 deletions

View File

@ -16,6 +16,16 @@ export const stopDeployInstance = (params) => {
return request({ url: '/pcm/v1/inference/stopDeployInstance', method: 'post', params })
}
export const getDeployInstanceStat = () => {
return request({ url: '/pcm/v1/inference/deployInstanceStat', method: 'get' })
}
export const getTaskStat = () => {
return request({ url: '/pcm/v1/inference/taskStat', method: 'get' })
}
export const getTrainingTaskStat = () => {
return request({ url: '/pcm/v1/ai/trainingTaskStat', method: 'get' })
}
export const getAppPodsByAppName = (name, params) => {
return request({ url: '/pcm/v1/apps/pods/' + name, method: 'get', params })
}

View File

@ -6,7 +6,6 @@
<el-row>
<el-card>
<el-row>
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="数据集" name="0" />
<el-tab-pane label="镜像" name="1" />

View File

@ -12,11 +12,11 @@
<div>
<div class="data">
<span>运行中</span>
<p>30</p>
<p>{{ trainingTask.running || 0 }}</p>
</div>
<div class="data">
<span>总数</span>
<p>100</p>
<p>{{ trainingTask.total || 0 }}</p>
</div>
</div>
</li>
@ -25,11 +25,11 @@
<div>
<div class="data">
<span>运行中</span>
<p>30</p>
<p>{{ taskCount.running || 0 }}</p>
</div>
<div class="data">
<span>总数</span>
<p>100</p>
<p>{{ taskCount.total || 0 }}</p>
</div>
</div>
</li>
@ -38,11 +38,11 @@
<div>
<div class="data">
<span>运行中</span>
<p>30</p>
<p>{{ deployInstance.running || 0 }}</p>
</div>
<div class="data">
<span>总数</span>
<p>100</p>
<p>{{ deployInstance.total || 0 }}</p>
</div>
</div>
</li>
@ -77,7 +77,7 @@
<script>
import List from '@/components/list'
import { getAiTaskList, startDeployInstance, stopDeployInstance } from '@/api/task/task'
import { getAiTaskList, startDeployInstance, stopDeployInstance, getDeployInstanceStat, getTaskStat, getTrainingTaskStat } from '@/api/task/task'
import { mapGetters } from 'vuex'
export default {
components: { List },
@ -85,8 +85,19 @@ export default {
return {
getAiTaskList,
strategyList: [],
activeName: 'first'
// columns: []
activeName: 'first',
trainingTask: {
running: 0,
total: 0
},
taskCount: {
running: 0,
total: 0
},
deployInstance: {
running: 0,
total: 0
}
}
},
computed: {
@ -118,26 +129,33 @@ export default {
}
},
watch: {
// '$i18n.locale'() {
// console.log('fff')
// this.setColumn()
// }
},
mounted() {
getDeployInstanceStat().then(e => {
this.deployInstance = e.data
})
getTaskStat().then(e => {
this.taskCount = e.data
})
getTrainingTaskStat().then(e => {
this.trainingTask = e.data
})
},
methods: {
setColumn() {
return [
{ prop: 'ModelName', label: this.$t('page.modelName'), sortable: true, formatter: (row) => { return <a onClick={() => this.viewDetail(row)}>{row.ModelName}</a> } },
{ prop: 'ModelType', label: this.$t('page.modelType') },
{ prop: 'modelName', label: this.$t('page.modelName'), sortable: true, formatter: (row) => { return <a onClick={() => this.viewDetail(row)}>{row.modelName}</a> } },
{ prop: 'modelType', label: this.$t('page.modelType') },
{
prop: 'InstanceName',
prop: 'instanceName',
label: this.$t('page.instanceName')
},
{
prop: 'InferCard',
prop: 'inferCard',
label: this.$t('page.inferCard')
},
{
prop: 'Status',
prop: 'status',
label: this.$t('page.jobStatus')
},
// { prop: 'strategy', label: this.$t('page.policy'), formatter: row => {
@ -147,13 +165,13 @@ export default {
// { prop: 'synergyStatus', label: this.$t('page.synergyStatus'), sortable: true, formatter: (row) => {
// return <div>{!row.synergyStatus ? this.$t('page.notSynergistic') : this.$t('page.synergistic')}</div>
// } },
{ prop: 'AdapterName', label: this.$t('page.adapter'), sortable: true },
{ prop: 'adapterName', label: this.$t('page.adapter'), sortable: true },
// { prop: 'cluster', label: this.$t('page.cluster'), sortable: true },
{ prop: 'CreateTime', label: this.$t('page.createTime'), sortable: true, formatter: (row) => {
return <div>{row.CreateTime && new Date(row.CreateTime).toLocaleString() || '-'}</div>
{ prop: 'createTime', label: this.$t('page.createTime'), sortable: true, formatter: (row) => {
return <div>{row.createTime && new Date(row.createTime).toLocaleString() || '-'}</div>
} },
{ prop: 'UpdateTime', label: this.$t('page.updateTime'), sortable: true, formatter: row => {
return <div>{row.UpdateTime && new Date(row.UpdateTime).toLocaleString() || '-'}</div>
{ prop: 'updateTime', label: this.$t('page.updateTime'), sortable: true, formatter: row => {
return <div>{row.updateTime && new Date(row.updateTime).toLocaleString() || '-'}</div>
} },
{ prop: 'more', label: this.$t('page.more'), width: 200, formatter: (row) => {
const txt = this.$t('page.viewDetail')
@ -165,8 +183,8 @@ export default {
</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>
{row.status === 'Stopped' ? <span onClick={() => this.handleDeploy(row, 1)}> <el-dropdown-item> {start} </el-dropdown-item> </span> : null}
{row.status === 'Running' ? <span onClick={() => this.handleDeploy(row, 2)}> <el-dropdown-item> {stop} </el-dropdown-item> </span> : null}
</el-dropdown-menu>
</el-dropdown>
</div>
@ -184,10 +202,10 @@ export default {
},
handleDeploy(row, type) {
const data = {
adapterId: row.AdapterId,
clusterId: row.ClusterId,
id: row.Id,
instanceId: row.InstanceId
adapterId: row.adapterId,
clusterId: row.clusterId,
id: row.id,
instanceId: row.instanceId
}
if (type === 1) {
startDeployInstance(data).then(e => {