Compare commits

...

2 Commits

Author SHA1 Message Date
姜玉琦 36bda7c75b Merge branch 'main' of http://62.234.3.186:3000/sxyanzhu/AIManage 2024-07-14 23:35:33 +08:00
姜玉琦 582692cd61 提交代码 2024-07-14 23:35:25 +08:00
2 changed files with 310 additions and 137 deletions

View File

@ -0,0 +1,73 @@
import request from "@/utils/request";
//获取参数列表
const paramsList=(data)=>{
return request({
url: `/tool_chains/params`,
method: "get",
params:data
});
}
//新增第三方工具链信息
const addTool=(data)=>{
return request({
url: `/tool_chains`,
method: "post",
data:data
});
}
//获取第三方工具链的详细参数
const paramsInfo=(id)=>{
return request({
url: `/tool_chains/params/${id}`,
method: "get"
});
}
//获取第三方工具链的工作状态列表
const toolStatusList=(data)=>{
return request({
url: `/tool_chains/status`,
method: "get",
params:data
});
}
//获取未注册第三方工具链列表
const unregistedList=()=>{
return request({
url: `/tool_chains/unregisted`,
method: "get"
});
}
//删除工具链
const deleteTool=(id)=>{
return request({
url: `/tool_chains/${id}`,
method: "delete"
});
}
//获取第三方工具链的工作状态列表
const toolChains=(id)=>{
return request({
url: `/tool_chains/${id}`,
method: "get"
});
}
//修改工具链信息
const editTool=(id,data)=>{
return request({
url: `/tool_chains/${id}`,
method: "put",
data:data
});
}
export default {
paramsList,
addTool,
paramsInfo,
toolStatusList,
unregistedList,
deleteTool,
toolChains,
editTool
}

View File

@ -11,44 +11,71 @@
>
<el-form ref="baseFormRef" :model="baseForm" :rules="baseRules" label-width="100px">
<el-row>
<el-col :lg="12" :xs="12">
<el-col :lg="12" :xs="12">
<el-form-item label="工具链名称" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链名称" />
<el-input
v-model="baseForm.tool_name"
placeholder="请输入工具链名称"
/>
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="厂商名称" prop="tool_type_name">
<el-input v-model="baseForm.tool_type_name" disabled placeholder="请输入厂商名称" />
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="厂商名称" prop="manufacturer">
<el-input
v-model="baseForm.manufacturer"
disabled
placeholder="请输入厂商名称"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链类型" prop="cmpt_hardware_type">
<el-input v-model="baseForm.cmpt_hardware_type" disabled placeholder="请输入工具链类型" />
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链类型" prop="tool_type">
<el-select
v-model="baseForm.tool_type"
disabled
placeholder="请选择工具链类型"
style="width: 100%"
>
<el-option
v-for="item in listOpt.typeList"
:key="item.type"
:label="item.name"
:value="item.type"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="ID编号" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入ID编号" />
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="ID编号" prop="user_id">
<el-input v-model="baseForm.user_id" disabled placeholder="请输入ID编号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链版本" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链版本" />
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链版本" prop="tool_version">
<el-input
v-model="baseForm.tool_version"
disabled
placeholder="请输入工具链版本"
/>
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="硬件类型" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入硬件类型" />
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="硬件类型" prop="cmpt_hardware_type">
<el-input
v-model="baseForm.cmpt_hardware_type"
disabled
placeholder="请输入硬件类型"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链描述" prop="tool_desc">
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链描述" prop="tool_desc">
<el-input
v-model="baseForm.tool_desc"
:rows="2"
@ -56,16 +83,18 @@
placeholder="请输入工具链描述"
/>
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12"></el-col>
</el-row>
</el-form>
</el-card>
<el-row style="padding: 10px 15px;">
<el-col :lg="24" :xs="24">
<el-button type="primary" @click="handlePushParams"><i-ep-plus />添加运行参数</el-button>
</el-col>
<el-col :lg="12" :xs="12"></el-col>
</el-row>
</el-form>
</el-card>
<el-row style="padding: 10px 15px">
<el-col :lg="24" :xs="24">
<el-button type="primary" @click="handlePushParams"
><i-ep-plus />添加运行参数</el-button
>
</el-col>
</el-row>
<el-card v-loading="loading">
<template #header
><svg-icon
@ -73,66 +102,45 @@
style="width: 20px; height: 20px"
/></template
>
<el-form ref="formRef" :model="baseForm" :rules="rules" label-width="100px">
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链名称" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链名称" />
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="厂商名称" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入厂商名称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链类型" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链类型" />
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="ID编号" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入ID编号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链版本" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链版本" />
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12">
<el-form-item label="硬件类型" prop="tool_name">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入硬件类型" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :lg="12" :xs="12">
<el-form-item label="工具链描述" prop="tool_desc">
<el-input
v-model="baseForm.tool_desc"
:rows="2"
type="textarea"
placeholder="请输入工具链描述"
/>
</el-form-item>
</el-col>
<el-col :lg="12" :xs="12"></el-col>
</el-row>
</el-form>
<el-table :data="pageData" style="width: 100%" stripe v-loading="queryLoading">
<el-table-column prop="params_name" label="运行参数名称" align="left" />
<el-table-column prop="params_desc" label="运行参数描述" align="left" />
<el-table-column prop="params_desc1" label="匹配模型网络名称" align="left" />
<el-table-column prop="user_name" label="创建用户" align="left" />
<el-table-column prop="create_time" label="创建时间" align="left" />
<el-table-column label="操作" fixed="right" align="center">
<template #default="scope">
<el-button text type="primary" size="small" @click="handleDetail(scope.row)"
><i-ep-view />查看</el-button
>
<el-button text type="primary" size="small" @click="handleDelete(scope.row)"
><i-ep-delete />删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryParams.page_num"
v-model:limit="queryParams.page_size"
@pagination="handleQuery"
/>
</el-card>
<el-card class="card-footer">
<el-button @click="closeBack"><i-ep-close /> </el-button>
<el-button type="primary" @click="handleSubmit"><i-ep-check /> </el-button>
<el-button @click="closeBack"><i-ep-close /> </el-button>
</el-card>
<el-dialog v-model="dialogFormVisible" title="添加工具链运行参数" width="880" v-loading="formLoading">
<el-dialog
v-model="dialogFormVisible"
title="添加工具链运行参数"
width="880"
v-loading="formLoading"
>
<el-form ref="formRef" :model="form" :rules="rules" label-width="108px">
<el-form-item label="运行参数名称" prop="params_name">
<el-input v-model="form.params_name" placeholder="请输入运行参数名称" />
</el-form-item>
<el-form-item label="运行参数描述" prop="params_desc">
<el-input
v-model="form.params_desc"
@ -143,44 +151,79 @@
</el-form-item>
<el-form-item label="运行参数文件" prop="params_content">
<el-upload
ref="uploadRef"
class="upload-demo"
:on-change="handleFileChange"
:on-remove="handleFileRemove"
:on-exceed="handleFileExceed"
:auto-upload="false"
:limit="1"
accept="application/json"
>
<el-button type="primary"
><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon
>选择文件</el-button
>
<template #tip>
<div class="el-upload__tip">
请上传大小不超过 <strong style="color: red">10M</strong>格式为
<strong style="color: red">json</strong> 的文件
</div>
</template>
</el-upload>
ref="uploadRef"
class="upload-demo"
:on-change="handleFileChange"
:on-remove="handleFileRemove"
:on-exceed="handleFileExceed"
:auto-upload="false"
:limit="1"
accept="application/json"
>
<el-button type="primary"
><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon
>选择文件</el-button
>
<template #tip>
<div class="el-upload__tip">
请上传大小不超过 <strong style="color: red">10M</strong>格式为
<strong style="color: red">json</strong> 的文件
</div>
</template>
</el-upload>
</el-form-item>
<el-form-item v-if="fileStatus">
<el-input
v-model="form.params_content_v2"
:rows="10"
type="textarea"
disabled
/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogFormVisible = false"><i-ep-close />取消</el-button>
<el-button type="primary" @click="handleSubmitFile">
<el-button type="primary" @click="handleSubmit">
<i-ep-check />确认
</el-button>
</div>
</template>
</el-dialog>
<el-dialog
v-model="dialogInfoVisible"
title="查看工具链运行参数"
width="880"
v-loading="infoLoading"
>
<el-form label-width="108px">
<el-form-item label="运行参数名称">
<el-input v-model="dataInfo.params_name" disabled placeholder="请输入运行参数名称" />
</el-form-item>
<el-form-item label="运行参数描述">
<el-input
v-model="dataInfo.params_desc"
:rows="3"
type="textarea"
disabled
placeholder="请输入运行参数描述"
/>
</el-form-item>
<el-form-item label="运行参数文件" prop="params_content">
<el-input
v-model="form.params_content_v2"
:rows="10"
type="textarea"
disabled
/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogInfoVisible = false"><i-ep-close />取消</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
@ -190,8 +233,18 @@ import ToolChainshApi from "@/api/tool";
const route = useRoute();
const router = useRouter();
const ID = ref(""); //
const queryLoading = ref(false); //
const total = ref(0); //
const pageData = ref([]); //
const queryParams = reactive({
page_num: 1,
page_size: 10,
tool_id: null,
});
//
const baseForm = reactive({});
const baseForm = ref({});
const baseFormRef = ref(ElForm); //
const loading = ref(false); //
//
@ -235,29 +288,32 @@ let listOpt = reactive({
],
});
//
const dataInfo = ref({});
const infoLoading = ref(false); //
const dialogInfoVisible = ref(false); //
/** 表单提交 */
const handleSubmitFile = useThrottleFn(() => {
formRef.value.validate((valid: any) => {
const handleSubmit = useThrottleFn(() => {
baseFormRef.value.validate((valid: any) => {
if (valid) {
ElMessage.success("保存成功");
//formLoading.value = true;
// ToolChainshApi.editTool(form.tool_id,form)
// .then((res) => {
// if (res.data.code == 0) {
// ElMessage.success("");
// handleQuery();
// }
// })
// .finally(() => {
// dialogFormVisible.value = false;
// formLoading.value = false;
// });
loading.value = true;
ToolChainshApi.editTool(baseForm.tool_id,baseForm)
.then((res) => {
if (res.data.code == 0) {
ElMessage.success("修改成功");
closeBack();
}
})
.finally(() => {
loading.value = false;
});
}
});
}, 3000);
/** 添加运行参数 */
function handlePushParams(){
function handlePushParams() {
form.value = {};
dialogFormVisible.value = true;
}
@ -333,21 +389,65 @@ function handleFileExceed() {
/** 返回默认页面 */
function closeBack() {
router.push({ path: "/tester/otherTool" });
router.push({ path: "/tester/otherTool" });
}
/** 查看运行参数详情 */
function handleDetail(row: { [key: string]: any }) {
infoLoading.value = true;
ToolChainshApi.paramsInfo(row.params_id)
.then((res) => {
//JSON
res.data.data.params_content_v2 = JSON.stringify(res.data.data.params_content);
dataInfo.value = res.data.data;
dialogInfoVisible.value = true;
})
.finally(() => {
infoLoading.value = false;
});
}
/** 删除运行参数数据 */
function handleDelete(row: { [key: string]: any }) {
ElMessageBox.confirm("确认删除运行参数信息?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(function () {
ToolChainshApi.deleteTool(row.tool_id).then((res) => {
ElMessage.error("缺少接口");
handleQuery();
});
});
}
/** 初始化数据 */
function initData(){
let id=route.query.id;
function initData() {
let id = route.query.id;
ID.value = id;
loading.value = true;
OperatorApi.toolChains(id)
ToolChainshApi.toolChains(id)
.then((res) => {
//JSON
baseForm = res.data.data;
baseForm.value = res.data.data;
})
.finally(() => {
loading.value = false;
});
handleQuery();
}
/** 查询运行参数列表 */
function handleQuery() {
queryLoading.value = true;
queryParams.tool_id = ID;
ToolChainshApi.paramsList(queryParams)
.then((res) => {
pageData.value = res.data.data.ParamsList;
total.value = res.data.data.total;
})
.finally(() => {
queryLoading.value = false;
});
}
onMounted(() => {