layui实现关闭一个选项卡以后刷新另外一个选项卡的数据

 场景:某供应商模块,有新增、编辑操做,对数据进行更改后,关闭新增或编辑页面,原页面数据刷新ajax

 

 

 

思路:一、若是能在供应商页面监听到新增或编辑页面的tab页关闭,那么在供应商页面经过事件监听后执行:window.location.reload()便可。json

    百度许久无果,故放弃。app

   二、在新增或编辑操做完成时,从新发送供货商的页面请求,起初老是用内置的refresh()、reload()、refreshTabs()等方法一通乱试,也想过用ajax从新请求后台供应商页面,但都无效或有差错,最后选择关闭tab页再从新打开就好,虽然很笨,但用户并不能感受到,且能实现数据刷新,下面时主要代码。async

    
form.on('submit(save)', function (data) {    data.field.status = data.field.status ? 0 : 1;    $.ajax({        type: "POST",        url: siteurl + '/sys/supplier/save',        data: JSON.stringify({            'supplierInfo': data.field,        }),        async: false,        dataType: "json",        contentType: 'application/json;charset=UTF-8',        success: function (r) {            if (r.code === 0) {                if (r.re !== 0) {                    pLayer.confirm('保存成功,是否返回?', {                        btn: ['返回', '继续添加']                    }, function () {              //关闭弹出框(提示返回或继续添加)                        pLayer.closeAll();              //先关闭供货商模块,而后再次打开,此时能够实现数据刷新                        parent.app.closeTab(398);                        parent.app.addTab({                            url: siteurl + '/sys/supplier/searchlist',                            icon: '',                            title: '供货商',                            id: '398'//menuId                        })              //此刻再关闭新增或编辑页面                        parent.app.closeTab(75);//75为选项卡id,也对应了menuId,id能够经过F12,element中查看                    });                }                else                    pLayer.alert('添加失败!');            } else {                pLayer.alert(r.msg);            }        }    });    return false;});
相关文章
相关标签/搜索