apimanager add routelist
This commit is contained in:
@@ -1,128 +1,71 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<el-input
|
||||
v-model="queryParam.env_name"
|
||||
placeholder="环境名称"
|
||||
clearable
|
||||
class="filter-item form-search-input"
|
||||
/>
|
||||
<el-button
|
||||
class="filter-item search"
|
||||
icon="el-icon-search"
|
||||
@click="handleSearch"
|
||||
>
|
||||
<el-input v-model="queryParam.env_name" placeholder="环境名称" clearable class="filter-item form-search-input" />
|
||||
<el-button class="filter-item search" icon="el-icon-search" @click="handleSearch">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button
|
||||
class="filter-item"
|
||||
icon="el-icon-refresh"
|
||||
@click="handleRefresh"
|
||||
>
|
||||
<el-button class="filter-item" icon="el-icon-refresh" @click="handleRefresh">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button
|
||||
class="filter-item fr"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="handleCreateEnv"
|
||||
>
|
||||
<el-button class="filter-item fr" type="primary" icon="el-icon-plus" @click="handleCreateEnv">
|
||||
新增
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
fit
|
||||
@selection-change="handleSelectMulti"
|
||||
>
|
||||
<el-table ref="multipleTable" :data="data" tooltip-effect="dark" style="width: 100%" border fit @selection-change="handleSelectMulti">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="env_name" label="环境名称" />
|
||||
<el-table-column prop="selected" label="当前环境" />
|
||||
<el-table-column prop="env_name" label="环境名称" />
|
||||
<el-table-column prop="selected" label="当前环境" />
|
||||
<el-table-column prop="creator" label="创建人" />
|
||||
<el-table-column prop="created_at" label="创建时间" />
|
||||
<el-table-column prop="updated_at" label="更新时间" />
|
||||
<el-table-column label="操作" fixed="right" width="300">
|
||||
<template slot-scope="module">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh"
|
||||
@click="selectAPIenv(module.row.id)"
|
||||
>切换</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(module.row)"
|
||||
/>
|
||||
<el-button
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(module.row.id)"
|
||||
/>
|
||||
<el-button type="primary" icon="el-icon-refresh" @click="selectAPIenv(module.row.id)" >切换</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit" @click="handleUpdate(module.row)" />
|
||||
<el-button type="danger" icon="el-icon-delete" @click="handleDelete(module.row.id)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="paginate.current"
|
||||
hide-on-single-page
|
||||
:page-sizes="paginate.sizes"
|
||||
:page-size="paginate.limit"
|
||||
:layout="paginate.layout"
|
||||
:total="paginate.total"
|
||||
/>
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="paginate.current"
|
||||
hide-on-single-page
|
||||
:page-sizes="paginate.sizes"
|
||||
:page-size="paginate.limit"
|
||||
:layout="paginate.layout"
|
||||
:total="paginate.total"/>
|
||||
<!----------------------------------- 编辑 ---------------------------------------------->
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:title="title"
|
||||
:visible.sync="formVisible"
|
||||
@close="handleCancel"
|
||||
>
|
||||
<el-form
|
||||
label-position="top"
|
||||
:ref="formName"
|
||||
:model="formFieldsData"
|
||||
:rules="rules"
|
||||
>
|
||||
<el-form-item
|
||||
label="env_name"
|
||||
:label-width="formLabelWidth"
|
||||
prop="env_name"
|
||||
>
|
||||
<el-input
|
||||
v-model="formFieldsData.env_name"
|
||||
placeholder="请输入环境名称"
|
||||
autocomplete="off"
|
||||
clearable
|
||||
/>
|
||||
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="formVisible" @close="handleCancel">
|
||||
<el-form label-position="top" :ref="formName" :model="formFieldsData" :rules="rules">
|
||||
<el-form-item label="env_name" :label-width="formLabelWidth" prop="env_name">
|
||||
<el-input v-model="formFieldsData.env_name" placeholder="请输入环境名称" autocomplete="off" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="env_json"
|
||||
:label-width="formLabelWidth"
|
||||
prop="env_json"
|
||||
>
|
||||
<!-- <el-form-item label="appid" :label-width="formLabelWidth" prop="appid">
|
||||
<el-input v-model="formFieldsData.appid" placeholder="请输入appid" autocomplete="off" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="project_id" :label-width="formLabelWidth" prop="project_id">
|
||||
<el-input v-model="formFieldsData.project_id" placeholder="请输入project_id" autocomplete="off" clearable />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="env_json" :label-width="formLabelWidth" prop="env_json">
|
||||
<avue-crud
|
||||
ref="crudJSON"
|
||||
:option="tableOption"
|
||||
:data="jsonTableData"
|
||||
@row-update="addUpdateJSON"
|
||||
@row-del="rowDelJSON"
|
||||
@row-save="rowSaveJSON"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="menu">
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="rowCellJSON(row, index)"
|
||||
>{{ row.$cellEdit ? "自定义保存" : "自定义修改" }}</el-button
|
||||
>
|
||||
</template>
|
||||
ref="crudJSON"
|
||||
:option="tableOption"
|
||||
:data="jsonTableData"
|
||||
@row-update="addUpdateJSON"
|
||||
@row-del="rowDelJSON"
|
||||
@row-save="rowSaveJSON"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="menu">
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="rowCellJSON(row, index)"
|
||||
>{{ row.$cellEdit ? "自定义保存" : "自定义修改" }}</el-button
|
||||
>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -134,137 +77,141 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import formOperate from "@/layout/mixin/formOperate";
|
||||
export default {
|
||||
name: "apimanager_apienv",
|
||||
mixins: [formOperate],
|
||||
data() {
|
||||
return {
|
||||
formName: "apiEnv",
|
||||
formLabelWidth: "120px",
|
||||
// 刷新路由
|
||||
refreshRoute: true,
|
||||
// 用户搜索
|
||||
queryParam: {
|
||||
env_name: ""
|
||||
},
|
||||
formVisible: false,
|
||||
formFieldsData: {
|
||||
env_name: "",
|
||||
env_json: ""
|
||||
},
|
||||
url: "apiTesterUserenv",
|
||||
// 表单验证
|
||||
rules: {
|
||||
env_name: [{ required: true, message: "请输入环境名称" }],
|
||||
env_json: [{ required: true, message: "请输入环境变量" }]
|
||||
},
|
||||
jsonTableData: [],
|
||||
tableOption: {
|
||||
refreshBtn: false,
|
||||
addBtn: false,
|
||||
editBtn: false,
|
||||
addRowBtn: true,
|
||||
cancelBtn: false,
|
||||
border: true,
|
||||
columnBtn: false,
|
||||
column: [
|
||||
{
|
||||
label: "Key",
|
||||
prop: "key",
|
||||
cell: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "Key值示例:{{KeyName}}",
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: "Value",
|
||||
prop: "value",
|
||||
cell: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入Value值",
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
import formOperate from '@/layout/mixin/formOperate'
|
||||
import { parseTime } from '@/utils'
|
||||
export default {
|
||||
name:'apimanager_apienv',
|
||||
mixins: [formOperate],
|
||||
data() {
|
||||
return {
|
||||
formName: 'apiEnv',
|
||||
formLabelWidth: '120px',
|
||||
// 刷新路由
|
||||
refreshRoute: true,
|
||||
// 用户搜索
|
||||
queryParam: {
|
||||
env_name: '',
|
||||
},
|
||||
formVisible: false,
|
||||
formFieldsData: {
|
||||
env_name: '',
|
||||
env_json: ''
|
||||
},
|
||||
url: 'apiTesterUserenv',
|
||||
// 表单验证
|
||||
rules: {
|
||||
env_name: [
|
||||
{ required: true, message: '请输入环境名称' }
|
||||
],
|
||||
env_json: [
|
||||
{ required: true, message: '请输入环境变量' }
|
||||
]
|
||||
},
|
||||
jsonTableData:[],
|
||||
tableOption: {
|
||||
refreshBtn:false,
|
||||
addBtn: false,
|
||||
editBtn: false,
|
||||
addRowBtn: true,
|
||||
cancelBtn: false,
|
||||
border: true,
|
||||
column: [
|
||||
{
|
||||
label: "Key",
|
||||
prop: "key",
|
||||
cell: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "Key值示例:{{KeyName}}",
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: "Value",
|
||||
prop: "value",
|
||||
cell: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入Value值",
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
formFieldsData: {
|
||||
deep: true,
|
||||
handler(data) {
|
||||
if (data.env_json) {
|
||||
let obj = this.JsonToObject(data.env_json);
|
||||
let arr = Object.entries(obj).map(item => {
|
||||
},
|
||||
watch:{
|
||||
formFieldsData:{
|
||||
deep:true,
|
||||
handler(data){
|
||||
if(data.env_json){
|
||||
let obj = this.JsonToObject(data.env_json)
|
||||
let arr = Object.entries(obj).map(item => {
|
||||
return { key: item[0], value: item[1], $cellEdit: false };
|
||||
});
|
||||
this.jsonTableData = arr;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleCreateEnv() {
|
||||
this.jsonTableData = [];
|
||||
this.handleCreate();
|
||||
},
|
||||
selectAPIenv(id) {
|
||||
this.$http.get("apiTesterUserenv/selectAPIenv/" + id).then(response => {
|
||||
this.$message.success(response.message);
|
||||
this.handleRefresh();
|
||||
});
|
||||
},
|
||||
// ↓ 处理 ApiBaseInfo Json数据格式 返回 Object 格式 ↓
|
||||
JsonToObject(json) {
|
||||
if (json) {
|
||||
let flag = /\'/.test(json);
|
||||
if (flag) {
|
||||
return JSON.parse(json.replace(/\'/gi, '"'));
|
||||
methods: {
|
||||
handleCreateEnv(){
|
||||
this.jsonTableData = []
|
||||
this.handleCreate()
|
||||
},
|
||||
selectAPIenv(id) {
|
||||
this.$http.get( 'apiTesterUserenv/selectAPIenv/' + id).then(response => {
|
||||
this.$message.success(response.message)
|
||||
this.handleRefresh()
|
||||
})
|
||||
},
|
||||
// ↓ 处理 ApiBaseInfo Json数据格式 返回 Object 格式 ↓
|
||||
JsonToObject(json) {
|
||||
if (json) {
|
||||
let flag = /\'/.test(json);
|
||||
if (flag) {
|
||||
return JSON.parse(json.replace(/\'/gi, '"'));
|
||||
} else {
|
||||
return JSON.parse(json);
|
||||
}
|
||||
} else {
|
||||
return JSON.parse(json);
|
||||
return null;
|
||||
}
|
||||
},
|
||||
// ↓ JSON 表格 行编辑 ↓
|
||||
rowCellJSON(row, index) {
|
||||
this.$refs.crudJSON.rowCell(row, index);
|
||||
},
|
||||
// ↓ JSON 表格 编辑行数据 ↓
|
||||
addUpdateJSON(form, index, done, loading) {
|
||||
loading();
|
||||
done();
|
||||
},
|
||||
// ↓ JSON 表格 保存行数据 ↓
|
||||
rowSaveJSON(form, done) {
|
||||
done();
|
||||
this.formFieldsData.env_json = this.handlerJson(this.jsonTableData);
|
||||
},
|
||||
// ↓ JSON 表格 删除行数据 ↓
|
||||
rowDelJSON(form, index, done) {
|
||||
this.jsonTableData.splice(index, 1);
|
||||
this.formFieldsData.env_json = this.handlerJson(this.jsonTableData);
|
||||
},
|
||||
handlerJson(arrData){
|
||||
let cache = {};
|
||||
arrData.forEach(item => {
|
||||
cache[item.key] = item.value;
|
||||
});
|
||||
if(Object.keys(cache).length){
|
||||
return JSON.stringify(cache);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
// ↓ JSON 表格 行编辑 ↓
|
||||
rowCellJSON(row, index) {
|
||||
this.$refs.crudJSON.rowCell(row, index);
|
||||
},
|
||||
// ↓ JSON 表格 编辑行数据 ↓
|
||||
addUpdateJSON(form, index, done, loading) {
|
||||
loading();
|
||||
done();
|
||||
},
|
||||
// ↓ JSON 表格 保存行数据 ↓
|
||||
rowSaveJSON(form, done) {
|
||||
done();
|
||||
this.formFieldsData.env_json = this.handlerJson(this.jsonTableData);
|
||||
},
|
||||
// ↓ JSON 表格 删除行数据 ↓
|
||||
rowDelJSON(form, index, done) {
|
||||
this.jsonTableData.splice(index, 1);
|
||||
this.formFieldsData.env_json = this.handlerJson(this.jsonTableData);
|
||||
},
|
||||
handlerJson(arrData) {
|
||||
let cache = {};
|
||||
arrData.forEach(item => {
|
||||
cache[item.key] = item.value;
|
||||
});
|
||||
if (Object.keys(cache).length) {
|
||||
return JSON.stringify(cache);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@@ -329,11 +329,11 @@ export default {
|
||||
this.apiBaseInfo = response.data;
|
||||
this.apiBaseInfo.body = this.apiBaseInfo.body.replace(/'/g, '"');
|
||||
if (this.apiBaseInfo.body) {
|
||||
let resstr = this.apiBaseInfo.body
|
||||
.replace(/\\/g, "")
|
||||
.replace(/"{/g, "{")
|
||||
.replace(/}"/g, "}");
|
||||
this.rawJson = JSON.parse(resstr);
|
||||
// let resstr = this.apiBaseInfo.body
|
||||
// .replace(/\\/g, "")
|
||||
// .replace(/"{/g, "{")
|
||||
// .replace(/}"/g, "}");
|
||||
this.rawJson = JSON.parse(this.apiBaseInfo.body);
|
||||
} else {
|
||||
this.rawJson = {};
|
||||
}
|
||||
|
@@ -239,13 +239,13 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="标识"
|
||||
label="标识(路由name)"
|
||||
:label-width="formLabelWidth"
|
||||
prop="api_name"
|
||||
>
|
||||
<el-input
|
||||
v-model="formFieldsData.api_name"
|
||||
placeholder="请输入英文唯一标识"
|
||||
placeholder="请输入英文唯一标识(请与路由name字段一致)"
|
||||
autocomplete="off"
|
||||
clearable
|
||||
/>
|
||||
|
@@ -0,0 +1,159 @@
|
||||
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="form" :model="queryParam" :inline="true">
|
||||
<el-form-item prop="rule" label="rule" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.rule" placeholder="rule" type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="route" label="route" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.route" placeholder="route" type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="method" label="method" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.method" placeholder="method" type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="name" label="name" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.name" placeholder="name" type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="domain" label="domain" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.domain" placeholder="domain" type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="option" label="option" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.option" placeholder="option" type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="pattern" label="pattern" :label-width="formLabelWidth">
|
||||
<el-input v-model="queryParam.pattern" placeholder="pattern" type="input"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="el-icon-search" type="primary" @click="handleSearch">
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-divider content-position="center"></el-divider>
|
||||
<div class="filter-container">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<div class="grid-content">
|
||||
<el-button class="filter-item" icon="el-icon-refresh" @click="handleRefresh">刷新</el-button>
|
||||
<!-- <el-button class="filter-item" type="primary" icon="el-icon-plus" @click="handleCreate()">添加</el-button> -->
|
||||
<el-button type="primary" class="filter-item" icon="el-icon-refresh" @click="sync">
|
||||
同步至数据库
|
||||
</el-button>
|
||||
<el-button v-if="this.selectedIds.length" size="small" class="filter-item mb-5" type="danger" icon="el-icon-delete" @click="handleMultiDelete">批量删除</el-button>
|
||||
<el-button @click="clearFilter">清除所有过滤器</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-button icon="el-icon-info" circle @click="templateVersion" style="float: right; padding: 3px 0"></el-button>
|
||||
<el-dropdown @command="handleTableCommand" style="float: right; padding: 3px 0">
|
||||
<span class="el-dropdown-link">
|
||||
<i class="el-icon-more el-icon--right"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="a">配置表格</el-dropdown-item>
|
||||
<el-dropdown-item command="b" divided>移除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<div class="grid-content">
|
||||
<el-dropdown @command="handleDropdownCommand" style="float: right; padding: 3px 0">
|
||||
<span class="el-dropdown-link">
|
||||
<i class="el-icon-menu el-icon--right"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-checkbox-group v-model="checkList">
|
||||
<el-dropdown-item command="a"><el-checkbox label="rule"></el-checkbox></el-dropdown-item><el-dropdown-item command="a"><el-checkbox label="route"></el-checkbox></el-dropdown-item><el-dropdown-item command="a"><el-checkbox label="method"></el-checkbox></el-dropdown-item><el-dropdown-item command="a"><el-checkbox label="name"></el-checkbox></el-dropdown-item><el-dropdown-item command="a"><el-checkbox label="domain"></el-checkbox></el-dropdown-item><el-dropdown-item command="a"><el-checkbox label="option"></el-checkbox></el-dropdown-item><el-dropdown-item command="a"><el-checkbox label="pattern"></el-checkbox></el-dropdown-item>
|
||||
</el-checkbox-group>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<el-table ref="multipleTable" :data="data" tooltip-effect="dark" style="width: 100%" fit @selection-change="handleSelectMulti">
|
||||
<el-table-column type="selection" width="55" v-if="true"></el-table-column>
|
||||
<el-table-column prop="rule" label="rule" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="route" label="route" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="method" label="method" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="name" label="name" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="domain" label="domain" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="option" label="option" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="pattern" label="pattern" sortable="true" v-if="true"></el-table-column>
|
||||
<el-table-column prop="creator" label="创建人" v-if="true"></el-table-column>
|
||||
<el-table-column prop="created_at" label="创建时间" v-if="true"></el-table-column>
|
||||
<el-table-column prop="updated_at" label="更新时间" v-if="true"></el-table-column>
|
||||
<el-table-column label="操作" v-if="true" fixed="right">
|
||||
<template slot-scope="module">
|
||||
<el-button type="primary" icon="el-icon-stopwatch" @click="testApi(module.row.name)">API测试</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="paginate.current" hide-on-single-page :page-sizes="paginate.sizes" :page-size="paginate.limit" :layout="paginate.layout" :total="paginate.total"></el-pagination>
|
||||
<!----------------------------------- 新增/编辑 ---------------------------------------------->
|
||||
<el-drawer ref="drawer" size="60%" :title="drawerTitle" :visible.sync="formVisible" :before-close="handleClose" direction="rtl" @close="handleCancel">
|
||||
<div class="demo-drawer__content">
|
||||
<el-form :ref="formName" :model="formFieldsData" :rules="rules">
|
||||
<el-form-item prop="rule" label="rule" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.rule" placeholder="rule" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="route" label="route" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.route" placeholder="route" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="method" label="method" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.method" placeholder="method" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="name" label="name" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.name" placeholder="name" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="domain" label="domain" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.domain" placeholder="domain" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="option" label="option" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.option" placeholder="option" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item><el-form-item prop="pattern" label="pattern" :label-width="formLabelWidth">
|
||||
<el-input v-model="formFieldsData.pattern" placeholder="pattern" autocomplete="off" clearable type="input"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="drawer__footer">
|
||||
<el-button @click="handleCancel">取 消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit" :loading="loading">{{ loading ? '提交中 ...' : '确 定' }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import formOperate from '@/layout/mixin/formOperate'
|
||||
|
||||
export default {
|
||||
name:'apimanager_routeList',
|
||||
mixins: [formOperate],
|
||||
data() {
|
||||
return {
|
||||
url: 'routeList',
|
||||
formName: 'route_list',
|
||||
formLabelWidth: '120px',
|
||||
// 用户搜索
|
||||
queryParam: {
|
||||
rule:'',route:'',method:'',name:'',domain:'',option:'',pattern:'',
|
||||
},
|
||||
formVisible: false,
|
||||
formFieldsData: {
|
||||
rule:'',route:'',method:'',name:'',domain:'',option:'',pattern:'',
|
||||
},
|
||||
loading: false,
|
||||
checkList: [],
|
||||
search: '',
|
||||
drawerTitle: 'route_list',
|
||||
form: {rule:'',route:'',method:'',name:'',domain:'',option:'',pattern:'', },
|
||||
timer: null,
|
||||
// 表单验证
|
||||
rules: {
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
testApi(name) {
|
||||
let api_name = name.replace(/\\/g,"\\\\") //数据库存了含反斜杠的字段查询时转义成四个反斜杠
|
||||
this.$router.push({ path: "/apitester", query: { api_name} });
|
||||
},
|
||||
sync() {
|
||||
this.$http.post('apimanager/routelist/sync').then(res => {
|
||||
this.$message.success(res.message)
|
||||
this.handleRefresh()
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@@ -4,5 +4,6 @@ export default {
|
||||
// api测试
|
||||
apitester: () => import('@/views/apimanager/apitester'),
|
||||
apirun: () => import('@/views/apimanager/apirun'),
|
||||
apienv: () => import('@/views/apimanager/apienv')
|
||||
apienv: () => import('@/views/apimanager/apienv'),
|
||||
apimanager_routeList: () => import('@/views/apimanager/route_list/route_list'),
|
||||
}
|
||||
|
Reference in New Issue
Block a user