feat: 增加侧滑点击外部关闭的功能
1.增加:config-account、config-promserver、alert-rule
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<transition name="right-box">
|
<transition name="right-box">
|
||||||
<div class="right-box right-box-alert-config" v-if="rightBox.show">
|
<div class="right-box right-box-alert-config" v-if="rightBox.show" v-clickoutside="clickos">
|
||||||
<!-- begin--顶部按钮-->
|
<!-- begin--顶部按钮-->
|
||||||
<div class="right-box-top-btns">
|
<div class="right-box-top-btns">
|
||||||
<button type="button" v-if="alertRule.id != '' && rightBox.isEdit" id="alert-box-del" @click="del" class="nz-btn nz-btn-size-normal nz-btn-size-alien nz-btn-style-light nz-btn-min-width-82">
|
<button type="button" v-if="alertRule.id != '' && rightBox.isEdit" id="alert-box-del" @click="del" class="nz-btn nz-btn-size-normal nz-btn-size-alien nz-btn-style-light nz-btn-min-width-82">
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
<el-form-item :label="$t('alert.severity')" prop="severity">
|
<el-form-item :label="$t('alert.severity')" prop="severity">
|
||||||
<el-select v-if="rightBox.isEdit" popper-class="config-dropdown" v-model="alertRule.severity" placeholder="" size="small">
|
<el-select v-if="rightBox.isEdit" popper-class="config-dropdown" v-model="alertRule.severity" placeholder="" size="small">
|
||||||
<el-option :id="'alert-severity-'+item.key" v-for="item in severityData" :key="item.key" :label="item.value" :value="item.key">
|
<el-option :id="'alert-severity-'+item.key" v-for="item in severityData" :key="item.key" :label="item.value" :value="item.key">
|
||||||
<span class="config-dropdown-label-txt" v-if="!item.isEdit">{{item.value}}</span>
|
<template v-if="!item.isEdit">{{item.value}}</template>
|
||||||
<span class="config-dropdown-label-input" v-if="item.isEdit" @click.stop>
|
<span class="config-dropdown-label-input" v-if="item.isEdit" @click.stop>
|
||||||
<el-input type="text" v-model="item.name" size="mini"></el-input>
|
<el-input type="text" v-model="item.name" size="mini"></el-input>
|
||||||
</span>
|
</span>
|
||||||
@@ -207,6 +207,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
clickos() {
|
||||||
|
this.rightBox.show = false;
|
||||||
|
},
|
||||||
show(show, isEdit) {
|
show(show, isEdit) {
|
||||||
this.rightBox.show = show;
|
this.rightBox.show = show;
|
||||||
this.rightBox.isEdit = isEdit;
|
this.rightBox.isEdit = isEdit;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<transition name="right-box">
|
<transition name="right-box">
|
||||||
<div class="right-box right-box-dc" v-if="rightBox.show">
|
<div class="right-box right-box-dc" v-if="rightBox.show" v-clickoutside="clickos">
|
||||||
<!-- begin--顶部按钮-->
|
<!-- begin--顶部按钮-->
|
||||||
<div class="right-box-top-btns">
|
<div class="right-box-top-btns">
|
||||||
<button id="dc-del" type="button" v-if="currentDc.id != '' && rightBox.isEdit" @click="del" class="nz-btn nz-btn-size-normal nz-btn-size-alien nz-btn-style-light nz-btn-min-width-82">
|
<button id="dc-del" type="button" v-if="currentDc.id != '' && rightBox.isEdit" @click="del" class="nz-btn nz-btn-size-normal nz-btn-size-alien nz-btn-style-light nz-btn-min-width-82">
|
||||||
@@ -101,6 +101,7 @@
|
|||||||
},
|
},
|
||||||
rightBox: {
|
rightBox: {
|
||||||
show: false,
|
show: false,
|
||||||
|
firstShow: false,
|
||||||
title: '',
|
title: '',
|
||||||
isEdit: false
|
isEdit: false
|
||||||
},
|
},
|
||||||
@@ -162,10 +163,13 @@
|
|||||||
this.rightBox.show = show;
|
this.rightBox.show = show;
|
||||||
this.rightBox.isEdit = isEdit;
|
this.rightBox.isEdit = isEdit;
|
||||||
},
|
},
|
||||||
|
clickos() {
|
||||||
|
//this.rightBox.show = false;
|
||||||
|
},
|
||||||
/*关闭弹框*/
|
/*关闭弹框*/
|
||||||
esc() {
|
esc() {
|
||||||
this.rightBox.show = false;
|
this.rightBox.show = false;
|
||||||
|
this.rightBox.firstShow = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
/*弹出选择area弹框*/
|
/*弹出选择area弹框*/
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<transition name="right-box">
|
<transition name="right-box">
|
||||||
<div class="right-box right-box-account" v-if="rightBox.show">
|
<div class="right-box right-box-account" v-if="rightBox.show" v-clickoutside="clickos">
|
||||||
<!-- begin--顶部按钮-->
|
<!-- begin--顶部按钮-->
|
||||||
<div class="right-box-top-btns">
|
<div class="right-box-top-btns">
|
||||||
<button type="button" v-if="user.userId != '' && rightBox.isEdit" @click="del(user)"
|
<button type="button" v-if="user.userId != '' && rightBox.isEdit" @click="del(user)"
|
||||||
@@ -308,6 +308,9 @@
|
|||||||
this.$store.commit('setHeaderTable', data);
|
this.$store.commit('setHeaderTable', data);
|
||||||
this.tablelable = data;
|
this.tablelable = data;
|
||||||
},
|
},
|
||||||
|
clickos() {
|
||||||
|
this.rightBox.show = false;
|
||||||
|
},
|
||||||
edit: function (u) {
|
edit: function (u) {
|
||||||
this.user = Object.assign({}, u);
|
this.user = Object.assign({}, u);
|
||||||
this.rightBox.isEdit = true;
|
this.rightBox.isEdit = true;
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<transition name="right-box">
|
<transition name="right-box">
|
||||||
<div class="right-box right-box-prom" v-if="rightBox.show">
|
<div class="right-box right-box-prom" v-if="rightBox.show" v-clickoutside="clickos">
|
||||||
<!-- begin--顶部按钮-->
|
<!-- begin--顶部按钮-->
|
||||||
<div class="right-box-top-btns">
|
<div class="right-box-top-btns">
|
||||||
<button type="button" v-if="rightBox.isEdit && promServer.id != ''" @click="del(promServer)"
|
<button type="button" v-if="rightBox.isEdit && promServer.id != ''" @click="del(promServer)"
|
||||||
@@ -364,6 +364,9 @@
|
|||||||
this.$store.commit('setHeaderTable', data);
|
this.$store.commit('setHeaderTable', data);
|
||||||
this.tablelable = data;
|
this.tablelable = data;
|
||||||
},
|
},
|
||||||
|
clickos() {
|
||||||
|
this.rightBox.show = false;
|
||||||
|
},
|
||||||
toEdit: function (u) {
|
toEdit: function (u) {
|
||||||
this.promServer = Object.assign({}, u);
|
this.promServer = Object.assign({}, u);
|
||||||
this.rightBox.isEdit = true;
|
this.rightBox.isEdit = true;
|
||||||
|
|||||||
@@ -65,13 +65,28 @@ Vue.use(ElementUI);
|
|||||||
Vue.use(Vuex);
|
Vue.use(Vuex);
|
||||||
Vue.use(VueResource);
|
Vue.use(VueResource);
|
||||||
|
|
||||||
|
const exceptClassName = [];
|
||||||
const clickoutside = {
|
const clickoutside = {
|
||||||
// 初始化指令
|
// 初始化指令
|
||||||
bind(el, binding, vnode) {
|
bind(el, binding, vnode) {
|
||||||
function documentHandler(e) {
|
function documentHandler(e) {
|
||||||
// 这里判断点击的元素是否是本身,是本身,则返回
|
|
||||||
if (el.contains(e.target)) {
|
if (el.contains(e.target)) {
|
||||||
return false;
|
return false;
|
||||||
|
} else {
|
||||||
|
let flag = true;
|
||||||
|
let attrs = e.target.attributes;
|
||||||
|
for (let i = 0; i < attrs.length; i++) {
|
||||||
|
if (attrs[i].name == 'class') {
|
||||||
|
console.info(attrs[i].value)
|
||||||
|
if ((attrs[i].value + '').indexOf("el-select-dropdown") != -1) {
|
||||||
|
flag = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!flag) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 判断指令中是否绑定了函数
|
// 判断指令中是否绑定了函数
|
||||||
if (binding.expression) {
|
if (binding.expression) {
|
||||||
@@ -87,11 +102,11 @@ const clickoutside = {
|
|||||||
|
|
||||||
// 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听
|
// 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听
|
||||||
el.__vueClickOutside__ = documentHandler;
|
el.__vueClickOutside__ = documentHandler;
|
||||||
document.addEventListener('click', documentHandler);
|
document.addEventListener('mousedown', documentHandler);
|
||||||
},
|
},
|
||||||
unbind(el, binding) {
|
unbind(el, binding) {
|
||||||
// 解除事件监听
|
// 解除事件监听
|
||||||
document.removeEventListener('click', el.__vueClickOutside__);
|
document.removeEventListener('mousedown', el.__vueClickOutside__);
|
||||||
delete el.__vueClickOutside__;
|
delete el.__vueClickOutside__;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user