Mr.Wang
5 months ago
1 changed files with 170 additions and 0 deletions
@ -0,0 +1,170 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> |
|||
<el-form-item label="接口名称" prop="interfaceName"> |
|||
<el-input |
|||
v-model="queryParams.interfaceName" |
|||
placeholder="请输入任务名称" |
|||
clearable |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="接口所属" prop="interfaceOwnership"> |
|||
<el-select v-model="queryParams.interfaceOwnership" placeholder="请选择接口所属" clearable> |
|||
<el-option |
|||
v-for="dict in dict.type.interface_ownership" |
|||
:key="dict.value" |
|||
:label="dict.label" |
|||
:value="dict.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="操作状态" prop="operationStatus"> |
|||
<el-select v-model="queryParams.operationStatus" placeholder="请选择操作状态" clearable> |
|||
<el-option |
|||
v-for="dict in dict.type.operation_status" |
|||
:key="dict.value" |
|||
:label="dict.label" |
|||
:value="dict.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
|
|||
<el-table :data="interfaceData"> |
|||
<el-table-column label="接口名称" align="center" prop="interfaceName"/> |
|||
<el-table-column label="接口所属" align="center" prop="interfaceOwnership"> |
|||
<template slot-scope="scope"> |
|||
<dict-tag :options="dict.type.interface_ownership" :value="scope.row.interfaceOwnership"/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作人" align="center" prop="operatorName"/> |
|||
<el-table-column label="操作状态" align="center" prop="operationStatus"> |
|||
<template slot-scope="scope"> |
|||
<dict-tag :options="dict.type.operation_status" :value="scope.row.operationStatus"/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作时间" align="center" prop="operationTime"/> |
|||
<el-table-column label="操作"> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
type="text" |
|||
@click="handleDetails(scope.row)">详情 |
|||
</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total>0" |
|||
:total="total" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
|
|||
|
|||
<el-dialog |
|||
title="结果详细" |
|||
:visible.sync="openView" |
|||
width="700px" |
|||
style="margin-top: 30px;margin-bottom: 30px;height: 750px" |
|||
append-to-body |
|||
@close="handleClose"> |
|||
<el-input |
|||
type="textarea" |
|||
readonly |
|||
autosize |
|||
v-model="interfaceResult"> |
|||
</el-input> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button @click="handleClose">关 闭</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import request from "@/utils/request"; |
|||
|
|||
export default { |
|||
components: {}, |
|||
name: "Interface", |
|||
dicts: ['operation_status', 'interface_ownership'], |
|||
data() { |
|||
return { |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 是否显示详细弹出层 |
|||
openView: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
interfaceOwnership: undefined, |
|||
interfaceName: undefined, |
|||
operationStatus: undefined |
|||
}, |
|||
interfaceData: [], |
|||
interfaceResult: undefined, |
|||
// 表单参数 |
|||
form: {}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询外部接口监测列表 */ |
|||
getList() { |
|||
request({ |
|||
url: `/externalInterface/list`, |
|||
method: "get", |
|||
params: this.queryParams, |
|||
}).then((result) => { |
|||
this.total = result.total |
|||
this.interfaceData = result.rows |
|||
}) |
|||
}, |
|||
/** 搜索 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList() |
|||
}, |
|||
/** 重置 */ |
|||
resetQuery() { |
|||
this.resetForm("queryForm"); |
|||
this.handleQuery(); |
|||
}, |
|||
/** 详情按钮 */ |
|||
handleDetails(row) { |
|||
this.openView = true |
|||
try { |
|||
// 尝试解析为JSON对象 |
|||
this.interfaceResult = JSON.stringify(JSON.parse(row.operationResult), null, 2) |
|||
} catch (error) { |
|||
// 解析失败,返回原始字符串 |
|||
this.interfaceResult = row.operationResult |
|||
} |
|||
|
|||
}, |
|||
/** 详情弹窗关闭 */ |
|||
handleClose() { |
|||
this.openView = false |
|||
this.interfaceResult = undefined |
|||
} |
|||
|
|||
} |
|||
}; |
|||
</script> |
Loading…
Reference in new issue