|
@@ -42,7 +42,7 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
<el-col :span="4">
|
|
|
<el-form-item label="状态">
|
|
<el-form-item label="状态">
|
|
|
- <el-select v-model="modelState" placeholder="全部">
|
|
|
|
|
|
|
+ <el-select v-model="modelStatus" placeholder="全部">
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="item in modelStateOption"
|
|
v-for="item in modelStateOption"
|
|
|
:label="item"
|
|
:label="item"
|
|
@@ -53,10 +53,10 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1" :offset="4" style="padding-left: 30px">
|
|
<el-col :span="1" :offset="4" style="padding-left: 30px">
|
|
|
- <el-button type="primary">搜索</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" @click="handleSearch">搜索</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1" style="padding-left: 20px;margin-left:30px">
|
|
<el-col :span="1" style="padding-left: 20px;margin-left:30px">
|
|
|
- <el-button>重置</el-button>
|
|
|
|
|
|
|
+ <el-button @click="handleReset">重置</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
@@ -124,21 +124,35 @@
|
|
|
:data="models"
|
|
:data="models"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
height="100%"
|
|
height="100%"
|
|
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
>
|
|
>
|
|
|
<el-table-column type="selection"/>
|
|
<el-table-column type="selection"/>
|
|
|
- <el-table-column label="模型名称"></el-table-column>
|
|
|
|
|
- <el-table-column lable="模型类型"></el-table-column>
|
|
|
|
|
- <el-table-column label="模型版本"></el-table-column>
|
|
|
|
|
- <el-table-column label="参数配置"></el-table-column>
|
|
|
|
|
- <el-table-column label="状态"></el-table-column>
|
|
|
|
|
- <el-table-column label="优先级"></el-table-column>
|
|
|
|
|
- <el-table-column label="创建时间"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column label="模型名称" prop="modelName"></el-table-column>
|
|
|
|
|
+ <el-table-column lable="模型类型" prop="modelType"></el-table-column>
|
|
|
|
|
+ <el-table-column label="模型版本" prop="modelVersion"></el-table-column>
|
|
|
|
|
+ <el-table-column label="参数配置">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <span>{{scope.parameters.length}}个参数</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="状态">
|
|
|
|
|
+ <template #default>
|
|
|
|
|
+ <div v-if="scope.status === 1" class="status enabled">
|
|
|
|
|
+ 启用
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-else class="status testing">
|
|
|
|
|
+ 测试中
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="优先级" prop="priority"></el-table-column>
|
|
|
|
|
+ <el-table-column label="创建时间" prop="createTime"></el-table-column>
|
|
|
<el-table-column label="操作">
|
|
<el-table-column label="操作">
|
|
|
<template #default="slot">
|
|
<template #default="slot">
|
|
|
<el-icon color="#1890ff" size="25px" class="icon-gap"><View /></el-icon>
|
|
<el-icon color="#1890ff" size="25px" class="icon-gap"><View /></el-icon>
|
|
|
<el-icon color="#1890ff" size="25px" class="icon-gap" @click="edit(slot.$index,slot.row)"><Edit /></el-icon>
|
|
<el-icon color="#1890ff" size="25px" class="icon-gap" @click="edit(slot.$index,slot.row)"><Edit /></el-icon>
|
|
|
<el-icon color="#1890ff" size="25px" class="icon-gap"><List /></el-icon>
|
|
<el-icon color="#1890ff" size="25px" class="icon-gap"><List /></el-icon>
|
|
|
- <el-icon color="#ffa8e3" size="25px" class="icon-gap"><SwitchButton /></el-icon>
|
|
|
|
|
|
|
+ <el-icon :color="slot.status===0? '#b7eb8f' : '#ffa8e3'" size="25px" class="icon-gap" @click="toggleModelStatus(slot.row)"><SwitchButton /></el-icon>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
@@ -168,6 +182,8 @@
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
import addModel from './addModel.vue'
|
|
import addModel from './addModel.vue'
|
|
|
import { useRouter } from 'vue-router'
|
|
import { useRouter } from 'vue-router'
|
|
|
|
|
+import {onMounted} from 'vue';
|
|
|
|
|
+import {getModelByType,queryModelByNameType,deleteModel,queryModelList,toggleStatus} from '@/api/modelConfig/index'
|
|
|
|
|
|
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
|
const addOrEdit = ref("新增")
|
|
const addOrEdit = ref("新增")
|
|
@@ -177,17 +193,37 @@ const modelTypeOption = ref(["类型1","类型2"])
|
|
|
const modelStateOption = ref(["全部","开启","关闭"])
|
|
const modelStateOption = ref(["全部","开启","关闭"])
|
|
|
const models = ref([{}])
|
|
const models = ref([{}])
|
|
|
const pageSize = ref(10)
|
|
const pageSize = ref(10)
|
|
|
|
|
+const selectedRows = ref([])
|
|
|
|
|
|
|
|
const modelInfo = ref(null)
|
|
const modelInfo = ref(null)
|
|
|
|
|
|
|
|
const modelName = ref(null)
|
|
const modelName = ref(null)
|
|
|
const modelType = ref(null)
|
|
const modelType = ref(null)
|
|
|
const service = ref(null)
|
|
const service = ref(null)
|
|
|
-const modelState = ref(null)
|
|
|
|
|
|
|
+const modelStatus = ref(null)
|
|
|
const dialogVisible = ref(false)
|
|
const dialogVisible = ref(false)
|
|
|
//test enabled
|
|
//test enabled
|
|
|
const statusClass = ref('enabled')
|
|
const statusClass = ref('enabled')
|
|
|
|
|
|
|
|
|
|
+onMounted(()=>{
|
|
|
|
|
+ fetchData()
|
|
|
|
|
+})
|
|
|
|
|
+const fetchData = async() =>{
|
|
|
|
|
+ const res = await queryModelList({})
|
|
|
|
|
+ if(res.code===0){
|
|
|
|
|
+ models.value = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+const toggleModelStatus = async (row) =>{
|
|
|
|
|
+ const data = row.modelStatus === 0
|
|
|
|
|
+ const res = await toggleStatus(data,row.id)
|
|
|
|
|
+ if(res.code===0){
|
|
|
|
|
+ await fetchData()
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+const handleSelectionChange = (value)=>{
|
|
|
|
|
+ selectedRows.value = value
|
|
|
|
|
+}
|
|
|
const handleAddModel = ()=>{
|
|
const handleAddModel = ()=>{
|
|
|
addOrEdit.value="新增"
|
|
addOrEdit.value="新增"
|
|
|
dialogVisible.value = true;
|
|
dialogVisible.value = true;
|
|
@@ -201,6 +237,24 @@ const edit = ((index,row)=>{
|
|
|
addOrEdit.value = "编辑"
|
|
addOrEdit.value = "编辑"
|
|
|
dialogVisible.value=true
|
|
dialogVisible.value=true
|
|
|
})
|
|
})
|
|
|
|
|
+const handleSearch = async () => {
|
|
|
|
|
+ if(modelType.value&&modelName.value){
|
|
|
|
|
+ const data = {
|
|
|
|
|
+ modelName:modelName.value,
|
|
|
|
|
+ modelType:modelType.value
|
|
|
|
|
+ }
|
|
|
|
|
+ const res = await queryModelByNameType(data)
|
|
|
|
|
+ if(res.code===0){
|
|
|
|
|
+ models.value = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if(modelType.value){
|
|
|
|
|
+ const res = await getModelByType(modelType.value)
|
|
|
|
|
+ if(res.code===0){
|
|
|
|
|
+ models.value=[];
|
|
|
|
|
+ models.push(res.data)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|