fix 修复日志弹窗在部分屏幕下按钮重叠问题 #I5IZ9H

This commit is contained in:
bwcx_jzy 2022-07-26 18:42:39 +08:00
parent be85c75165
commit 09a47c8ee8
No known key found for this signature in database
GPG Key ID: 5E48E9372088B9E5
5 changed files with 102 additions and 71 deletions

View File

@ -1,5 +1,16 @@
# 🚀 版本日志
## 2.9.6
### 🐣 新增功能
### 🐞 解决BUG、优化功能
1. 修复日志弹窗在部分屏幕下按钮重叠问题(感谢[@all-around-badass](https://gitee.com/all-around-badass) [Gitee issues I5IZ9H](https://gitee.com/dromara/Jpom/issues/I5IZ9H)
------
## 2.9.5 (2022-07-26)
### 🐣 新增功能

View File

@ -2,68 +2,81 @@
<div :style="`margin-top:${this.marginTop}`">
<div class="log-filter">
<template>
<a-row type="flex">
<a-col :span="18" style="width: 650px;">
<a-space>
<slot name="before"></slot>
<a-tooltip title="关键词高亮,支持正则(正则可能影响性能请酌情使用)">
<a-input addonBefore="正则:/" placeholder="关键词高亮,支持正则" v-model="temp.searchValue" :style="`width: ${searchWidth}`" @pressEnter="onSearch">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
slot="addonAfter"
:value="'/' + this.regModifier"
style="width: 80px"
>
<div @mousedown="(e) => e.preventDefault()" slot="dropdownRender" style="width: 300px; padding: 10px; cursor: pointer; background-color: #fff; border-radius: 5px">
<a-checkbox-group @change="regModifierChange" :value="regModifiers" :options="modifiers"> </a-checkbox-group>
</div>
</a-select>
</a-input>
</a-tooltip>
<a-tooltip title="为避免显示内容太多而造成浏览器卡顿,限制只显示最后多少行日志。修改后需要回车才能生效">
<a-input addonBefore="行数" :min="1" style="width: 200px" :disabled="!this.temp.logScroll" v-model="temp.tempLogShowLine" placeholder="显示行数" @pressEnter="onSearch">
<template slot="addonAfter">
<a-icon type="swap" @click="onSearch" />
</template>
</a-input>
</a-tooltip>
</a-space>
<a-row type="flex" align="middle">
<a-col>
<slot name="before"></slot>
</a-col>
<a-col v-if="this.extendBar" :span="6" style="width: 295px;text-align: right">
<a-col :span="8" style="padding-left: 10px">
<a-tooltip title="关键词高亮,支持正则(正则可能影响性能请酌情使用)">
<a-input addonBefore="正则:/" placeholder="关键词高亮,支持正则" v-model="temp.searchValue" @pressEnter="onSearch">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
slot="addonAfter"
:value="'/' + this.regModifier"
>
<div @mousedown="(e) => e.preventDefault()" slot="dropdownRender" style="width: 200px; max-width: 300px; padding: 10px; cursor: pointer; background-color: #fff; border-radius: 5px">
<a-checkbox-group @change="regModifierChange" :value="regModifiers" :options="modifiers"> </a-checkbox-group>
</div>
</a-select>
</a-input>
</a-tooltip>
</a-col>
<a-col :span="4" style="padding-left: 10px">
<a-tooltip title="为避免显示内容太多而造成浏览器卡顿,限制只显示最后多少行日志。修改后需要回车才能生效">
<a-input addonBefore="行数" :min="1" :disabled="!this.temp.logScroll" v-model="temp.tempLogShowLine" placeholder="显示行数" @pressEnter="onSearch">
<template slot="addonAfter">
<a-icon type="swap" @click="onSearch" />
</template>
</a-input>
</a-tooltip>
</a-col>
<a-col v-if="this.extendBar" style="padding-left: 10px">
<a-space>
<a-tooltip title="内容超过边界自动换行">
<a-switch v-model="temp.wordBreak" checked-children="自动换行" un-checked-children="不换行" />
</a-tooltip>
<a-tooltip title="有新内容后是否自动滚动到底部">
<a-switch v-model="temp.logScroll" checked-children="自动滚动" un-checked-children="不滚动" />
</a-tooltip>
<a-tooltip title="清空当前缓冲区内容">
<a-button type="link" style="padding: 0" @click="clearLogCache" icon="delete"><span style="margin-left: 2px">清空</span></a-button>
</a-tooltip>
<a-popover title="正则语法参考">
<template slot="content">
<ul>
<li><b>.</b> - 除换行符以外的所有字符</li>
<li><b>^</b> - 字符串开头</li>
<li><b>$</b> - 字符串结尾</li>
<li><b>\d,\w,\s</b> - 匹配数字字符空格</li>
<li><b>\D,\W,\S</b> - 匹配非数字非字符非空格</li>
<li><b>[abc]</b> - 匹配 ab c 中的一个字母</li>
<li><b>[a-z]</b> - 匹配 a z 中的一个字母</li>
<li><b>[^abc]</b> - 匹配除了 ab c 中的其他字母</li>
<li><b>aa|bb</b> - 匹配 aa bb</li>
<li><b>[^%&',;=?$\x22]+</b> - 含有^%&',;=?$\"等字符</li>
<li><b>[\u4E00-\u9FA5A-Za-z0-9_]</b> - 中文英文数字包括下划线</li>
<li><b>[\u4e00-\u9fa5]</b> - 汉字</li>
</ul>
</template>
<a-button type="link" style="padding: 0" icon="unordered-list"><span style="margin-left: 2px">语法参考</span></a-button>
</a-popover>
<a-dropdown>
<a-button type="link" style="padding: 0" icon="setting"> 设置 <a-icon type="down" /></a-button>
<a-menu slot="overlay">
<a-menu-item key="0">
<a-tooltip title="内容超过边界自动换行">
<a-switch v-model="temp.wordBreak" checked-children="自动换行" un-checked-children="不换行" />
</a-tooltip>
</a-menu-item>
<a-menu-divider />
<a-menu-item key="3">
<a-tooltip title="有新内容后是否自动滚动到底部">
<a-switch v-model="temp.logScroll" checked-children="自动滚动" un-checked-children="不滚动" />
</a-tooltip>
</a-menu-item>
<a-menu-divider />
<a-menu-item key="2">
<a-popover title="正则语法参考" placement="leftBottom">
<template slot="content">
<ul>
<li><b>.</b> - 除换行符以外的所有字符</li>
<li><b>^</b> - 字符串开头</li>
<li><b>$</b> - 字符串结尾</li>
<li><b>\d,\w,\s</b> - 匹配数字字符空格</li>
<li><b>\D,\W,\S</b> - 匹配非数字非字符非空格</li>
<li><b>[abc]</b> - 匹配 ab c 中的一个字母</li>
<li><b>[a-z]</b> - 匹配 a z 中的一个字母</li>
<li><b>[^abc]</b> - 匹配除了 ab c 中的其他字母</li>
<li><b>aa|bb</b> - 匹配 aa bb</li>
<li><b>[^%&',;=?$\x22]+</b> - 含有^%&',;=?$\"等字符</li>
<li><b>[\u4E00-\u9FA5A-Za-z0-9_]</b> - 中文英文数字包括下划线</li>
<li><b>[\u4e00-\u9fa5]</b> - 汉字</li>
</ul>
</template>
<a-button type="link" style="padding: 0" icon="unordered-list"><span style="margin-left: 2px">正则语法参考</span></a-button>
</a-popover>
</a-menu-item>
</a-menu>
</a-dropdown>
</a-space>
</a-col>
</a-row>
@ -100,10 +113,6 @@ export default {
String,
default: "0px",
},
searchWidth: {
String,
default: "360px",
},
extendBar: {
Boolean,
default: true,
@ -194,4 +203,9 @@ export default {
padding-bottom: 10px;
line-height: 0;
}
/deep/ .ant-checkbox-group-item {
display: flex;
align-items: center;
}
</style>

View File

@ -7,8 +7,10 @@
<div>
<log-view :ref="`logView`" height="calc(100vh - 140px)">
<template slot="before">
<a-button :loading="btnLoading" :disabled="scriptStatus !== 0" type="primary" @click="start">执行</a-button>
<a-button :loading="btnLoading" :disabled="scriptStatus !== 1" type="primary" @click="stop">停止</a-button>
<a-space>
<a-button size="small" :loading="btnLoading" :disabled="scriptStatus !== 0" type="primary" @click="start">执行</a-button>
<a-button size="small" :loading="btnLoading" :disabled="scriptStatus !== 1" type="primary" @click="stop">停止</a-button>
</a-space>
</template>
</log-view>
</div>

View File

@ -13,11 +13,13 @@
<div>
<a-input class="console" v-model="logContext" readOnly type="textarea" style="resize: none" />
</div> -->
<log-view :ref="`logView`" height="calc(100vh - 165px)" searchWidth="260px" :extendBar="false">
<log-view :ref="`logView`" height="calc(100vh - 165px)" :extendBar="false">
<template slot="before">
<a-button type="primary" size="small" @click="loadData">刷新</a-button>
<a-button type="danger" size="small" :disabled="!this.temp.path" @click="deleteLog">删除</a-button>
<a-button type="primary" size="small" :disabled="!this.temp.path" @click="downloadLog">下载</a-button>
<a-space>
<a-button type="primary" size="small" @click="loadData">刷新</a-button>
<a-button type="danger" size="small" :disabled="!this.temp.path" @click="deleteLog">删除</a-button>
<a-button type="primary" size="small" :disabled="!this.temp.path" @click="downloadLog">下载</a-button>
</a-space>
</template>
</log-view>
</a-layout-content>

View File

@ -13,11 +13,13 @@
<div>
<a-input class="console" v-model="logContext" readOnly type="textarea" style="resize: none" />
</div> -->
<log-view :ref="`logView`" height="calc(100vh - 165px)" searchWidth="260px">
<log-view :ref="`logView`" height="calc(100vh - 165px)">
<template slot="before">
<a-button type="primary" size="small" @click="loadData">刷新</a-button>
<a-button type="danger" size="small" :disabled="!this.temp.path" @click="deleteLog">删除</a-button>
<a-button type="primary" size="small" :disabled="!this.temp.path" @click="downloadLog">下载</a-button>
<a-space>
<a-button type="primary" size="small" @click="loadData">刷新</a-button>
<a-button type="danger" size="small" :disabled="!this.temp.path" @click="deleteLog">删除</a-button>
<a-button type="primary" size="small" :disabled="!this.temp.path" @click="downloadLog">下载</a-button>
</a-space>
</template>
</log-view>
</a-layout-content>