fix:修改tooltip的样式
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
<div class="resize-box resize-box-echarts" ref="resizeBox">
|
<div class="resize-box resize-box-echarts" ref="resizeBox">
|
||||||
<div class="line-chart-block" :id="'lineChartDiv'+chartIndex" @mouseenter="mouseEnterChart" @mouseleave="mouseLeaveChart">
|
<div class="line-chart-block" :id="'lineChartDiv'+chartIndex" @mouseenter="mouseEnterChart" @mouseleave="mouseLeaveChart">
|
||||||
<loading :ref="'localLoading'+chartIndex"></loading>
|
<loading :ref="'localLoading'+chartIndex"></loading>
|
||||||
<div :class="{'drag-disabled': this.filter.from == $CONSTANTS.fromRoute.rule}" :id="'chartTitle'+chartIndex" class="clearfix chartTitle" v-if="chartTitleShow">
|
<div :class="{'drag-disabled': this.filter.from == $CONSTANTS.fromRoute.rule}" :id="'chartTitle'+chartIndex" class="clearfix chartTitle">
|
||||||
<el-popover
|
<el-popover
|
||||||
v-if="isError"
|
v-if="isError"
|
||||||
placement="top-start"
|
placement="top-start"
|
||||||
@@ -38,9 +38,9 @@
|
|||||||
<el-dropdown-menu style="display: none"></el-dropdown-menu>
|
<el-dropdown-menu style="display: none"></el-dropdown-menu>
|
||||||
<span class="el-dropdown-link chart-title" @click.stop="dropdownMenuShow=!dropdownMenuShow">
|
<span class="el-dropdown-link chart-title" @click.stop="dropdownMenuShow=!dropdownMenuShow">
|
||||||
<span class="chart-title-text">{{chartData.title}}</span>
|
<span class="chart-title-text">{{chartData.title}}</span>
|
||||||
<span class="chart-title-icon" v-if="filter.from != $CONSTANTS.fromRoute.rule"><i :class="{'visible':caretShow,'hidden':!caretShow}" class="nz-icon nz-icon-xialaxuanze "></i></span>
|
<span class="chart-title-icon" v-if="filter.from != $CONSTANTS.fromRoute.rule&&chartTitleShow"><i :class="{'visible':caretShow,'hidden':!caretShow}" class="nz-icon nz-icon-xialaxuanze "></i></span>
|
||||||
</span>
|
</span>
|
||||||
<ul :class="{'el-dropdown-menu nz-chart-dropdown':!isExplore,'el-dropdown-menu nz-chart-dropdown-one':isExplore}" :id="'dropdownUl'+chartIndex" slot="dropdown" style="position: absolute; top: 30px; left: calc(50% - 79px); transform-origin: center top; z-index: 1000;" v-if="filter.from != $CONSTANTS.fromRoute.rule" v-show="dropdownMenuShow" >
|
<ul :class="{'el-dropdown-menu nz-chart-dropdown':!isExplore,'el-dropdown-menu nz-chart-dropdown-one':isExplore}" :id="'dropdownUl'+chartIndex" slot="dropdown" style="position: absolute; top: 30px; left: calc(50% - 79px); transform-origin: center top; z-index: 1000;" v-if="filter.from != $CONSTANTS.fromRoute.rule&&chartTitleShow" v-show="dropdownMenuShow" >
|
||||||
<li v-show="!isExplore" @click="refreshChart" class="el-dropdown-menu__item">
|
<li v-show="!isExplore" @click="refreshChart" class="el-dropdown-menu__item">
|
||||||
<i class="global-active-color el-icon-refresh-right" style="font-size: 16px;"></i><span>{{$t('dashboard.refresh')}}</span></li>
|
<i class="global-active-color el-icon-refresh-right" style="font-size: 16px;"></i><span>{{$t('dashboard.refresh')}}</span></li>
|
||||||
<li @click="editChart" class="el-dropdown-menu__item" v-has="`${from}_chart_toEdit`" v-show="!isExplore">
|
<li @click="editChart" class="el-dropdown-menu__item" v-has="`${from}_chart_toEdit`" v-show="!isExplore">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="display: flex;">
|
<div class="tooltip-box" style="display: flex;" v-if="chartData.tooltipShow">
|
||||||
<span class="temp-dom"></span>
|
<span class="temp-dom"></span>
|
||||||
<div style="width: 400px;height: 400px;" v-if="chartData.displayChart">
|
<div class="tooltip-box-chart" style="" v-if="chartData.displayChart&&chartData.tooltipShow">
|
||||||
<line-chart-block v-if="chartData.type !== 'table'"
|
<line-chart-block v-if="chartData.type !== 'table'"
|
||||||
:key="'inner' + chartData.id"
|
:key="'inner' + chartData.id"
|
||||||
:from="'project'"
|
:from="'project'"
|
||||||
@@ -12,7 +12,6 @@
|
|||||||
:chart-index="0"
|
:chart-index="0"
|
||||||
:chartTitleShow="false"
|
:chartTitleShow="false"
|
||||||
:chart-data="chartData">
|
:chart-data="chartData">
|
||||||
|
|
||||||
</line-chart-block>
|
</line-chart-block>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -25,7 +24,9 @@
|
|||||||
<!--:panel-id="-1"-->
|
<!--:panel-id="-1"-->
|
||||||
<!--:chart-data="chartData"-->
|
<!--:chart-data="chartData"-->
|
||||||
<!--:chart-index="0"></chart-table>-->
|
<!--:chart-index="0"></chart-table>-->
|
||||||
<expression-info :chart-data="chartData"/>
|
<div class="tooltip-box-info">
|
||||||
|
<expression-info :chart-data="chartData" :filterTime="filterTime"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -45,6 +46,7 @@
|
|||||||
chartDataParent:{
|
chartDataParent:{
|
||||||
type:Object,
|
type:Object,
|
||||||
},
|
},
|
||||||
|
filterTime:{},
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
chartDataParent:{
|
chartDataParent:{
|
||||||
@@ -58,10 +60,6 @@
|
|||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
tempDom: {height: 400, width: ""},
|
tempDom: {height: 400, width: ""},
|
||||||
filterTime: [
|
|
||||||
bus.timeFormate(bus.getOffsetTimezoneData(-1),'yyyy-MM-dd hh:mm:ss'),
|
|
||||||
bus.timeFormate(bus.getOffsetTimezoneData(),'yyyy-MM-dd hh:mm:ss')
|
|
||||||
],
|
|
||||||
chartDataTemp:{"id":8832,"prev":null,"next":null,"panelId":0,"title":"123","span":12,"height":400,"createAt":"2021-01-27 07:36:19","type":"line","unit":2,"weight":0,"pid":null,"buildIn":null,"seq":null,"param":{"last":0,"legendValue":{"total":"off","min":"off","avg":"off","last":"off","max":"off"},"threshold":"","valueMapping":{"mapping":[{"color":{"bac":"#fff","text":"#000"},"text":"","value":""}],"type":"text"},"url":"","nullType":"connected"},"elements":[{"id":14926,"chartId":null,"expression":"cache_evictions_total","type":"expert","legend":"","buildIn":null,"seq":null},{"id":14927,"chartId":null,"expression":"appDevice","type":"expert","legend":"","buildIn":null,"seq":null}],"sync":null,"asset":null,"isLoaded":true,"from":"__vue_devtool_undefined__","draggable":true,"resizable":true,"editable":true},
|
chartDataTemp:{"id":8832,"prev":null,"next":null,"panelId":0,"title":"123","span":12,"height":400,"createAt":"2021-01-27 07:36:19","type":"line","unit":2,"weight":0,"pid":null,"buildIn":null,"seq":null,"param":{"last":0,"legendValue":{"total":"off","min":"off","avg":"off","last":"off","max":"off"},"threshold":"","valueMapping":{"mapping":[{"color":{"bac":"#fff","text":"#000"},"text":"","value":""}],"type":"text"},"url":"","nullType":"connected"},"elements":[{"id":14926,"chartId":null,"expression":"cache_evictions_total","type":"expert","legend":"","buildIn":null,"seq":null},{"id":14927,"chartId":null,"expression":"appDevice","type":"expert","legend":"","buildIn":null,"seq":null}],"sync":null,"asset":null,"isLoaded":true,"from":"__vue_devtool_undefined__","draggable":true,"resizable":true,"editable":true},
|
||||||
chartData:{},
|
chartData:{},
|
||||||
filter:{
|
filter:{
|
||||||
@@ -148,6 +146,7 @@
|
|||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
let res=chartItem.res;
|
let res=chartItem.res;
|
||||||
|
console.log(res);
|
||||||
if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
let series = [];
|
let series = [];
|
||||||
let singleStatRlt = '';
|
let singleStatRlt = '';
|
||||||
@@ -391,10 +390,34 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style lang="scss" scoped>
|
||||||
.temp-dom {
|
.temp-dom {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
}
|
}
|
||||||
|
.tooltip-box{
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 1px 2px 8px 0 rgba(0,0,0,0.11);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 10px;
|
||||||
|
max-height: 400px;
|
||||||
|
min-height: 200px;
|
||||||
|
.tooltip-box-chart{
|
||||||
|
border: 1px solid #E7EAED;
|
||||||
|
width: 400px;
|
||||||
|
height: 400px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.tooltip-box-info{
|
||||||
|
border: 1px solid #E7EAED;
|
||||||
|
background: #FFFFFF;
|
||||||
|
max-height: 400px;
|
||||||
|
min-height: 200px;
|
||||||
|
min-width: 186px;
|
||||||
|
max-width: 300px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,27 +1,36 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="expressionInfo">
|
<div class="expression-info">
|
||||||
<div v-if="expressionInfoData.length===0">No Data</div>
|
<div class="expression-info-title">{{filterTime[1]}}</div>
|
||||||
<div v-if="expressionInfoData.length>0">
|
<div class="expression-info-content" v-if="expressionInfoData.length===0">No Data</div>
|
||||||
<el-row v-for="(item,index) in expressionInfoData" :key="index">
|
<div class="expression-info-content" v-if="expressionInfoData.length>0">
|
||||||
{{item.legend.alias}}
|
<el-row v-for="(item,index) in expressionInfoData" :key="index" v-if="index<20">
|
||||||
{{item.showValue}}
|
<el-col class="info-title" :span="18">{{item.legend.alias}}</el-col>
|
||||||
|
<el-col class="info-content" :span="6" :style="{background:computeData(item).fill,color:computeData(item).text}">{{item.showValue}}</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import chartDataFormat from "@/components/charts/chartDataFormat";
|
|
||||||
export default {
|
export default {
|
||||||
name:"expressionInfo",
|
name:"expressionInfo",
|
||||||
props:{
|
props:{
|
||||||
chartData:{
|
chartData:{
|
||||||
|
|
||||||
}
|
},
|
||||||
|
filterTime:{},
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
chartData(){
|
chartData(){
|
||||||
this.expressionInfoData=[];
|
this.expressionInfoData=[];
|
||||||
|
if(this.chartData.res.length>0){
|
||||||
|
this.chartData.res.forEach((item,index)=>{
|
||||||
|
if(item.status==='success'){
|
||||||
|
this.expressionInfoData=this.expressionInfoData.concat(item.data.result);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
console.log(this.expressionInfoData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data(){
|
data(){
|
||||||
@@ -30,7 +39,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
console.log(this.chartData);
|
|
||||||
if(this.chartData.res.length>0){
|
if(this.chartData.res.length>0){
|
||||||
this.chartData.res.forEach((item,index)=>{
|
this.chartData.res.forEach((item,index)=>{
|
||||||
if(item.status==='success'){
|
if(item.status==='success'){
|
||||||
@@ -41,7 +49,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
computeData(item){
|
||||||
|
if(item.level){
|
||||||
|
return this.chartData.valueMapping.find((item2)=>item.level===item2.level).color
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
fill:'#ffffff',
|
||||||
|
text:'#000000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy(){
|
beforeDestroy(){
|
||||||
|
|
||||||
@@ -49,6 +66,38 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style lang="scss" scoped>
|
||||||
|
.expression-info{
|
||||||
|
padding: 5px;
|
||||||
|
height: 100%;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
letter-spacing: 0;
|
||||||
|
.expression-info-title{
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
letter-spacing: 0;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 40px;
|
||||||
|
height: 40px;
|
||||||
|
border-bottom: 1px dashed #DCE1E7;
|
||||||
|
}
|
||||||
|
.expression-info-content{
|
||||||
|
height: calc(100% - 60px);
|
||||||
|
overflow-y: auto;
|
||||||
|
padding:5px;
|
||||||
|
}
|
||||||
|
.info-title{
|
||||||
|
overflow: hidden;
|
||||||
|
padding-right: 10px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 500;
|
||||||
|
word-break:keep-all; /* 不换行 */
|
||||||
|
white-space:nowrap; /* 不换行 */
|
||||||
|
}
|
||||||
|
.info-content{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -174,7 +174,7 @@
|
|||||||
v-if="tooltipPosition.show&&!editTopologyFlag"
|
v-if="tooltipPosition.show&&!editTopologyFlag"
|
||||||
@mouseover="tooltipOver"
|
@mouseover="tooltipOver"
|
||||||
@mouseout="tooltipOut">
|
@mouseout="tooltipOut">
|
||||||
<topoTooltip :chartDataParent="chartData"/>
|
<topoTooltip :chartDataParent="chartData" :filterTime="filterTime"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<div class="left-bottom" v-if="editTopologyFlag">-->
|
<!--<div class="left-bottom" v-if="editTopologyFlag">-->
|
||||||
@@ -267,6 +267,7 @@
|
|||||||
export default {
|
export default {
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
imgInit:false,//判断图片是否加载完成
|
||||||
toolGroup:'基本形状',
|
toolGroup:'基本形状',
|
||||||
editFlag:true,
|
editFlag:true,
|
||||||
tools:Tools,
|
tools:Tools,
|
||||||
@@ -423,6 +424,9 @@
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
created(){
|
||||||
|
this.addNodeInit();
|
||||||
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
document.getElementById('topology-canvas'+this.topologyIndexF).addEventListener('mousemove',this.canvasMove);
|
document.getElementById('topology-canvas'+this.topologyIndexF).addEventListener('mousemove',this.canvasMove);
|
||||||
window.addEventListener('resize',this.winResize)
|
window.addEventListener('resize',this.winResize)
|
||||||
@@ -450,6 +454,7 @@
|
|||||||
let endTime=this.filterTime[1];
|
let endTime=this.filterTime[1];
|
||||||
let startTime=this.filterTime[0];
|
let startTime=this.filterTime[0];
|
||||||
let step=bus.getStep(startTime,endTime);
|
let step=bus.getStep(startTime,endTime);
|
||||||
|
console.log(data);
|
||||||
data.pens&&data.pens.forEach((item,index)=>{
|
data.pens&&data.pens.forEach((item,index)=>{
|
||||||
this.chartGetData.push({id:item.id,res:[]});
|
this.chartGetData.push({id:item.id,res:[]});
|
||||||
let arr=item.data.expressArr.map((ele)=>{
|
let arr=item.data.expressArr.map((ele)=>{
|
||||||
@@ -499,6 +504,7 @@
|
|||||||
let endTime=this.filterTime[1];
|
let endTime=this.filterTime[1];
|
||||||
let startTime=this.filterTime[0];
|
let startTime=this.filterTime[0];
|
||||||
let step=bus.getStep(startTime,endTime);
|
let step=bus.getStep(startTime,endTime);
|
||||||
|
console.log(data);
|
||||||
data.pens&&data.pens.forEach((item,index)=>{
|
data.pens&&data.pens.forEach((item,index)=>{
|
||||||
this.chartGetData.push({id:item.id,res:[]});
|
this.chartGetData.push({id:item.id,res:[]});
|
||||||
let arr=item.data.expressArr.map((ele)=>{
|
let arr=item.data.expressArr.map((ele)=>{
|
||||||
@@ -517,7 +523,11 @@
|
|||||||
Promise.all(promiseArr).then((res)=>{
|
Promise.all(promiseArr).then((res)=>{
|
||||||
getTopology(this.topologyIndex).open(data);
|
getTopology(this.topologyIndex).open(data);
|
||||||
getTopology(this.topologyIndex).lock(1);
|
getTopology(this.topologyIndex).lock(1);
|
||||||
this.getNodesArr();
|
if(this.fromOverView){
|
||||||
|
getTopology(this.topologyIndex).centerView();
|
||||||
|
// getTopology(this.topologyIndex).fitView();
|
||||||
|
this.getNodesArr();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
@@ -532,7 +542,7 @@
|
|||||||
}
|
}
|
||||||
getTopology(this.topologyIndex).data.projectId=this.obj.id;
|
getTopology(this.topologyIndex).data.projectId=this.obj.id;
|
||||||
getTopology(this.topologyIndex).lock(1);
|
getTopology(this.topologyIndex).lock(1);
|
||||||
this.addNodeInit();
|
|
||||||
this.getModule()//获取module
|
this.getModule()//获取module
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
@@ -542,7 +552,7 @@
|
|||||||
return new Promise(resolve=>{
|
return new Promise(resolve=>{
|
||||||
this.$get('/project/topo',{projectId:this.obj.id}).then(res=>{
|
this.$get('/project/topo',{projectId:this.obj.id}).then(res=>{
|
||||||
let data=res.data.topo;
|
let data=res.data.topo;
|
||||||
if(!data.pens){
|
if(!res.data.topo || !data.pens){
|
||||||
data={
|
data={
|
||||||
bkColor:'#FFFFFF',
|
bkColor:'#FFFFFF',
|
||||||
gridSize:10,
|
gridSize:10,
|
||||||
@@ -550,9 +560,24 @@
|
|||||||
lineWidth:1,
|
lineWidth:1,
|
||||||
ruleColor:"#4e4e4e"
|
ruleColor:"#4e4e4e"
|
||||||
};
|
};
|
||||||
|
this.saveData={...data};
|
||||||
|
resolve(data);
|
||||||
|
}else{
|
||||||
|
let timer=setInterval(()=>{
|
||||||
|
if(!this.imgInit){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
clearInterval(timer);
|
||||||
|
data.pens.forEach((item=>{
|
||||||
|
console.log(item,this.iconArray.find(item1=>item1.id==item.imageId))
|
||||||
|
if(item.type===0&&item.data.imageId){
|
||||||
|
item.image=this.iconArray.find(item1=>item1.id==item.data.imageId).image
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
this.saveData={...data};
|
||||||
|
resolve(data);
|
||||||
|
},100)
|
||||||
}
|
}
|
||||||
this.saveData={...data};
|
|
||||||
resolve(data);
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -595,12 +620,12 @@
|
|||||||
pen.animateType=selLevel.animateType;
|
pen.animateType=selLevel.animateType;
|
||||||
pen.font.color=selLevel.color.text;
|
pen.font.color=selLevel.color.text;
|
||||||
onChangeAnimateLine(pen,pen.animateType);
|
onChangeAnimateLine(pen,pen.animateType);
|
||||||
pen.font.color=selLevel.color.text;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(pen.type===0&&pen.animatePlay){// 判断valueMapping 给相应的状态
|
if(pen.type===0&&pen.animatePlay){// 判断valueMapping 给相应的状态
|
||||||
onChangeAnimate(pen,pen.animateType);
|
onChangeAnimate(pen,pen.animateType);
|
||||||
}else if(pen.type===1&&pen.animatePlay){// 判断valueMapping 给相应的状态
|
}else if(pen.type===1&&pen.animatePlay){// 判断valueMapping 给相应的状态
|
||||||
|
console.log(123123123);
|
||||||
onChangeAnimateLine(pen,pen.animateType);
|
onChangeAnimateLine(pen,pen.animateType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -784,7 +809,7 @@
|
|||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
this.dragFlag=true;
|
this.dragFlag=true;
|
||||||
},100);
|
},100);
|
||||||
event.dataTransfer.setData('Text',JSON.stringify(node.data));
|
event.dataTransfer.setData('Text',JSON.stringify({...node.data,data:{imageId:node.data.imageId}}));
|
||||||
},
|
},
|
||||||
dragFlagChange(node){
|
dragFlagChange(node){
|
||||||
getTopology(this.topologyIndex).addNode(
|
getTopology(this.topologyIndex).addNode(
|
||||||
@@ -794,7 +819,8 @@
|
|||||||
...node.data.rect,
|
...node.data.rect,
|
||||||
x:this.$refs['topology-canvas'+this.topologyIndexF].offsetWidth/2-50,
|
x:this.$refs['topology-canvas'+this.topologyIndexF].offsetWidth/2-50,
|
||||||
y:this.$refs['topology-canvas'+this.topologyIndexF].offsetHeight/2-50
|
y:this.$refs['topology-canvas'+this.topologyIndexF].offsetHeight/2-50
|
||||||
}
|
},
|
||||||
|
data:{imageId:node.data.imageId}
|
||||||
});
|
});
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
this.dragFlag=true;
|
this.dragFlag=true;
|
||||||
@@ -802,7 +828,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
onMessage(event,data){
|
onMessage(event,data){
|
||||||
// console.log('onMessage',event,data);
|
console.log('onMessage',event,data);
|
||||||
// console.log(getTopology(this.topologyIndex))
|
// console.log(getTopology(this.topologyIndex))
|
||||||
if(getTopology(this.topologyIndex)){
|
if(getTopology(this.topologyIndex)){
|
||||||
this.cachesIndex=getTopology(this.topologyIndex).caches.index;
|
this.cachesIndex=getTopology(this.topologyIndex).caches.index;
|
||||||
@@ -812,8 +838,9 @@
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
if(!Array.isArray(data)&&data){//判断不是数组 提前个data配置好节点属性
|
if(!Array.isArray(data)&&data){//判断不是数组 提前个data配置好节点属性
|
||||||
if(data.type===0&& !data.data){
|
if(data.type===0&& !data.data.moduleId){
|
||||||
data.data={
|
data.data={
|
||||||
|
...data.data,
|
||||||
moduleId:'',
|
moduleId:'',
|
||||||
moduleName:'',
|
moduleName:'',
|
||||||
show:false,
|
show:false,
|
||||||
@@ -889,15 +916,17 @@
|
|||||||
switch(event){
|
switch(event){
|
||||||
case 'moveInNode':
|
case 'moveInNode':
|
||||||
case 'moveInLine':
|
case 'moveInLine':
|
||||||
if(this.timer3){
|
// if(this.timer3){
|
||||||
clearTimeout(this.timer3);
|
// clearTimeout(this.timer3);
|
||||||
this.timer3=null
|
// this.timer3=null
|
||||||
}
|
// }
|
||||||
this.chartData={...data.data,...this.chartGetData.find(item=>item.id===data.id)};
|
this.chartData={...data.data,...this.chartGetData.find(item=>item.id===data.id)};
|
||||||
this.tooltipPosition.show=true;
|
this.tooltipPosition.show=true;
|
||||||
break;
|
break;
|
||||||
case 'moveOutNode':
|
case 'moveOutNode':
|
||||||
case 'moveOutLine':
|
case 'moveOutLine':
|
||||||
|
this.tooltipPosition.show=false;
|
||||||
|
return
|
||||||
if(!this.timer3){
|
if(!this.timer3){
|
||||||
this.timer3=setTimeout(()=>{
|
this.timer3=setTimeout(()=>{
|
||||||
this.tooltipPosition.show=false;
|
this.tooltipPosition.show=false;
|
||||||
@@ -911,7 +940,6 @@
|
|||||||
},300)
|
},300)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
// 右侧输入框编辑状态时点击编辑区域其他元素,onMessage执行后才执行onUpdateProps方法,通过setTimeout让onUpdateProps先执行
|
// 右侧输入框编辑状态时点击编辑区域其他元素,onMessage执行后才执行onUpdateProps方法,通过setTimeout让onUpdateProps先执行
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
@@ -1184,34 +1212,35 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
addNodeInit(selImageId){
|
addNodeInit(){
|
||||||
this.$get('/project/topo/icon').then(res=>{
|
this.$get('/project/topo/icon').then(res=>{
|
||||||
this.imgageLoading=true;
|
this.imgageLoading=true;
|
||||||
this.tools[1].children=[];
|
this.tools[1].children=[];
|
||||||
|
let promiseArr=[];
|
||||||
res.data.list.forEach((item,index)=>{
|
res.data.list.forEach((item,index)=>{
|
||||||
item.imageName=item.name;
|
item.imageName=item.name;
|
||||||
delete item.name;
|
delete item.name;
|
||||||
this.dealImg(`/project/topo/icon/${item.id}`).then((data)=>{
|
promiseArr.push( this.dealImg(`/project/topo/icon/${item.id}`));
|
||||||
item.image=data;
|
|
||||||
if(index===res.data.list.length-1){
|
|
||||||
setTimeout(()=>{
|
|
||||||
this.iconArray=[...res.data.list];
|
|
||||||
this.iconArray.forEach(item=>{
|
|
||||||
this.tools[1].children.push({
|
|
||||||
...imageTemp,
|
|
||||||
data:{
|
|
||||||
...imageTemp.data,
|
|
||||||
text:item.imageName,
|
|
||||||
image:item.image,
|
|
||||||
imageId:item.id,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
this.imgageLoading=false;
|
|
||||||
},100)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
|
Promise.all(promiseArr).then(res2=>{
|
||||||
|
this.iconArray=[...res.data.list];
|
||||||
|
this.iconArray.forEach((item,index)=>{
|
||||||
|
this.tools[1].children.push({
|
||||||
|
...imageTemp,
|
||||||
|
data:{
|
||||||
|
...imageTemp.data,
|
||||||
|
text:item.imageName,
|
||||||
|
image:res2[index],
|
||||||
|
imageId:item.id,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
item.image=res2[index];
|
||||||
|
});
|
||||||
|
console.log(this.iconArray);
|
||||||
|
this.imgInit=true;
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1302,7 +1331,7 @@
|
|||||||
},
|
},
|
||||||
//保存
|
//保存
|
||||||
saveTopology(){
|
saveTopology(){
|
||||||
let topologyData=getTopology(this.topologyIndex).data;
|
let topologyData=getTopology(this.topologyIndex).pureData();
|
||||||
let flag=true;
|
let flag=true;
|
||||||
topologyData.pens.forEach(item=>{
|
topologyData.pens.forEach(item=>{
|
||||||
if(item.type===0&&((flag&& !item.data)||(flag&&item.data&& !item.data.moduleId))){
|
if(item.type===0&&((flag&& !item.data)||(flag&&item.data&& !item.data.moduleId))){
|
||||||
@@ -1311,8 +1340,15 @@
|
|||||||
});
|
});
|
||||||
if(flag){
|
if(flag){
|
||||||
this.editTopologyFlag=false;
|
this.editTopologyFlag=false;
|
||||||
localStorage.setItem('data',JSON.stringify(topologyData));
|
topologyData.pens.forEach(item=>{
|
||||||
|
if(item.type===0&&JSON.stringify(item.data.imageId)){
|
||||||
|
item.image="";
|
||||||
|
item.animateFrames=[];
|
||||||
|
item.animateReady=null;
|
||||||
|
delete item.img;
|
||||||
|
delete item.lastImage;
|
||||||
|
}
|
||||||
|
});
|
||||||
this.$put('/project/topo',{topo:JSON.stringify(topologyData),projectId:this.projectInfo.id}).then(res=>{
|
this.$put('/project/topo',{topo:JSON.stringify(topologyData),projectId:this.projectInfo.id}).then(res=>{
|
||||||
this.prevent_opt.save=false;
|
this.prevent_opt.save=false;
|
||||||
if(res.code===200){
|
if(res.code===200){
|
||||||
@@ -1328,7 +1364,6 @@
|
|||||||
getTopology(this.topologyIndex).canvasPos=domRect;
|
getTopology(this.topologyIndex).canvasPos=domRect;
|
||||||
this.reload();
|
this.reload();
|
||||||
})
|
})
|
||||||
this.getNodesArr();
|
|
||||||
}
|
}
|
||||||
}).catch(res=>{
|
}).catch(res=>{
|
||||||
this.prevent_opt.save=false;
|
this.prevent_opt.save=false;
|
||||||
@@ -1380,14 +1415,14 @@
|
|||||||
this.tooltipPosition.left=e.offsetX+20;
|
this.tooltipPosition.left=e.offsetX+20;
|
||||||
},
|
},
|
||||||
tooltipOver(){
|
tooltipOver(){
|
||||||
clearTimeout(this.timer3);
|
// clearTimeout(this.timer3);
|
||||||
this.timer3=null
|
// this.timer3=null
|
||||||
},
|
},
|
||||||
tooltipOut(){
|
tooltipOut(){
|
||||||
this.timer3=setTimeout(()=>{
|
// this.timer3=setTimeout(()=>{
|
||||||
this.tooltipPosition.show=false;
|
// this.tooltipPosition.show=false;
|
||||||
this.timer3=null
|
// this.timer3=null
|
||||||
},300)
|
// },300)
|
||||||
},
|
},
|
||||||
nodeDefaultWidth(nodeName){
|
nodeDefaultWidth(nodeName){
|
||||||
switch(nodeName){
|
switch(nodeName){
|
||||||
@@ -1402,7 +1437,9 @@
|
|||||||
destroyed(){
|
destroyed(){
|
||||||
getTopology(this.topologyIndex).destroy();
|
getTopology(this.topologyIndex).destroy();
|
||||||
setTopology(this.topologyIndex,null);
|
setTopology(this.topologyIndex,null);
|
||||||
document.getElementById('topology-canvas'+this.topologyIndexF).removeEventListener('mousemove',this.canvasMove);
|
if(document.getElementById('topology-canvas'+this.topologyIndexF)){
|
||||||
|
document.getElementById('topology-canvas'+this.topologyIndexF).removeEventListener('mousemove',this.canvasMove);
|
||||||
|
}
|
||||||
window.removeEventListener('resize',this.winResize)
|
window.removeEventListener('resize',this.winResize)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user