|
@@ -12,6 +12,7 @@
|
|
|
<span class="icon iconfont icon-zhongzuo"></span>
|
|
|
</el-tooltip>
|
|
|
</li>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
<li @click="copy">
|
|
|
<el-tooltip class="item" effect="dark" content="复制" placement="bottom">
|
|
|
<span class="icon iconfont"></span>
|
|
@@ -22,11 +23,7 @@
|
|
|
<span class="icon iconfont icon-niantie"></span>
|
|
|
</el-tooltip>
|
|
|
</li>
|
|
|
- <li @click="deleteItem">
|
|
|
- <el-tooltip class="item" effect="dark" content="删除" placement="bottom">
|
|
|
- <span class="icon iconfont icon-shanchu"></span>
|
|
|
- </el-tooltip>
|
|
|
- </li>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
<li>
|
|
|
<el-tooltip class="item" effect="dark" content="组合" placement="bottom">
|
|
|
<span class="disabled icon iconfont icon-zuhe"></span>
|
|
@@ -37,6 +34,7 @@
|
|
|
<span class="disabled icon iconfont icon-dasan"></span>
|
|
|
</el-tooltip>
|
|
|
</li>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
<li @click="setOrder('Top')">
|
|
|
<el-tooltip class="item" effect="dark" content="置顶" placement="bottom">
|
|
|
<span class="icon iconfont icon-zhiding"></span>
|
|
@@ -47,9 +45,22 @@
|
|
|
<span class="icon iconfont icon-zhidi"></span>
|
|
|
</el-tooltip>
|
|
|
</li>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <!-- 对齐方式 -->
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
<li @click="setLock()">
|
|
|
<el-tooltip class="item" effect="dark" :content="!isLock ? '解锁' : '锁定'" placement="bottom">
|
|
|
- <span :class="[isLock ? 'el-icon-lock' : 'el-icon-unlock', 'lcoks']" />
|
|
|
+ <span :class="[isLock ? 'el-icon-lock' : 'el-icon-unlock', 'lcoks', lockDisabled ? 'disabled' : '']" />
|
|
|
+ </el-tooltip>
|
|
|
+ </li>
|
|
|
+ <li @click="hideItem">
|
|
|
+ <el-tooltip class="item" effect="dark" content="隐藏" placement="bottom">
|
|
|
+ <span class="icon iconfont icon-yincang" :class="{'disabled': hideDisabled}"></span>
|
|
|
+ </el-tooltip>
|
|
|
+ </li>
|
|
|
+ <li @click="deleteItem">
|
|
|
+ <el-tooltip class="item" effect="dark" content="删除" placement="bottom">
|
|
|
+ <span class="icon iconfont icon-shanchu" :class="{'disabled': deleteDisabled}"></span>
|
|
|
</el-tooltip>
|
|
|
</li>
|
|
|
</ul>
|
|
@@ -66,6 +77,10 @@ export default {
|
|
|
return {
|
|
|
isLock: false,
|
|
|
itemList: null,
|
|
|
+ lockDisabled: false,
|
|
|
+ deleteDisabled: false,
|
|
|
+ hideDisabled: false,
|
|
|
+
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -92,8 +107,19 @@ export default {
|
|
|
setOrder(val) {
|
|
|
bus.$emit("setOrder", val);
|
|
|
},
|
|
|
+ // 隐藏item
|
|
|
+ hideItem() {
|
|
|
+ // 隐藏按钮禁用或者无选中元素,不做操作
|
|
|
+ if (this.hideDisabled || !this.itemList) return;
|
|
|
+ this.itemList.forEach((item) => {
|
|
|
+ item.visible = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
// 设置锁定
|
|
|
setLock() {
|
|
|
+ // 锁按钮禁用,不做操作
|
|
|
+ if (this.lockDisabled) return;
|
|
|
+
|
|
|
this.isLock = !this.isLock;
|
|
|
if (!this.itemList) return;
|
|
|
this.itemList.forEach((item) => {
|
|
@@ -101,18 +127,36 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
emitChoice(itemList) {
|
|
|
+ this.lockDisabled = false;
|
|
|
+ this.deleteDisabled = false;
|
|
|
+ this.hideDisabled = false;
|
|
|
+
|
|
|
if (!itemList.length) {
|
|
|
this.isLock = false;
|
|
|
this.itemList = null;
|
|
|
} else {
|
|
|
this.isLock = itemList[0].moveable;
|
|
|
this.itemList = itemList;
|
|
|
+ this.itemList.forEach((item) => {
|
|
|
+ // 空间实例不允许解锁
|
|
|
+ if (item?.legendData?.properties?.type === "BaseZone") {
|
|
|
+ this.lockDisabled = true;
|
|
|
+ }
|
|
|
+ // 空间实例不允许删除
|
|
|
+ if (item?.legendData?.properties?.type === "BaseZone" || item?.legendData?.properties?.type === "BaseEquipment") {
|
|
|
+ this.deleteDisabled = true;
|
|
|
+ } else { // 通用元素不允许隐藏
|
|
|
+ this.hideDisabled = true;
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
mounted() {
|
|
|
bus.$on("emitChoice", this.emitChoice);
|
|
|
- bus.$on("tooltipLock", this.setLock);
|
|
|
+ bus.$on("tooltipLock", () => {
|
|
|
+ this.isLock = !this.isLock;
|
|
|
+ });
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -136,6 +180,10 @@ li {
|
|
|
border-bottom: 1px solid #e4e5e7;
|
|
|
.left {
|
|
|
ul {
|
|
|
+ /deep/ .el-divider--vertical {
|
|
|
+ height: 16px;
|
|
|
+ margin: 5px 8px;
|
|
|
+ }
|
|
|
display: flex;
|
|
|
li {
|
|
|
display: flex;
|
|
@@ -174,6 +222,7 @@ li {
|
|
|
}
|
|
|
}
|
|
|
.disabled {
|
|
|
+ color: #c0c4cc;
|
|
|
cursor: not-allowed;
|
|
|
}
|
|
|
}
|