feat: 完成添加的关闭自动刷新

This commit is contained in:
augushong
2025-08-21 22:13:42 +08:00
parent 578fa91d36
commit d43c3d18ca
3 changed files with 38 additions and 35 deletions

1
.gitignore vendored
View File

@@ -22,3 +22,4 @@ ul.db
/.VSCodeCounter
result.txt
test.php
/.env.prod

View File

@@ -56,7 +56,7 @@
{notempty name='$Request.param.backTagId'}
<div class="layui-btn layui-btn-sm page-back-button" layuimini-content-href="{$Request.param.backTagId}" data-title="管理员管理" data-back="1">返回</div>
{/notempty}
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" data-back-href="{$Request.param.backTagId}" lay-submit>确认</button>
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button>
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
</div>

View File

@@ -525,6 +525,7 @@
} else if (v === 'add') {
if (admin.checkAuth('add', elem)) {
toolbarHtml += '<button class="layui-btn layui-btn-normal layui-btn-sm" layuimini-content-href="' + init.addUrl + '" data-title="添加" data-full="' + init.formFullScreen + '"><i class="fa fa-plus"></i> 添加</button>\n';
// toolbarHtml += '<button class="layui-btn layui-btn-normal layui-btn-sm" data-open="' + init.addUrl + '" data-title="添加" data-full="' + init.formFullScreen + '"><i class="fa fa-plus"></i> 添加1</button>\n';
}
} else if (v === 'delete') {
if (admin.checkAuth('delete', elem)) {
@@ -2265,19 +2266,29 @@
closeCurrentOpen: function (option) {
option = option || {};
option.backHref = option.backHref || '';
option.refreshTable = option.refreshTable || false;
option.refreshFrame = option.refreshFrame || false;
option.onClose = option.onClose || function () { };
if (option.refreshTable === true) {
option.refreshTable = init.tableRenderId;
}
var backWindow = window.parent;
if (option.backHref) {
backWindow = admin.findPageId(option.backHref);
backWindow.layui.table.reloadData(option.refreshTable);
admin.findIndexPage(function (window) {
window.layui.element.tabDelete('layuiminiTab', admin.getCurrentPageId());
});
}
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index, option.onClose);
backWindow.layer.close(index, option.onClose);
if (option.refreshTable !== false) {
parent.layui.table.reloadData(option.refreshTable);
backWindow.layui.table.reloadData(option.refreshTable);
}
if (option.refreshFrame) {
parent.location.reload();
backWindow.location.reload();
}
return false;
},
@@ -2379,11 +2390,12 @@
if (btnName !== undefined && btnValue !== undefined) {
data.field[btnName] = btnValue;
}
if (!backHref) {
backHref = admin.getQueryVariable('backTagId');
}
var dataField = data.field;
dataField = admin.api.formSubmitEditor(dataField, v);
dataField = admin.api.formSubmitCity(dataField, v);
if (typeof preposeCallback === 'function') {
@@ -2392,7 +2404,6 @@
complete = complete || function () {
$(form).removeClass('loading');
};
// admin.api.form(url, dataField, ok, no, ex, refresh, close, complete);
if (ok) {
var originalOk = ok;
@@ -2405,25 +2416,15 @@
res.msg = res.msg || '';
admin.msg.success(res.msg, function () {
if (close) {
if (backHref) {
var backWindow = admin.findPageId(backHref);
console.log(backWindow);
console.log(option.refreshTable);
backWindow.layui.table.reloadData(option.refreshTable);
admin.findIndexPage(function (window) {
window.layui.element.tabDelete('layuiminiTab', backHref);
});
admin.api.closeCurrentOpen({
refreshTable: refresh,
backHref: backHref,
onClose: function () {
complete();
}
});
} else {
admin.api.closeCurrentOpen({
refreshTable: refreshTable,
onClose: function () {
complete();
}
});
}
}
});
return false;
@@ -2432,7 +2433,7 @@
admin.request.post({
url: url,
data: data,
data: dataField,
}, ok, no, ex, complete);
return false;
@@ -3143,17 +3144,18 @@
},
findPageId(tabId) {
var iframeWindow;
this.findIndexPage(function(window){
window.layui.$('.layui-tab-title li').each(function () {
var checkTabId = $(this).attr('lay-id');
if (checkTabId != null && checkTabId === tabId) {
iframeWindow = $(this).find('iframe').contentWindow
this.findIndexPage(function (window) {
// 查找对应的tab内容区域
var tabContent = window.layui.$('.layui-tab-content .layui-tab-item[lay-id="' + tabId + '"]');
if (tabContent.length > 0) {
var iframe = tabContent.find('iframe')[0];
if (iframe) {
iframeWindow = iframe.contentWindow;
}
});
})
return iframeWindow
}
}
});
return iframeWindow;
},
};