|
|
|
@ -1,14 +1,6 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div class="app-container">
|
|
|
|
<div class="app-container">
|
|
|
|
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
<el-form-item label="Key" prop="id">
|
|
|
|
|
|
|
|
<el-input
|
|
|
|
|
|
|
|
v-model="queryParams.id"
|
|
|
|
|
|
|
|
placeholder="请输入Key"
|
|
|
|
|
|
|
|
clearable
|
|
|
|
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="用户名" prop="name">
|
|
|
|
<el-form-item label="用户名" prop="name">
|
|
|
|
<el-input
|
|
|
|
<el-input
|
|
|
|
v-model="queryParams.name"
|
|
|
|
v-model="queryParams.name"
|
|
|
|
@ -25,8 +17,40 @@
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="是否默认" prop="isDefault">
|
|
|
|
<el-form-item label="服务器ID" prop="serverId">
|
|
|
|
<el-select v-model="queryParams.isDefault" placeholder="请选择是否默认" clearable>
|
|
|
|
<el-input
|
|
|
|
|
|
|
|
v-model="queryParams.serverId"
|
|
|
|
|
|
|
|
placeholder="请输入服务器ID"
|
|
|
|
|
|
|
|
clearable
|
|
|
|
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="开始时间" prop="startDate">
|
|
|
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
|
|
|
v-model="queryParams.startDate"
|
|
|
|
|
|
|
|
type="date"
|
|
|
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
|
|
|
placeholder="请选择开始时间">
|
|
|
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="结束时间" prop="endDate">
|
|
|
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
|
|
|
v-model="queryParams.endDate"
|
|
|
|
|
|
|
|
type="date"
|
|
|
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
|
|
|
placeholder="请选择结束时间">
|
|
|
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="最后使用时间" prop="lastUsed">
|
|
|
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
|
|
|
v-model="queryParams.lastUsed"
|
|
|
|
|
|
|
|
type="date"
|
|
|
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
|
|
|
placeholder="请选择最后使用时间">
|
|
|
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="默认" prop="isDefault">
|
|
|
|
|
|
|
|
<el-select v-model="queryParams.isDefault" placeholder="请选择默认" clearable>
|
|
|
|
<el-option
|
|
|
|
<el-option
|
|
|
|
v-for="dict in sys_yes_no"
|
|
|
|
v-for="dict in sys_yes_no"
|
|
|
|
:key="dict.value"
|
|
|
|
:key="dict.value"
|
|
|
|
@ -90,14 +114,24 @@
|
|
|
|
v-hasPermi="['cert:apiToken:export']"
|
|
|
|
v-hasPermi="['cert:apiToken:export']"
|
|
|
|
>导出</el-button>
|
|
|
|
>导出</el-button>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
|
|
|
plain
|
|
|
|
|
|
|
|
icon="Refresh"
|
|
|
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
|
|
|
@click="handleFlush"
|
|
|
|
|
|
|
|
v-hasPermi="['cert:apiToken:remove']"
|
|
|
|
|
|
|
|
>刷新TOKEN</el-button>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="apiTokenList" @selection-change="handleSelectionChange">
|
|
|
|
<el-table v-loading="loading" :data="apiTokenList" @selection-change="handleSelectionChange">
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
<el-table-column label="Key" align="center" prop="id" />
|
|
|
|
<el-table-column label="id" align="center" prop="id" />
|
|
|
|
<el-table-column label="用户名" align="center" prop="name" />
|
|
|
|
<el-table-column label="用户名" align="center" prop="name" />
|
|
|
|
<el-table-column label="用户ID" align="center" prop="userId" />
|
|
|
|
<el-table-column label="用户ID" align="center" prop="userId" />
|
|
|
|
|
|
|
|
<el-table-column label="服务器ID" align="center" prop="serverId" />
|
|
|
|
<el-table-column label="开始时间" align="center" prop="startDate" width="180">
|
|
|
|
<el-table-column label="开始时间" align="center" prop="startDate" width="180">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
|
|
|
|
<span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
|
|
|
|
@ -108,12 +142,12 @@
|
|
|
|
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
|
|
|
|
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="最后使用" align="center" prop="lastUsed" width="180">
|
|
|
|
<el-table-column label="最后使用时间" align="center" prop="lastUsed" width="180">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<span>{{ parseTime(scope.row.lastUsed, '{y}-{m}-{d}') }}</span>
|
|
|
|
<span>{{ parseTime(scope.row.lastUsed, '{y}-{m}-{d}') }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="是否默认" align="center" prop="isDefault">
|
|
|
|
<el-table-column label="默认" align="center" prop="isDefault">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<dict-tag :options="sys_yes_no" :value="scope.row.isDefault"/>
|
|
|
|
<dict-tag :options="sys_yes_no" :value="scope.row.isDefault"/>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
@ -123,6 +157,7 @@
|
|
|
|
<dict-tag :options="sys_normal_disable" :value="scope.row.status"/>
|
|
|
|
<dict-tag :options="sys_normal_disable" :value="scope.row.status"/>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="备注" align="center" prop="remark" />
|
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['cert:apiToken:edit']">修改</el-button>
|
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['cert:apiToken:edit']">修改</el-button>
|
|
|
|
@ -148,6 +183,9 @@
|
|
|
|
<el-form-item label="用户ID" prop="userId">
|
|
|
|
<el-form-item label="用户ID" prop="userId">
|
|
|
|
<el-input v-model="form.userId" placeholder="请输入用户ID" />
|
|
|
|
<el-input v-model="form.userId" placeholder="请输入用户ID" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="服务器ID" prop="serverId">
|
|
|
|
|
|
|
|
<el-input v-model="form.serverId" placeholder="请输入服务器ID" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="开始时间" prop="startDate">
|
|
|
|
<el-form-item label="开始时间" prop="startDate">
|
|
|
|
<el-date-picker clearable
|
|
|
|
<el-date-picker clearable
|
|
|
|
v-model="form.startDate"
|
|
|
|
v-model="form.startDate"
|
|
|
|
@ -164,15 +202,15 @@
|
|
|
|
placeholder="请选择结束时间">
|
|
|
|
placeholder="请选择结束时间">
|
|
|
|
</el-date-picker>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="最后使用" prop="lastUsed">
|
|
|
|
<el-form-item label="最后使用时间" prop="lastUsed">
|
|
|
|
<el-date-picker clearable
|
|
|
|
<el-date-picker clearable
|
|
|
|
v-model="form.lastUsed"
|
|
|
|
v-model="form.lastUsed"
|
|
|
|
type="date"
|
|
|
|
type="date"
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
placeholder="请选择最后使用">
|
|
|
|
placeholder="请选择最后使用时间">
|
|
|
|
</el-date-picker>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="是否默认" prop="isDefault">
|
|
|
|
<el-form-item label="默认" prop="isDefault">
|
|
|
|
<el-radio-group v-model="form.isDefault">
|
|
|
|
<el-radio-group v-model="form.isDefault">
|
|
|
|
<el-radio
|
|
|
|
<el-radio
|
|
|
|
v-for="dict in sys_yes_no"
|
|
|
|
v-for="dict in sys_yes_no"
|
|
|
|
@ -214,7 +252,7 @@
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup name="ApiToken">
|
|
|
|
<script setup name="ApiToken">
|
|
|
|
import { listApiToken, getApiToken, delApiToken, addApiToken, updateApiToken } from "@/api/cert/apiToken";
|
|
|
|
import { listApiToken, getApiToken, delApiToken, addApiToken, updateApiToken, flushApiToken } from "@/api/cert/apiToken";
|
|
|
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const { sys_del_flag, sys_yes_no, sys_normal_disable } = proxy.useDict('sys_del_flag', 'sys_yes_no', 'sys_normal_disable');
|
|
|
|
const { sys_del_flag, sys_yes_no, sys_normal_disable } = proxy.useDict('sys_del_flag', 'sys_yes_no', 'sys_normal_disable');
|
|
|
|
@ -234,9 +272,12 @@ const data = reactive({
|
|
|
|
queryParams: {
|
|
|
|
queryParams: {
|
|
|
|
pageNum: 1,
|
|
|
|
pageNum: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
pageSize: 10,
|
|
|
|
id: null,
|
|
|
|
|
|
|
|
name: null,
|
|
|
|
name: null,
|
|
|
|
userId: null,
|
|
|
|
userId: null,
|
|
|
|
|
|
|
|
serverId: null,
|
|
|
|
|
|
|
|
startDate: null,
|
|
|
|
|
|
|
|
endDate: null,
|
|
|
|
|
|
|
|
lastUsed: null,
|
|
|
|
isDefault: null,
|
|
|
|
isDefault: null,
|
|
|
|
status: null,
|
|
|
|
status: null,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
@ -247,8 +288,11 @@ const data = reactive({
|
|
|
|
userId: [
|
|
|
|
userId: [
|
|
|
|
{ required: true, message: "用户ID不能为空", trigger: "blur" }
|
|
|
|
{ required: true, message: "用户ID不能为空", trigger: "blur" }
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
serverId: [
|
|
|
|
|
|
|
|
{ required: true, message: "服务器ID不能为空", trigger: "blur" }
|
|
|
|
|
|
|
|
],
|
|
|
|
isDefault: [
|
|
|
|
isDefault: [
|
|
|
|
{ required: true, message: "是否默认不能为空", trigger: "change" }
|
|
|
|
{ required: true, message: "默认不能为空", trigger: "change" }
|
|
|
|
],
|
|
|
|
],
|
|
|
|
status: [
|
|
|
|
status: [
|
|
|
|
{ required: true, message: "状态不能为空", trigger: "change" }
|
|
|
|
{ required: true, message: "状态不能为空", trigger: "change" }
|
|
|
|
@ -256,12 +300,6 @@ const data = reactive({
|
|
|
|
delFlag: [
|
|
|
|
delFlag: [
|
|
|
|
{ required: true, message: "删除标志不能为空", trigger: "change" }
|
|
|
|
{ required: true, message: "删除标志不能为空", trigger: "change" }
|
|
|
|
],
|
|
|
|
],
|
|
|
|
createBy: [
|
|
|
|
|
|
|
|
{ required: true, message: "不能为空", trigger: "blur" }
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
updateBy: [
|
|
|
|
|
|
|
|
{ required: true, message: "不能为空", trigger: "blur" }
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
@ -289,17 +327,18 @@ function reset() {
|
|
|
|
id: null,
|
|
|
|
id: null,
|
|
|
|
name: null,
|
|
|
|
name: null,
|
|
|
|
userId: null,
|
|
|
|
userId: null,
|
|
|
|
|
|
|
|
serverId: null,
|
|
|
|
startDate: null,
|
|
|
|
startDate: null,
|
|
|
|
endDate: null,
|
|
|
|
endDate: null,
|
|
|
|
lastUsed: null,
|
|
|
|
lastUsed: null,
|
|
|
|
isDefault: null,
|
|
|
|
isDefault: null,
|
|
|
|
status: null,
|
|
|
|
status: null,
|
|
|
|
delFlag: null,
|
|
|
|
delFlag: null,
|
|
|
|
|
|
|
|
remark: null,
|
|
|
|
createBy: null,
|
|
|
|
createBy: null,
|
|
|
|
createTime: null,
|
|
|
|
createTime: null,
|
|
|
|
updateBy: null,
|
|
|
|
updateBy: null,
|
|
|
|
updateTime: null,
|
|
|
|
updateTime: null
|
|
|
|
remark: null
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
proxy.resetForm("apiTokenRef");
|
|
|
|
proxy.resetForm("apiTokenRef");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -373,6 +412,16 @@ function handleDelete(row) {
|
|
|
|
}).catch(() => {});
|
|
|
|
}).catch(() => {});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function handleFlush (row) {
|
|
|
|
|
|
|
|
const _ids = row.id || ids.value;
|
|
|
|
|
|
|
|
proxy.$modal.confirm('是否确认刷新令牌管理编号为"' + _ids + '"的数据项?').then(function() {
|
|
|
|
|
|
|
|
return flushApiToken(_ids);
|
|
|
|
|
|
|
|
}).then(() => {
|
|
|
|
|
|
|
|
getList();
|
|
|
|
|
|
|
|
proxy.$modal.msgSuccess("刷新成功");
|
|
|
|
|
|
|
|
}).catch(() => {});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** 导出按钮操作 */
|
|
|
|
/** 导出按钮操作 */
|
|
|
|
function handleExport() {
|
|
|
|
function handleExport() {
|
|
|
|
proxy.download('cert/apiToken/export', {
|
|
|
|
proxy.download('cert/apiToken/export', {
|
|
|
|
|