|
@@ -11,6 +11,7 @@
|
|
|
:endTarget="endTarget" :numCase="numCase" :startText="startText" :endText="endText" :lineType="lineType"
|
|
|
@lineBack="lineBack">
|
|
|
</LineDouble>
|
|
|
+ <GroupModelAdd v-if="groupType" :groupType="groupType" :groupNodeId="groupNodeId" :modelId="modelId" @groupBack="groupBack"></GroupModelAdd>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -23,6 +24,7 @@ import { ElMessage } from 'element-plus';
|
|
|
import { useRouter, useRoute } from 'vue-router';
|
|
|
import AbilityModal from "../drawModal/AbilityModal.vue"
|
|
|
import LineDouble from '../drawModal/LineDouble.vue';
|
|
|
+import GroupModelAdd from '../drawModal/GroupModelAdd.vue';
|
|
|
import {
|
|
|
DndPanel,
|
|
|
SelectionSelect,
|
|
@@ -118,6 +120,8 @@ export default {
|
|
|
let nodeid = ref("")//节点的id
|
|
|
let fun = ref()//储存父节点传来的函数
|
|
|
let funOne = ref()//储存父节点传来的函数
|
|
|
+ let groupType = ref(false)//GroupModelAdd.vue组件显示与否
|
|
|
+ let groupNodeId=ref('') //当前设置ied_type的分组节点ID
|
|
|
watch(() => props.lineMenuColor, (newVal) => {
|
|
|
copyColor.value = newVal
|
|
|
})
|
|
@@ -576,14 +580,15 @@ export default {
|
|
|
//当将节点托入画布后触发事件
|
|
|
lf.value.on('node:dnd-add',function (nodedata){
|
|
|
if(nodedata.data.type=='my-group'){
|
|
|
- let nodeid=nodedata.data.id
|
|
|
// 添加的是分组节点,需要打开一个窗口让用户设置该节点的ied_type并保存到properties中
|
|
|
let ied_type="TMP"
|
|
|
- const g=lf.value.getNodeModelById(nodeid);
|
|
|
+ const g=lf.value.getNodeModelById(nodedata.data.id);
|
|
|
g.setProperties({
|
|
|
ied_type: ied_type,
|
|
|
- id:'0' //分组的装置类型id固定为0
|
|
|
+ id:'-99' //分组的装置类型id固定为-99
|
|
|
});
|
|
|
+ groupNodeId.value = nodedata.data.id
|
|
|
+ groupType.value = true
|
|
|
}
|
|
|
})
|
|
|
lf.value.on("node:resize",function(data){
|
|
@@ -598,6 +603,23 @@ export default {
|
|
|
function lineBack(data) {
|
|
|
ldModal.value = data
|
|
|
}
|
|
|
+ // GroupModelAdd.vue返回状态
|
|
|
+ function groupBack(data){
|
|
|
+ console.log(data)
|
|
|
+ groupType.value = data.show
|
|
|
+ //设置窗口关闭时
|
|
|
+ if(!data.show && data.ied_type!=''){
|
|
|
+ //更新分组的装置类型编码属性ied_type
|
|
|
+ const g=lf.value.getNodeModelById(data.groupNodeId);
|
|
|
+ console.log(g)
|
|
|
+ g.setProperties({
|
|
|
+ ied_type: data.ied_type,
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ //未设置装置编码,自动删除
|
|
|
+ lf.value.deleteNode(data.groupNodeId)
|
|
|
+ }
|
|
|
+ }
|
|
|
onBeforeUnmount(() => {
|
|
|
// lf.value.remove()
|
|
|
// coolObj.value = {}
|
|
@@ -641,11 +663,15 @@ export default {
|
|
|
fun,//储存父节点传来的函数
|
|
|
listMap,//组件初始化
|
|
|
funOne,//储存父节点传来的函数
|
|
|
+ groupType,//GroupModelAdd.vue组件显示与否
|
|
|
+ groupNodeId,
|
|
|
+ groupBack,// GroupModelAdd.vue返回状态
|
|
|
}
|
|
|
},
|
|
|
components: {
|
|
|
AbilityModal,//功能模态框
|
|
|
LineDouble,//连接线模态框
|
|
|
+ GroupModelAdd,//分组专属模态框
|
|
|
}
|
|
|
}
|
|
|
</script>
|