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;});
相關文章
相關標籤/搜索