|
|
@@ -1,18 +1,154 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-card shadow="never">
|
|
|
- <template #header>
|
|
|
- <div class="card-header">
|
|
|
- <span>密钥管理</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <el-empty description="密钥管理页面(待实现)" />
|
|
|
- </el-card>
|
|
|
+ <div class="gva-search-box">
|
|
|
+ <el-form :inline="true" :model="searchInfo">
|
|
|
+ <el-form-item label="密钥标识">
|
|
|
+ <el-input v-model="searchInfo.iden" placeholder="密钥标识" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="密钥别名">
|
|
|
+ <el-input v-model="searchInfo.name" placeholder="密钥别名" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="状态">
|
|
|
+ <el-select v-model="searchInfo.status" clearable placeholder="请选择">
|
|
|
+ <el-option label="启用" value="1" />
|
|
|
+ <el-option label="禁用" value="2" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button v-preReClick icon="search" type="primary" @click="onSubmit"
|
|
|
+ >查询
|
|
|
+ </el-button>
|
|
|
+ <el-button v-preReClick icon="refresh" @click="onReset"
|
|
|
+ >重置
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="gva-table-box">
|
|
|
+ <el-table :data="tableData" style="width: 100%" tooltip-effect="dark">
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="密钥标识"
|
|
|
+ prop="iden"
|
|
|
+ min-width="140"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="密钥别名"
|
|
|
+ prop="name"
|
|
|
+ min-width="140"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="状态"
|
|
|
+ prop="status"
|
|
|
+ min-width="100"
|
|
|
+ >
|
|
|
+ <template #default="scope">
|
|
|
+ <el-tag
|
|
|
+ :type="String(scope.row.status) === '1' ? 'success' : 'info'"
|
|
|
+ disable-transitions
|
|
|
+ >
|
|
|
+ {{ statusFilter(scope.row.status) }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="创建时间"
|
|
|
+ prop="createAt"
|
|
|
+ min-width="180"
|
|
|
+ >
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ formatDate(scope.row.createAt) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div class="gva-pagination">
|
|
|
+ <el-pagination
|
|
|
+ :current-page="page"
|
|
|
+ :page-size="pageSize"
|
|
|
+ :page-sizes="[10, 30, 50, 100]"
|
|
|
+ :total="total"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
+import { keyList } from '@/api/sys/key'
|
|
|
+import { ref } from 'vue'
|
|
|
+import { formatDate } from '@/utils/format'
|
|
|
+
|
|
|
defineOptions({
|
|
|
name: 'MaskKey'
|
|
|
})
|
|
|
-</script>
|
|
|
+
|
|
|
+const page = ref(1)
|
|
|
+const total = ref(0)
|
|
|
+const pageSize = ref(10)
|
|
|
+const tableData = ref([])
|
|
|
+const searchInfo = ref({
|
|
|
+ iden: '',
|
|
|
+ name: '',
|
|
|
+ status: ''
|
|
|
+})
|
|
|
+
|
|
|
+// 状态展示(1 启用 / 2 禁用)
|
|
|
+const statusFilter = status => {
|
|
|
+ if (String(status) === '1') return '启用'
|
|
|
+ if (String(status) === '2') return '禁用'
|
|
|
+ return status ?? ''
|
|
|
+}
|
|
|
+
|
|
|
+const onReset = () => {
|
|
|
+ searchInfo.value = {
|
|
|
+ iden: '',
|
|
|
+ name: '',
|
|
|
+ status: ''
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 搜索
|
|
|
+const onSubmit = () => {
|
|
|
+ page.value = 1
|
|
|
+ pageSize.value = 10
|
|
|
+ getTableData()
|
|
|
+}
|
|
|
+
|
|
|
+// 分页
|
|
|
+const handleSizeChange = val => {
|
|
|
+ pageSize.value = val
|
|
|
+ getTableData()
|
|
|
+}
|
|
|
+
|
|
|
+const handleCurrentChange = val => {
|
|
|
+ page.value = val
|
|
|
+ getTableData()
|
|
|
+}
|
|
|
+
|
|
|
+// 查询
|
|
|
+const getTableData = async () => {
|
|
|
+ const table = await keyList({
|
|
|
+ page: page.value,
|
|
|
+ pageSize: pageSize.value,
|
|
|
+ ...searchInfo.value
|
|
|
+ })
|
|
|
+ if (table.code === 100000) {
|
|
|
+ tableData.value = table.data.list || []
|
|
|
+ total.value = Number(table.data.total) || tableData.value.length
|
|
|
+ if (table.data.page) {
|
|
|
+ page.value = table.data.page
|
|
|
+ }
|
|
|
+ if (table.data.pageSize) {
|
|
|
+ pageSize.value = table.data.pageSize
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+getTableData()
|
|
|
+</script>
|