💄 修改表单宽度.
This commit is contained in:
@@ -10,7 +10,6 @@ import com.orion.ops.framework.mybatis.core.generator.template.Table;
|
||||
import com.orion.ops.framework.mybatis.core.generator.template.Template;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 代码生成器
|
||||
@@ -45,10 +44,28 @@ public class CodeGenerators {
|
||||
// .color("blue", "gray", "red", "green", "white")
|
||||
// .valueUseFields()
|
||||
// .build(),
|
||||
Template.create("exec_host_log", "批量执行主机日志", "exec")
|
||||
Template.create("exec_log", "执行记录", "exec")
|
||||
.disableUnitTest()
|
||||
.vue("exec", "exec-log-exec")
|
||||
.enableDrawerForm()
|
||||
.vue("exec", "exec-log")
|
||||
.enableRowSelection()
|
||||
.dict("execLogStatus", "status")
|
||||
.keyName("execStatus")
|
||||
.field("execStatus")
|
||||
.fields("WAITING", "RUNNING", "COMPLETED", "FAILED")
|
||||
.labels("等待中", "运行中", "执行完成", "执行失败")
|
||||
.color("gray", "green", "arcoblue", "red")
|
||||
.valueUseFields()
|
||||
.build(),
|
||||
Template.create("exec_host_log", "主机执行记录", "exec")
|
||||
.disableUnitTest()
|
||||
.vue("exec", "exec-host-log")
|
||||
.dict("execHostLogStatus", "status")
|
||||
.keyName("execHostStatus")
|
||||
.field("execHostStatus")
|
||||
.fields("WAITING", "RUNNING", "COMPLETED", "FAILED", "INTERRUPTED")
|
||||
.labels("等待中", "运行中", "执行完成", "执行失败", "已中断")
|
||||
.color("gray", "green", "arcoblue", "red", "purple")
|
||||
.valueUseFields()
|
||||
.build(),
|
||||
};
|
||||
// jdbc 配置 - 使用配置文件
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
#foreach($field in ${table.fields})
|
||||
<!-- $field.comment -->
|
||||
<a-form-item field="${field.propertyName}" label="${field.comment}" label-col-flex="50px">
|
||||
<a-form-item field="${field.propertyName}" label="${field.comment}">
|
||||
#if(${dictMap.containsKey(${field.propertyName})})
|
||||
<a-select v-model="formModel.${field.propertyName}"
|
||||
:options="toOptions($dictMap.get(${field.propertyName}).keyField)"
|
||||
@@ -96,7 +96,7 @@
|
||||
#if(${dictMap.containsKey(${field.propertyName})})
|
||||
<!-- $field.comment -->
|
||||
<template #${field.propertyName}="{ record }">
|
||||
{{ getDictValue($dictMap.get(${field.propertyName}).keyField, record.${field.propertyName}}) }}
|
||||
{{ getDictValue($dictMap.get(${field.propertyName}).keyField, record.${field.propertyName}) }}
|
||||
</template>
|
||||
#end
|
||||
#end
|
||||
|
||||
@@ -8,7 +8,7 @@ import static com.orion.ops.framework.biz.operator.log.core.enums.OperatorRiskLe
|
||||
import static com.orion.ops.framework.biz.operator.log.core.enums.OperatorRiskLevel.M;
|
||||
|
||||
/**
|
||||
* 批量执行 操作日志类型
|
||||
* 批量执行 操作记录类型
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.1
|
||||
@@ -35,9 +35,9 @@ public class ExecOperatorType extends InitializingOperatorTypes {
|
||||
new OperatorType(M, EXEC_COMMAND, "执行主机命令"),
|
||||
new OperatorType(M, INTERRUPT_EXEC, "中断执行命令"),
|
||||
new OperatorType(M, INTERRUPT_HOST, "中断主机执行命令 ${logId} ${hostName}"),
|
||||
new OperatorType(H, DELETE_HOST_LOG, "删除主机执行日志 ${logId} ${hostName}"),
|
||||
new OperatorType(H, DELETE_LOG, "删除执行日志 ${count} 条"),
|
||||
new OperatorType(H, CLEAR_LOG, "清理执行日志 ${count} 条"),
|
||||
new OperatorType(H, DELETE_HOST_LOG, "删除主机执行记录 ${logId} ${hostName}"),
|
||||
new OperatorType(H, DELETE_LOG, "删除执行记录 ${count} 条"),
|
||||
new OperatorType(H, CLEAR_LOG, "清理执行记录 ${count} 条"),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,10 @@ public class ExecLogServiceImpl implements ExecLogService {
|
||||
// 查询执行状态
|
||||
List<ExecLogVO> logList = execLogDAO.of()
|
||||
.createWrapper()
|
||||
.select(ExecLogDO::getId, ExecLogDO::getStatus, ExecLogDO::getFinishTime)
|
||||
.select(ExecLogDO::getId,
|
||||
ExecLogDO::getStatus,
|
||||
ExecLogDO::getStartTime,
|
||||
ExecLogDO::getFinishTime)
|
||||
.in(ExecLogDO::getId, idList)
|
||||
.then()
|
||||
.list(ExecLogConvert.MAPPER::to);
|
||||
@@ -81,6 +84,7 @@ public class ExecLogServiceImpl implements ExecLogService {
|
||||
.createWrapper()
|
||||
.select(ExecHostLogDO::getId,
|
||||
ExecHostLogDO::getStatus,
|
||||
ExecHostLogDO::getStartTime,
|
||||
ExecHostLogDO::getFinishTime,
|
||||
ExecHostLogDO::getExitStatus,
|
||||
ExecHostLogDO::getErrorMessage)
|
||||
@@ -167,8 +171,8 @@ public class ExecLogServiceImpl implements ExecLogService {
|
||||
.eq(ExecLogDO::getUsername, request.getUsername())
|
||||
.eq(ExecLogDO::getSource, request.getSource())
|
||||
.eq(ExecLogDO::getSourceId, request.getSourceId())
|
||||
.eq(ExecLogDO::getDescription, request.getDescription())
|
||||
.eq(ExecLogDO::getCommand, request.getCommand())
|
||||
.like(ExecLogDO::getDescription, request.getDescription())
|
||||
.like(ExecLogDO::getCommand, request.getCommand())
|
||||
.eq(ExecLogDO::getStatus, request.getStatus())
|
||||
.ge(ExecLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 0))
|
||||
.le(ExecLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 1))
|
||||
|
||||
@@ -32,17 +32,13 @@
|
||||
</template>
|
||||
<template #description>
|
||||
<div>
|
||||
<a-typography-paragraph
|
||||
:ellipsis="{
|
||||
<a-typography-paragraph :ellipsis="{
|
||||
rows: 1,
|
||||
}"
|
||||
>{{ item.content }}
|
||||
</a-typography-paragraph
|
||||
>
|
||||
<a-typography-text
|
||||
v-if="item.type === 'message'"
|
||||
class="time-text"
|
||||
>
|
||||
}">
|
||||
{{ item.content }}
|
||||
</a-typography-paragraph>
|
||||
<a-typography-text v-if="item.type === 'message'"
|
||||
class="time-text">
|
||||
{{ item.time }}
|
||||
</a-typography-text>
|
||||
</div>
|
||||
@@ -51,11 +47,9 @@
|
||||
</div>
|
||||
</a-list-item>
|
||||
<template #footer>
|
||||
<a-space
|
||||
fill
|
||||
:size="0"
|
||||
:class="{ 'add-border-top': renderList.length < showMax }"
|
||||
>
|
||||
<a-space fill
|
||||
:size="0"
|
||||
:class="{ 'add-border-top': renderList.length < showMax }">
|
||||
<div class="footer-wrap">
|
||||
<a-link @click="allRead">全部已读</a-link>
|
||||
</div>
|
||||
@@ -64,10 +58,9 @@
|
||||
</div>
|
||||
</a-space>
|
||||
</template>
|
||||
<div
|
||||
v-if="renderList.length && renderList.length < 3"
|
||||
:style="{ height: (showMax - renderList.length) * 86 + 'px' }"
|
||||
></div>
|
||||
<div v-if="renderList.length && renderList.length < 3"
|
||||
:style="{ height: (showMax - renderList.length) * 86 + 'px' }">
|
||||
</div>
|
||||
</a-list>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -98,6 +98,31 @@ export function formatSecond(second: number, p = 'HH:mm') {
|
||||
return dateFormat(new Date(~~second * 1000), p);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化持续时间
|
||||
* @param start
|
||||
* @param end
|
||||
*/
|
||||
export function formatDuration(start: number, end?: number): string {
|
||||
if (!end) {
|
||||
return '';
|
||||
}
|
||||
const duration = (end - start) / 1000;
|
||||
const minutes = Math.floor(duration / 60);
|
||||
const seconds = Math.floor(duration % 60);
|
||||
let result = '';
|
||||
if (minutes > 0) {
|
||||
result += `${minutes}min`;
|
||||
if (seconds > 0) {
|
||||
result += ' ';
|
||||
}
|
||||
}
|
||||
if (seconds > 0) {
|
||||
result += `${seconds}s`;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化数字为 ,分割
|
||||
*/
|
||||
@@ -163,7 +188,7 @@ export const resetObject = (obj: any, ignore: string[] = []) => {
|
||||
export const objectTruthKeyCount = (obj: any, ignore: string[] = []) => {
|
||||
return Object.keys(obj)
|
||||
.filter(s => !ignore.includes(s))
|
||||
.reduce(function (acc, curr) {
|
||||
.reduce(function(acc, curr) {
|
||||
const currVal = obj[curr];
|
||||
return acc + ~~(currVal !== undefined && currVal !== null && currVal?.length !== 0 && currVal !== '');
|
||||
}, 0);
|
||||
@@ -196,7 +221,7 @@ export function detectZoom() {
|
||||
* 获取唯一的 UUID
|
||||
*/
|
||||
export function getUUID() {
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
||||
const r = Math.random() * 16 | 0;
|
||||
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
||||
return v.toString(16);
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<!-- 开始时间 -->
|
||||
<a-form-item field="startTimeRange" label="开始时间">
|
||||
<a-range-picker v-model="formModel.startTimeRange"
|
||||
style="width: 100%"
|
||||
:time-picker-props="{ defaultValue: ['00:00:00', '23:59:59'] }"
|
||||
show-time
|
||||
format="YYYY-MM-DD HH:mm:ss" />
|
||||
|
||||
@@ -8,39 +8,38 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- 连接用户 -->
|
||||
<a-form-item field="userId" label="连接用户" label-col-flex="50px">
|
||||
<a-form-item field="userId" label="连接用户">
|
||||
<user-selector v-model="formModel.userId"
|
||||
placeholder="请选择用户"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 连接主机 -->
|
||||
<a-form-item field="hostId" label="连接主机" label-col-flex="50px">
|
||||
<a-form-item field="hostId" label="连接主机">
|
||||
<host-selector v-model="formModel.hostId"
|
||||
placeholder="请选择主机"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 主机地址 -->
|
||||
<a-form-item field="hostAddress" label="主机地址" label-col-flex="50px">
|
||||
<a-form-item field="hostAddress" label="主机地址">
|
||||
<a-input v-model="formModel.hostAddress" placeholder="请输入主机地址" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 状态 -->
|
||||
<a-form-item field="status" label="状态" label-col-flex="50px">
|
||||
<a-form-item field="status" label="状态">
|
||||
<a-select v-model="formModel.status"
|
||||
placeholder="请选择状态"
|
||||
:options="toOptions(connectStatusKey)"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 类型 -->
|
||||
<a-form-item field="type" label="类型" label-col-flex="50px">
|
||||
<a-form-item field="type" label="类型">
|
||||
<a-select v-model="formModel.type"
|
||||
placeholder="请选择类型"
|
||||
:options="toOptions(connectTypeKey)"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 开始时间 -->
|
||||
<a-form-item field="startTimeRange" label="开始时间" label-col-flex="50px">
|
||||
<a-form-item field="startTimeRange" label="开始时间">
|
||||
<a-range-picker v-model="formModel.startTimeRange"
|
||||
style="width: 100%"
|
||||
:time-picker-props="{ defaultValue: ['00:00:00', '23:59:59'] }"
|
||||
show-time
|
||||
format="YYYY-MM-DD HH:mm:ss" />
|
||||
|
||||
@@ -8,35 +8,34 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- 操作用户 -->
|
||||
<a-form-item field="userId" label="操作用户" label-col-flex="50px">
|
||||
<a-form-item field="userId" label="操作用户">
|
||||
<user-selector v-model="formModel.userId"
|
||||
placeholder="请选择用户"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 操作主机 -->
|
||||
<a-form-item field="hostId" label="操作主机" label-col-flex="50px">
|
||||
<a-form-item field="hostId" label="操作主机">
|
||||
<host-selector v-model="formModel.hostId"
|
||||
placeholder="请选择主机"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 操作类型 -->
|
||||
<a-form-item field="type" label="操作类型" label-col-flex="50px">
|
||||
<a-form-item field="type" label="操作类型">
|
||||
<a-select v-model="formModel.type"
|
||||
placeholder="请选择类型"
|
||||
:options="toOptions(sftpOperatorTypeKey)"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 执行结果 -->
|
||||
<a-form-item field="result" label="执行结果" label-col-flex="50px">
|
||||
<a-form-item field="result" label="执行结果">
|
||||
<a-select v-model="formModel.result"
|
||||
placeholder="请选择执行结果"
|
||||
:options="toOptions(sftpOperatorResultKey)"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 开始时间 -->
|
||||
<a-form-item field="startTimeRange" label="开始时间" label-col-flex="50px">
|
||||
<a-form-item field="startTimeRange" label="开始时间">
|
||||
<a-range-picker v-model="formModel.startTimeRange"
|
||||
style="width: 100%"
|
||||
:time-picker-props="{ defaultValue: ['00:00:00', '23:59:59'] }"
|
||||
show-time
|
||||
format="YYYY-MM-DD HH:mm:ss" />
|
||||
|
||||
@@ -7,22 +7,22 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- id -->
|
||||
<a-form-item field="id" label="id" label-col-flex="50px">
|
||||
<a-form-item field="id" label="id">
|
||||
<a-input-number v-model="formModel.id"
|
||||
placeholder="请输入id"
|
||||
allow-clear
|
||||
hide-button />
|
||||
</a-form-item>
|
||||
<!-- 名称 -->
|
||||
<a-form-item field="name" label="名称" label-col-flex="50px">
|
||||
<a-form-item field="name" label="名称">
|
||||
<a-input v-model="formModel.name" placeholder="请输入名称" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 用户名 -->
|
||||
<a-form-item field="username" label="用户名" label-col-flex="50px">
|
||||
<a-form-item field="username" label="用户名">
|
||||
<a-input v-model="formModel.username" placeholder="请输入用户名" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 主机秘钥 -->
|
||||
<a-form-item field="keyId" label="主机秘钥" label-col-flex="50px">
|
||||
<a-form-item field="keyId" label="主机秘钥">
|
||||
<host-key-selector v-model="formModel.keyId" allow-clear />
|
||||
</a-form-item>
|
||||
</query-header>
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- id -->
|
||||
<a-form-item field="id" label="id" label-col-flex="30px">
|
||||
<a-form-item field="id" label="id">
|
||||
<a-input-number v-model="formModel.id"
|
||||
placeholder="请输入id"
|
||||
allow-clear
|
||||
hide-button />
|
||||
</a-form-item>
|
||||
<!-- 名称 -->
|
||||
<a-form-item field="name" label="名称" label-col-flex="30px">
|
||||
<a-form-item field="name" label="名称">
|
||||
<a-input v-model="formModel.name" placeholder="请输入名称" allow-clear />
|
||||
</a-form-item>
|
||||
</query-header>
|
||||
|
||||
@@ -7,26 +7,26 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- id -->
|
||||
<a-form-item field="id" label="主机id" label-col-flex="50px">
|
||||
<a-form-item field="id" label="主机id">
|
||||
<a-input-number v-model="formModel.id"
|
||||
placeholder="请输入主机id"
|
||||
allow-clear
|
||||
hide-button />
|
||||
</a-form-item>
|
||||
<!-- 主机名称 -->
|
||||
<a-form-item field="name" label="主机名称" label-col-flex="50px">
|
||||
<a-form-item field="name" label="主机名称">
|
||||
<a-input v-model="formModel.name" placeholder="请输入主机名称" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 主机编码 -->
|
||||
<a-form-item field="code" label="主机编码" label-col-flex="50px">
|
||||
<a-form-item field="code" label="主机编码">
|
||||
<a-input v-model="formModel.code" placeholder="请输入主机编码" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 主机地址 -->
|
||||
<a-form-item field="address" label="主机地址" label-col-flex="50px">
|
||||
<a-form-item field="address" label="主机地址">
|
||||
<a-input v-model="formModel.address" placeholder="请输入主机地址" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 主机标签 -->
|
||||
<a-form-item field="tags" label="主机标签" label-col-flex="50px">
|
||||
<a-form-item field="tags" label="主机标签">
|
||||
<tag-multi-selector v-model="formModel.tags"
|
||||
ref="tagSelector"
|
||||
:allowCreate="false"
|
||||
|
||||
@@ -7,20 +7,20 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- id -->
|
||||
<a-form-item field="id" label="id" label-col-flex="50px">
|
||||
<a-form-item field="id" label="id">
|
||||
<a-input-number v-model="formModel.id"
|
||||
placeholder="请输入id"
|
||||
allow-clear
|
||||
hide-button />
|
||||
</a-form-item>
|
||||
<!-- 模板名称 -->
|
||||
<a-form-item field="name" label="模板名称" label-col-flex="50px">
|
||||
<a-form-item field="name" label="模板名称">
|
||||
<a-input v-model="formModel.name"
|
||||
placeholder="请输入模板名称"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 模板命令 -->
|
||||
<a-form-item field="command" label="模板命令" label-col-flex="50px">
|
||||
<a-form-item field="command" label="模板命令">
|
||||
<a-input v-model="formModel.command"
|
||||
placeholder="请输入模板命令"
|
||||
allow-clear />
|
||||
|
||||
@@ -7,12 +7,16 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- 配置项 -->
|
||||
<a-form-item field="keyName" label="配置项" label-col-flex="50px">
|
||||
<a-input v-model="formModel.keyName" placeholder="请输入配置项" allow-clear />
|
||||
<a-form-item field="keyName" label="配置项">
|
||||
<a-input v-model="formModel.keyName"
|
||||
placeholder="请输入配置项"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 配置描述 -->
|
||||
<a-form-item field="description" label="配置描述" label-col-flex="50px">
|
||||
<a-input v-model="formModel.description" placeholder="请输入配置描述" allow-clear />
|
||||
<a-form-item field="description" label="配置描述">
|
||||
<a-input v-model="formModel.description"
|
||||
placeholder="请输入配置描述"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
</query-header>
|
||||
</a-card>
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
@reset="resetForm"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- 配置项 -->
|
||||
<a-form-item field="keyId" label="配置项" label-col-flex="50px">
|
||||
<a-form-item field="keyId" label="配置项">
|
||||
<dict-key-selector v-model="formModel.keyId"
|
||||
@change="changeKey"
|
||||
allow-create
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 配置值 -->
|
||||
<a-form-item field="value" label="配置值" label-col-flex="50px">
|
||||
<a-form-item field="value" label="配置值">
|
||||
<a-input v-model="formModel.value" placeholder="请输入配置值" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 配置描述 -->
|
||||
<a-form-item field="label" label="配置描述" label-col-flex="50px">
|
||||
<a-form-item field="label" label="配置描述">
|
||||
<a-input v-model="formModel.label" placeholder="请输入配置描述" allow-clear />
|
||||
</a-form-item>
|
||||
</query-header>
|
||||
|
||||
@@ -18,9 +18,7 @@
|
||||
:label-col-props="{ span: 5 }"
|
||||
:wrapper-col-props="{ span: 18 }">
|
||||
<!-- 操作用户 -->
|
||||
<a-form-item field="userId"
|
||||
label="操作用户"
|
||||
>
|
||||
<a-form-item field="userId" label="操作用户">
|
||||
<user-selector v-model="formModel.userId"
|
||||
placeholder="请选择操作用户"
|
||||
allow-clear />
|
||||
@@ -60,7 +58,6 @@
|
||||
<!-- 执行时间 -->
|
||||
<a-form-item field="startTimeRange" label="执行时间">
|
||||
<a-range-picker v-model="formModel.startTimeRange"
|
||||
style="width: 100%"
|
||||
:time-picker-props="{ defaultValue: ['00:00:00', '23:59:59'] }"
|
||||
show-time
|
||||
format="YYYY-MM-DD HH:mm:ss" />
|
||||
|
||||
@@ -8,14 +8,13 @@
|
||||
<!-- 操作用户 -->
|
||||
<a-form-item v-if="visibleUser"
|
||||
field="userId"
|
||||
label="操作用户"
|
||||
label-col-flex="50px">
|
||||
label="操作用户">
|
||||
<user-selector v-model="formModel.userId"
|
||||
placeholder="请选择操作用户"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 操作模块 -->
|
||||
<a-form-item field="module" label="操作模块" label-col-flex="50px">
|
||||
<a-form-item field="module" label="操作模块">
|
||||
<a-select v-model="formModel.module"
|
||||
:options="toOptions(operatorLogModuleKey)"
|
||||
:allow-search="true"
|
||||
@@ -24,7 +23,7 @@
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 操作类型 -->
|
||||
<a-form-item field="type" label="操作类型" label-col-flex="50px">
|
||||
<a-form-item field="type" label="操作类型">
|
||||
<a-select v-model="formModel.type"
|
||||
:options="typeOptions"
|
||||
:allow-search="true"
|
||||
@@ -33,23 +32,22 @@
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 风险等级 -->
|
||||
<a-form-item field="riskLevel" label="风险等级" label-col-flex="50px">
|
||||
<a-form-item field="riskLevel" label="风险等级">
|
||||
<a-select v-model="formModel.riskLevel"
|
||||
:options="toOptions(operatorRiskLevelKey)"
|
||||
placeholder="请选择风险等级"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 执行结果 -->
|
||||
<a-form-item field="result" label="执行结果" label-col-flex="50px">
|
||||
<a-form-item field="result" label="执行结果">
|
||||
<a-select v-model="formModel.result"
|
||||
:options="toOptions(operatorLogResultKey)"
|
||||
placeholder="请选择执行结果"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 执行时间 -->
|
||||
<a-form-item field="startTimeRange" label="执行时间" label-col-flex="50px">
|
||||
<a-form-item field="startTimeRange" label="执行时间">
|
||||
<a-range-picker v-model="formModel.startTimeRange"
|
||||
style="width: 100%"
|
||||
:time-picker-props="{ defaultValue: ['00:00:00', '23:59:59'] }"
|
||||
show-time
|
||||
format="YYYY-MM-DD HH:mm:ss" />
|
||||
|
||||
@@ -7,15 +7,19 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- 角色名称 -->
|
||||
<a-form-item field="name" label="角色名称" label-col-flex="50px">
|
||||
<a-input v-model="formModel.name" placeholder="请输入角色名称" allow-clear />
|
||||
<a-form-item field="name" label="角色名称">
|
||||
<a-input v-model="formModel.name"
|
||||
placeholder="请输入角色名称"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 角色编码 -->
|
||||
<a-form-item field="code" label="角色编码" label-col-flex="50px">
|
||||
<a-input v-model="formModel.code" placeholder="请输入角色编码" allow-clear />
|
||||
<a-form-item field="code" label="角色编码">
|
||||
<a-input v-model="formModel.code"
|
||||
placeholder="请输入角色编码"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 角色状态 -->
|
||||
<a-form-item field="status" label="角色状态" label-col-flex="50px">
|
||||
<a-form-item field="status" label="角色状态">
|
||||
<a-select v-model="formModel.status"
|
||||
placeholder="请选择角色状态"
|
||||
:options="toOptions(roleStatusKey)"
|
||||
|
||||
@@ -7,33 +7,33 @@
|
||||
@reset="fetchTableData"
|
||||
@keyup.enter="() => fetchTableData()">
|
||||
<!-- id -->
|
||||
<a-form-item field="id" label="id" label-col-flex="50px">
|
||||
<a-form-item field="id" label="id">
|
||||
<a-input-number v-model="formModel.id"
|
||||
placeholder="请输入id"
|
||||
allow-clear
|
||||
hide-button />
|
||||
</a-form-item>
|
||||
<!-- 用户名 -->
|
||||
<a-form-item field="username" label="用户名" label-col-flex="50px">
|
||||
<a-form-item field="username" label="用户名">
|
||||
<a-input v-model="formModel.username" placeholder="请输入用户名" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 花名 -->
|
||||
<a-form-item field="nickname" label="花名" label-col-flex="50px">
|
||||
<a-form-item field="nickname" label="花名">
|
||||
<a-input v-model="formModel.nickname" placeholder="请输入花名" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 用户状态 -->
|
||||
<a-form-item field="status" label="用户状态" label-col-flex="50px">
|
||||
<a-form-item field="status" label="用户状态">
|
||||
<a-select v-model="formModel.status"
|
||||
:options="toOptions(userStatusKey)"
|
||||
placeholder="请选择用户状态"
|
||||
allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 手机号 -->
|
||||
<a-form-item field="mobile" label="手机号" label-col-flex="50px">
|
||||
<a-form-item field="mobile" label="手机号">
|
||||
<a-input v-model="formModel.mobile" placeholder="请输入手机号" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 邮箱 -->
|
||||
<a-form-item field="email" label="邮箱" label-col-flex="50px">
|
||||
<a-form-item field="email" label="邮箱">
|
||||
<a-input v-model="formModel.email" placeholder="请输入邮箱" allow-clear />
|
||||
</a-form-item>
|
||||
</query-header>
|
||||
|
||||
Reference in New Issue
Block a user