diff --git a/src/api/tool/index.js b/src/api/tool/index.js new file mode 100644 index 0000000..d10497c --- /dev/null +++ b/src/api/tool/index.js @@ -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 +} \ No newline at end of file diff --git a/src/views/manage/otherTool/view.vue b/src/views/manage/otherTool/view.vue index e9bdff6..cfd0f11 100644 --- a/src/views/manage/otherTool/view.vue +++ b/src/views/manage/otherTool/view.vue @@ -11,44 +11,71 @@ > - + - + - - - - + + + + - - - - - - + + + + + + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - 添加运行参数 + + + + + + 添加运行参数 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - 取 消 + 确 定 + 取 消 - + + - 选择文件 - - + ref="uploadRef" + class="upload-demo" + :on-change="handleFileChange" + :on-remove="handleFileRemove" + :on-exceed="handleFileExceed" + :auto-upload="false" + :limit="1" + accept="application/json" + > + 选择文件 + + + + + + + + + + + + + + + + @@ -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(() => {