6 Commits

Author SHA1 Message Date
wolfcode
963febc15c feat(admin): 新增弹框是否允许在新标签页中打开 add option to open iframe in new tab
- Add 'iframe_open_top' configuration to admin site settings
- Implement functionality to open iframe in new tab if configured
- Update admin layout to include new configuration option
- Modify easy-admin.js to support new tab opening for iframes

Signed-off-by: wolfcode <37436228+wolf-leo@users.noreply.github.com>
2024-10-21 16:27:48 +08:00
wolfcode
f78edd2fd5 refactor(css): simplify table styles and remove redundant code
- Remove duplicate styles for .layui-table-tool
- Delete unused styles for .layui-table-view and .layui-table-box
- Simplify border styles for light and dark themes- Remove unnecessary padding and positioning styles- Improve readability of table header text

Signed-off-by: wolfcode <37436228+wolf-leo@users.noreply.github.com>
2024-10-16 22:21:20 +08:00
wolfcode
83aa399f95 feat(easy-admin): prevent rapid form submission
Add a mechanism to handle quick consecutive form submissions by displaying a message when a user tries to submit the form before the previous submission is completed. This
update introduces a wait period during which subsequent submissions are prevented,
enhancing the user experience and preventing potential errors.

Signed-off-by: wolfcode <37436228+wolf-leo@users.noreply.github.com>
2024-10-16 11:05:26 +08:00
wolfcode
3096aa8985 🚀Layui v2.9.18 2024-10-15 11:08:50 +08:00
wolfcode
c7f7ca9af7 Update README.md 2024-10-14 18:00:48 +08:00
wolfcode
352484c69e fix(layout): adjust column layout for better responsiveness
Changed the column layout in both goods add and edit pages to ensure better responsiveness across different screen sizes. The left column is now fixed at 5 units, while the right column is set to 12 units for improved flexibility on smaller screens.

Signed-off-by: wolfcode <37436228+wolf-leo@users.noreply.github.com>
2024-10-14 17:31:51 +08:00
10 changed files with 44 additions and 49 deletions

View File

@@ -39,7 +39,13 @@
> EasyAdmin8 使用 Composer 来管理项目依赖。因此,在使用 EasyAdmin8 之前,请确保你的机器已经安装了 Composer。
### 通过git下载安装包composer安装依赖包
### 通过一键安装命令
```
if [ -f /usr/bin/curl ];then curl -sSO https://easyadmin8.top/auto-install-EasyAdmin8.sh;else wget -O auto-install-EasyAdmin8.sh https://easyadmin8.top/auto-install-EasyAdmin8.sh;fi;bash auto-install-EasyAdmin8.sh
```
### 通过`git`下载安装包,`composer`安装依赖包
```
1.下载安装包

View File

@@ -21,8 +21,9 @@
IS_SUPER_ADMIN: "{$isSuperAdmin|default='false'}",
VERSION: "{$version|default='1.0.0'}",
CSRF_TOKEN: "{:token()}",
ADMIN_UPLOAD_URL: "{$adminUploadUrl|DEFAULT=''}",
EDITOR_TYPE: "{$adminEditor|default='ueditor'}",
ADMIN_UPLOAD_URL: "{$adminUploadUrl|default=''}",
IFRAME_OPEN_TOP: "{$iframeOpenTop|default=0}",
EDITOR_TYPE: "{$adminEditor|default='wangEditor'}",
};
</script>
<script src="/static/plugs/layui-v2.x/layui.js" charset="utf-8"></script>

View File

@@ -2,7 +2,7 @@
<form id="app-form" class="layui-form layuimini-form layui-form-pane">
<div class="layui-row">
<div class="layui-col-xl5 layui-col-lg5 layui-col-md5 layui-col-sm5 layui-col-xs5">
<div class="layui-col-xl5 layui-col-lg5 layui-col-md12 layui-col-sm12 layui-col-xs12">
<!-- 可以使用该方式 推荐写法-->
<div class="layui-form-item">
<label class="layui-form-label">商品分类</label>
@@ -89,7 +89,7 @@
</div>
</div>
</div>
<div class="layui-col-xl7 layui-col-lg7 layui-col-md7 layui-col-sm7 layui-col-xs7">
<div class="layui-col-xl7 layui-col-lg7 layui-col-md12 layui-col-sm12 layui-col-xs12">
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">商品描述</label>
<div class="layui-input-block">

View File

@@ -2,7 +2,7 @@
<form id="app-form" class="layui-form layuimini-form layui-form-pane">
<div class="layui-row">
<div class="layui-col-xl5 layui-col-lg5 layui-col-md5 layui-col-sm5 layui-col-xs5">
<div class="layui-col-xl5 layui-col-lg5 layui-col-md12 layui-col-sm12 layui-col-xs12">
<!-- 可以使用该方式 推荐写法-->
<div class="layui-form-item">
<label class="layui-form-label">商品分类</label>
@@ -89,7 +89,7 @@
</div>
</div>
</div>
<div class="layui-col-xl7 layui-col-lg7 layui-col-md7 layui-col-sm7 layui-col-xs7">
<div class="layui-col-xl7 layui-col-lg7 layui-col-md12 layui-col-sm12 layui-col-xs12">
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">商品描述</label>
<div class="layui-input-block">

View File

@@ -54,6 +54,15 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">新标签页窗口</label>
<div class="layui-input-block">
<input type="radio" name="iframe_open_top" value="0" title="不允许" {if 1!=sysConfig('site','iframe_open_top')}checked{/if}>
<input type="radio" name="iframe_open_top" value="1" title="允许" {if 1==sysConfig('site','iframe_open_top')}checked{/if}>
<br>
<tip>是否允许弹框在新标签页打开。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">默认编辑器</label>

View File

@@ -240,6 +240,7 @@ class AdminController extends BaseController
'version' => env('APP_DEBUG') ? time() : ConfigService::getVersion(),
'adminUploadUrl' => url('ajax/upload', [], false),
'adminEditor' => sysConfig('site', 'editor_type') ?: 'wangEditor',
'iframeOpenTop' => sysConfig('site', 'iframe_open_top') ?: 0,
];
View::assign($data);
}

View File

@@ -253,36 +253,10 @@ table样式
.layuimini-container .layui-table-tool {
background-color: #ffffff;
border-bottom: none !important;
padding: 10px;
padding-bottom: 15px !important;
}
.dark .layuimini-container .layui-table-tool {
background-color: var(--lay-color-bg-1);
border-bottom: none !important;
padding-bottom: 15px !important;
}
.layuimini-container .layui-table-view {
border: none !important;
}
.layuimini-container .layui-table-box {
border-width: 1px;
border-style: solid;
border-color: #e6e6e6;
}
.dark .layuimini-container .layui-table-box {
border-width: 1px;
border-style: solid;
border-color: #363636;
}
.layuimini-container .layui-table-page, .layui-table-total {
border-width: 0px 0 0;
}
.layuimini-container .layui-table-box .layui-table-header th {
font-weight: bold !important;
color: #565656 !important;
@@ -329,10 +303,6 @@ table样式
padding: 0;
}
/**
按钮
*/
.layuimini-container .layui-btn-success {
color: #fff;
background-color: #4bb368;
@@ -360,14 +330,6 @@ table样式
font-size: 16px;
}
.layuimini-container .layui-table-tool-self {
right: 0px;
}
.layuimini-container .layui-table-tool {
padding: 10px 0px;
}
/**
弹出层样式
*/

View File

@@ -19,9 +19,11 @@ define(["jquery", "tableSelect"], function ($, tableSelect) {
table_render_id: 'currentTableRenderId',
upload_url: 'ajax/upload',
upload_exts: 'doc|gif|ico|icon|jpg|mp3|mp4|p12|pem|png|rar',
csrf_token: window.CONFIG.CSRF_TOKEN
csrf_token: window.CONFIG.CSRF_TOKEN,
wait_submit: false
};
var admin = {
config: {
shade: [0.02, '#000'],
@@ -112,6 +114,7 @@ define(["jquery", "tableSelect"], function ($, tableSelect) {
// @todo 刷新csrf-token
let token = data.responseJSON ? data.responseJSON.__token__ : ''
init.csrf_token = token
init.wait_submit = false
}
});
}
@@ -974,6 +977,14 @@ define(["jquery", "tableSelect"], function ($, tableSelect) {
before: function () {
},
success: function (layero, index) {
if (window.CONFIG.IFRAME_OPEN_TOP == '1') {
let _winTopBtn = `
<span class="_winTopBtn layui-btn layui-btn-primary layui-btn-xs"
style="position: absolute;top: 14px;right: 120px;color: #fff;border-color: #fff;" onclick="window.open(location.href)">
新标签页打开
</span>`
$('.layui-layer-iframe').append(_winTopBtn)
}
},
end: function () {
index = null
@@ -1365,6 +1376,10 @@ define(["jquery", "tableSelect"], function ($, tableSelect) {
url = admin.url(url);
}
form.on('submit(' + filter + ')', function (data) {
if (init.wait_submit) {
layer.msg('你点击太快了', {icon: 16, shade: 0.3, shadeClose: false, time: 1000})
return false
}
var dataField = data.field;
var editorList = document.querySelectorAll(".editor");
// 富文本数据处理
@@ -1392,6 +1407,7 @@ define(["jquery", "tableSelect"], function ($, tableSelect) {
if (typeof preposeCallback === 'function') {
dataField = preposeCallback(dataField);
}
init.wait_submit = true
admin.api.form(url, dataField, ok, no, ex, refresh);
return false;
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long