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-form ref="baseFormRef" :model="baseForm" :rules="baseRules" label-width="100px">
<el-row> <el-row>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="工具链名称" prop="tool_name"> <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-form-item>
</el-col> </el-col>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="厂商名称" prop="tool_type_name"> <el-form-item label="厂商名称" prop="manufacturer">
<el-input v-model="baseForm.tool_type_name" disabled placeholder="请输入厂商名称" /> <el-input
v-model="baseForm.manufacturer"
disabled
placeholder="请输入厂商名称"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="工具链类型" prop="cmpt_hardware_type"> <el-form-item label="工具链类型" prop="tool_type">
<el-input v-model="baseForm.cmpt_hardware_type" disabled placeholder="请输入工具链类型" /> <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-form-item>
</el-col> </el-col>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="ID编号" prop="tool_name"> <el-form-item label="ID编号" prop="user_id">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入ID编号" /> <el-input v-model="baseForm.user_id" disabled placeholder="请输入ID编号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="工具链版本" prop="tool_name"> <el-form-item label="工具链版本" prop="tool_version">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链版本" /> <el-input
v-model="baseForm.tool_version"
disabled
placeholder="请输入工具链版本"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="硬件类型" prop="tool_name"> <el-form-item label="硬件类型" prop="cmpt_hardware_type">
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入硬件类型" /> <el-input
v-model="baseForm.cmpt_hardware_type"
disabled
placeholder="请输入硬件类型"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :lg="12" :xs="12"> <el-col :lg="12" :xs="12">
<el-form-item label="工具链描述" prop="tool_desc"> <el-form-item label="工具链描述" prop="tool_desc">
<el-input <el-input
v-model="baseForm.tool_desc" v-model="baseForm.tool_desc"
:rows="2" :rows="2"
@ -56,16 +83,18 @@
placeholder="请输入工具链描述" placeholder="请输入工具链描述"
/> />
</el-form-item> </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>
<el-col :lg="12" :xs="12"></el-col>
</el-row> </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"> <el-card v-loading="loading">
<template #header <template #header
><svg-icon ><svg-icon
@ -73,66 +102,45 @@
style="width: 20px; height: 20px" style="width: 20px; height: 20px"
/></template /></template
> >
<el-form ref="formRef" :model="baseForm" :rules="rules" label-width="100px"> <el-table :data="pageData" style="width: 100%" stripe v-loading="queryLoading">
<el-table-column prop="params_name" label="运行参数名称" align="left" />
<el-row> <el-table-column prop="params_desc" label="运行参数描述" align="left" />
<el-col :lg="12" :xs="12"> <el-table-column prop="params_desc1" label="匹配模型网络名称" align="left" />
<el-form-item label="工具链名称" prop="tool_name"> <el-table-column prop="user_name" label="创建用户" align="left" />
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链名称" /> <el-table-column prop="create_time" label="创建时间" align="left" />
</el-form-item> <el-table-column label="操作" fixed="right" align="center">
</el-col> <template #default="scope">
<el-col :lg="12" :xs="12"> <el-button text type="primary" size="small" @click="handleDetail(scope.row)"
<el-form-item label="厂商名称" prop="tool_name"> ><i-ep-view />查看</el-button
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入厂商名称" /> >
</el-form-item> <el-button text type="primary" size="small" @click="handleDelete(scope.row)"
</el-col> ><i-ep-delete />删除</el-button
</el-row> >
<el-row> </template>
<el-col :lg="12" :xs="12"> </el-table-column>
<el-form-item label="工具链类型" prop="tool_name"> </el-table>
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入工具链类型" /> <pagination
</el-form-item> v-if="total > 0"
</el-col> v-model:total="total"
<el-col :lg="12" :xs="12"> v-model:page="queryParams.page_num"
<el-form-item label="ID编号" prop="tool_name"> v-model:limit="queryParams.page_size"
<el-input v-model="baseForm.tool_name" disabled placeholder="请输入ID编号" /> @pagination="handleQuery"
</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-card> </el-card>
<el-card class="card-footer"> <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-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 ref="formRef" :model="form" :rules="rules" label-width="108px">
<el-form-item label="运行参数名称" prop="params_name"> <el-form-item label="运行参数名称" prop="params_name">
<el-input v-model="form.params_name" placeholder="请输入运行参数名称" /> <el-input v-model="form.params_name" placeholder="请输入运行参数名称" />
</el-form-item>
<el-form-item label="运行参数描述" prop="params_desc"> <el-form-item label="运行参数描述" prop="params_desc">
<el-input <el-input
v-model="form.params_desc" v-model="form.params_desc"
@ -143,44 +151,79 @@
</el-form-item> </el-form-item>
<el-form-item label="运行参数文件" prop="params_content"> <el-form-item label="运行参数文件" prop="params_content">
<el-upload <el-upload
ref="uploadRef" ref="uploadRef"
class="upload-demo" class="upload-demo"
:on-change="handleFileChange" :on-change="handleFileChange"
:on-remove="handleFileRemove" :on-remove="handleFileRemove"
:on-exceed="handleFileExceed" :on-exceed="handleFileExceed"
:auto-upload="false" :auto-upload="false"
:limit="1" :limit="1"
accept="application/json" accept="application/json"
> >
<el-button type="primary" <el-button type="primary"
><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon ><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon
>选择文件</el-button >选择文件</el-button
> >
<template #tip> <template #tip>
<div class="el-upload__tip"> <div class="el-upload__tip">
请上传大小不超过 <strong style="color: red">10M</strong>格式为 请上传大小不超过 <strong style="color: red">10M</strong>格式为
<strong style="color: red">json</strong> 的文件 <strong style="color: red">json</strong> 的文件
</div> </div>
</template> </template>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item v-if="fileStatus"> <el-form-item v-if="fileStatus">
<el-input <el-input
v-model="form.params_content_v2" v-model="form.params_content_v2"
:rows="10" :rows="10"
type="textarea" type="textarea"
disabled
/> />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="dialogFormVisible = false"><i-ep-close />取消</el-button> <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 />确认 <i-ep-check />确认
</el-button> </el-button>
</div> </div>
</template> </template>
</el-dialog> </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> </div>
</template> </template>
@ -190,8 +233,18 @@ import ToolChainshApi from "@/api/tool";
const route = useRoute(); const route = useRoute();
const router = useRouter(); 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 baseFormRef = ref(ElForm); //
const loading = ref(false); // 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(() => { const handleSubmit = useThrottleFn(() => {
formRef.value.validate((valid: any) => { baseFormRef.value.validate((valid: any) => {
if (valid) { if (valid) {
ElMessage.success("保存成功"); loading.value = true;
//formLoading.value = true; ToolChainshApi.editTool(baseForm.tool_id,baseForm)
// ToolChainshApi.editTool(form.tool_id,form) .then((res) => {
// .then((res) => { if (res.data.code == 0) {
// if (res.data.code == 0) { ElMessage.success("修改成功");
// ElMessage.success(""); closeBack();
// handleQuery(); }
// } })
// }) .finally(() => {
// .finally(() => { loading.value = false;
// dialogFormVisible.value = false; });
// formLoading.value = false;
// });
} }
}); });
}, 3000); }, 3000);
/** 添加运行参数 */ /** 添加运行参数 */
function handlePushParams(){ function handlePushParams() {
form.value = {}; form.value = {};
dialogFormVisible.value = true; dialogFormVisible.value = true;
} }
@ -333,21 +389,65 @@ function handleFileExceed() {
/** 返回默认页面 */ /** 返回默认页面 */
function closeBack() { 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(){ function initData() {
let id=route.query.id; let id = route.query.id;
ID.value = id;
loading.value = true; loading.value = true;
OperatorApi.toolChains(id) ToolChainshApi.toolChains(id)
.then((res) => { .then((res) => {
//JSON baseForm.value = res.data.data;
baseForm = res.data.data;
}) })
.finally(() => { .finally(() => {
loading.value = false; 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(() => { onMounted(() => {