|
@@ -268,9 +268,19 @@
|
|
|
<div>100%</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="delBtn" v-if="selGraphPartType == 1">删除设备</div>
|
|
|
- <div class="delBtn" v-if="selGraphPartType == 2">删除管线</div>
|
|
|
- <div class="delBtn" v-if="selGraphPartType == 3">删除文字</div>
|
|
|
+ <div
|
|
|
+ class="delBtn"
|
|
|
+ v-if="selGraphPartType == 1 && operState == 1"
|
|
|
+ @click="delEquip"
|
|
|
+ >
|
|
|
+ 删除设备
|
|
|
+ </div>
|
|
|
+ <div class="delBtn" v-if="selGraphPartType == 2 && operState == 1">
|
|
|
+ 删除管线
|
|
|
+ </div>
|
|
|
+ <div class="delBtn" v-if="selGraphPartType == 3 && operState == 1">
|
|
|
+ 删除文字
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -465,12 +475,16 @@ export default {
|
|
|
* type 1 设备; 2 线; 3 文本
|
|
|
*/
|
|
|
graphClickCall: function (dataObj, type) {
|
|
|
+ var oldPartType = this.selGraphPartType;
|
|
|
this.selGraphPartType = type;
|
|
|
this.selEquip = dataObj || {};
|
|
|
var _this = this;
|
|
|
- Vue.nextTick(function () {
|
|
|
- _this.$refs.graphc.resetDraw();
|
|
|
- });
|
|
|
+ //oldPartType为-1的时候,说明右侧面板之前是关闭的,那么展示后会导致图形区域变小,所以需要重绘图形
|
|
|
+ if (oldPartType == -1) {
|
|
|
+ Vue.nextTick(function () {
|
|
|
+ _this.$refs.graphc.resetDraw();
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
/**
|
|
|
* 保存图纸按钮事件
|
|
@@ -579,6 +593,55 @@ export default {
|
|
|
var newScale = this.$refs.graphc.graphScaleCompute(-0.25);
|
|
|
this.$refs.graphc.graphScale(newScale);
|
|
|
},
|
|
|
+ //删除选择的设备节点
|
|
|
+ delEquip: function () {
|
|
|
+ this.$refs.graphc.removeChildFromStage(this.selEquip.id, 1);
|
|
|
+ this.removeFromData(this.selEquip.id);
|
|
|
+ },
|
|
|
+ //graphInfo中移出对应的数据
|
|
|
+ removeFromData: function (id) {
|
|
|
+ this.graphInfo.template.frame.children = remove(
|
|
|
+ this.graphInfo.template.frame.children
|
|
|
+ );
|
|
|
+
|
|
|
+ var findArr = find(this.graphInfo.template.frame.children);
|
|
|
+ console.log(findArr);
|
|
|
+
|
|
|
+ function remove(dataArr) {
|
|
|
+ for (let i = 0; i < dataArr.length; i++) {
|
|
|
+ let _dataObj = dataArr[i];
|
|
|
+ if (_dataObj.id == id) {
|
|
|
+ dataArr.splice(i, 1);
|
|
|
+ return dataArr;
|
|
|
+ }
|
|
|
+ if (_dataObj.compType == "container") {
|
|
|
+ var result = remove(_dataObj.children);
|
|
|
+ if (result) {
|
|
|
+ _dataObj.children = result;
|
|
|
+ return dataArr;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ function find(dataArr) {
|
|
|
+ for (let i = 0; i < dataArr.length; i++) {
|
|
|
+ let _dataObj = dataArr[i];
|
|
|
+ if (_dataObj.id == id) {
|
|
|
+ return dataArr;
|
|
|
+ }
|
|
|
+ if (_dataObj.compType == "container") {
|
|
|
+ var result = find(_dataObj.children);
|
|
|
+ if (result) {
|
|
|
+ // _dataObj.children = result;
|
|
|
+ return dataArr;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
created() {
|
|
|
this.operState = !this.$route.query.ost
|
|
@@ -595,7 +658,7 @@ export default {
|
|
|
mounted() {
|
|
|
var _this = this;
|
|
|
(async function () {
|
|
|
- //操作状态 0 预览; 1 编辑; 2 新建
|
|
|
+ //操作状态 0 预览; 1 编辑; 2 新建 进来时是预览或编辑状态时需要加载系统图数据并绘图
|
|
|
if (_this.operState === 0 || _this.operState === 1) {
|
|
|
await _this.getDiagramById();
|
|
|
_this.$refs.graphc.drawEntry(_this.graphInfo);
|