|
@@ -3,8 +3,27 @@
|
|
|
<el-card shadow="hover">
|
|
|
<div class="search">
|
|
|
<el-form :inline="true">
|
|
|
+ <el-form-item label="接口名称">
|
|
|
+ <el-input v-model="params.name" placeholder="请输入接口名称" clearablestyle="width: 240px" @keyup.enter.native="getList(1)" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="接口地址">
|
|
|
+ <el-input v-model="params.address" placeholder="请输入接口地址" clearablestyle="width: 240px" @keyup.enter.native="getList(1)" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="状态" prop="status" style="width: 200px;">
|
|
|
+ <el-select v-model="params.status" placeholder="接口状态" clearablestyle="width: 240px">
|
|
|
+ <el-option label="全部" :value="-1" />
|
|
|
+ <el-option label="启用" :value="1" />
|
|
|
+ <el-option label="禁用" :value="0" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button size="default" type="success" class="mr-3" @click="addOrEdit()">
|
|
|
+ <el-button size="default" type="primary" class="ml10" @click="getList(1)">
|
|
|
+ <el-icon>
|
|
|
+ <ele-Search />
|
|
|
+ </el-icon>
|
|
|
+ 查询
|
|
|
+ </el-button>
|
|
|
+ <el-button type="success" @click="addOrEdit()">
|
|
|
<el-icon>
|
|
|
<ele-FolderAdd />
|
|
|
</el-icon>
|
|
@@ -19,8 +38,8 @@
|
|
|
<el-table-column prop="address" label="接口地址" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column prop="status" label="状态" min-width="100" align="center">
|
|
|
<template #default="scope">
|
|
|
- <el-switch v-model="scope.row.status" inline-prompt :active-value="1" :inactive-value="0" active-text="启" inactive-text="禁" @change="handleStatusChange(scope.row)">
|
|
|
- </el-switch>
|
|
|
+ <el-tag type="success" size="small" v-if="scope.row.status">启用</el-tag>
|
|
|
+ <el-tag type="info" size="small" v-else>禁用</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" width="100" align="center">
|
|
@@ -30,8 +49,9 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
+ <pagination v-if="params.total" :total="params.total" v-model:page="params.pageNum" v-model:limit="params.pageSize" @pagination="getList()" />
|
|
|
</el-card>
|
|
|
- <EditForm ref="editFormRef" @getList="getList"></EditForm>
|
|
|
+ <EditForm ref="editFormRef" @getList="getList()"></EditForm>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -41,24 +61,33 @@ import EditForm from './component/edit.vue';
|
|
|
import { ApiRow } from '/@/api/model/system/menu';
|
|
|
import api from '/@/api/system';
|
|
|
import { ElMessageBox, ElMessage } from 'element-plus';
|
|
|
+import { useSearch } from '/@/hooks/useCommon';
|
|
|
|
|
|
-const tableData = ref<ApiRow[]>([]);
|
|
|
const editFormRef = ref();
|
|
|
+const { params, tableData } = useSearch<ApiRow[]>({ name: '', address: '' });
|
|
|
|
|
|
-const getList = async () => {
|
|
|
+const getList = async (pageNum?: number) => {
|
|
|
+ pageNum && (params.pageNum = pageNum);
|
|
|
tableData.value = [];
|
|
|
- let res = await api.api.getList();
|
|
|
- tableData.value = res || [];
|
|
|
+ let res = await api.api.getList(params);
|
|
|
+ tableData.value = res.Info || [];
|
|
|
+ params.total = res.total;
|
|
|
};
|
|
|
|
|
|
getList();
|
|
|
|
|
|
-const addOrEdit = (row?: ApiRow) => {
|
|
|
- editFormRef.value.open(row);
|
|
|
+const addOrEdit = async (row?: ApiRow) => {
|
|
|
+ if (row) {
|
|
|
+ let res = await api.api.detail(row.id as number).then();
|
|
|
+ editFormRef.value.open(res);
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ editFormRef.value.open();
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const onDel = (row: ApiRow) => {
|
|
|
- ElMessageBox.confirm(`此操作将删除按钮:“${row.name}”,是否继续?`, '提示', {
|
|
|
+ ElMessageBox.confirm(`此操作将删除接口:“${row.name}”,是否继续?`, '提示', {
|
|
|
confirmButtonText: '确认',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning',
|