feat:新功能

webshell模块:关闭窗口时,增加询问提示窗口并提供remember功能(选择yes时,再次关闭窗口,不再提示)
This commit is contained in:
hyx
2020-03-30 22:15:05 +08:00
parent c2c090059b
commit 7f9bac0f94
3 changed files with 49 additions and 1 deletions

View File

@@ -135,6 +135,30 @@
</div>
</div>
</el-dialog>
<el-dialog :visible.sync="closeConfirmShow" :modal-append-to-body='false' :show-close="true" width="500px" @close="cancleConfirm" class="nz-dialog" >
<div >
<div class="el-message-box__content">
<div class="el-message-box__container">
<div class="el-message-box__status el-icon-warning">
</div>
<div class="el-message-box__message">
<p>{{$t('webshell.closeTip')}}</p>
</div>
</div>
</div>
<div slot="footer" class="footer">
<div class="el-message-box__btns" style="text-align: right;margin-top: 5px;">
<el-checkbox v-model="closeRemember" style="padding-right: 132px;">{{$t('webshell.remember')}}</el-checkbox>
<button @click="cancleConfirm" type="button" class="el-button el-button--default el-button--small">
<span>{{$t('tip.no')}}</span>
</button>
<button @click="closeShellWindow" type="button" class="el-button el-button--default el-button--small el-button--primary ">
<span>{{$t('tip.yes')}}</span>
</button>
</div>
</div>
</div>
</el-dialog>
</div>
</div>
</template>
@@ -153,6 +177,8 @@
return {
consoleShow:false,
isFullScreen:false,
closeConfirmShow:false,
closeRemember:false,
initConsoleHeight:300,//只读,初始化高度
consoleHeight:300,//console高度
resizeConsoleHeight: 300, //resize后的高度用于记录最大化、最小化前的高度
@@ -239,13 +265,30 @@
//可以做最小化的处理点击窗口外的空白处会调用此方法
closeConsole(){
//弹窗询问是否关闭所有链接关闭窗口复选框记住我的选择用户勾选且选择yes 保存到localstorage之后关闭不再提醒
//localStorage.getItem('nz-language') ? localStorage.getItem('nz-language') : 'en', //en/cn
//localStorage.setItem('nz-language', this.lang);
let remember = localStorage.getItem('close-shell-remember') ? localStorage.getItem('close-shell-remember') : false;
if(remember){
this.closeShellWindow();
}else {
this.closeConfirmShow = true;
}
},
cancleConfirm(){
this.closeConfirmShow = false;
},
closeShellWindow(){
if(this.closeRemember){// remember me
localStorage.setItem('close-shell-remember', this.closeRemember);
}
//关闭所有连接
this.editableTabs.forEach((tab, index) => {
this.$refs['console' + index][0].closeSocket();
});
this.editableTabs = [];
this.editableTabsValue= '-1',//当前显示的consol
this.tabIndex = -1
this.tabIndex = -1
this.consoleShow = false;
this.isFullScreen = false;
@@ -257,6 +300,7 @@
this.$store.commit('closeConsole');
window.removeEventListener('resize',this.windowChange);
this.closeConfirmShow = false;
},
handleClick(){