|
@@ -82,10 +82,6 @@ export default {
|
|
|
|
|
|
},
|
|
|
|
|
|
- leftLimitData:[0,0],
|
|
|
- rightLimitData:[0,0],
|
|
|
- rightTwoLimitData:[0,0]
|
|
|
-
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -885,91 +881,81 @@ export default {
|
|
|
/* 指标切换左右轴*/
|
|
|
EdbAxisChange(){
|
|
|
//若用户没有修改过,则计算y轴的上下限
|
|
|
- if(!this.chartInfo.hasLimitChange)
|
|
|
+ if(!this.chartInfo.MinMaxSave){
|
|
|
this.calcYAxislimit()
|
|
|
- },
|
|
|
- /* 计算y轴上下限 */
|
|
|
- calcYAxislimit(){
|
|
|
- //分组
|
|
|
- const leftData = this.tableData.filter(i=>i.IsAxis===1).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
- const rightData = this.tableData.filter(i=>!i.IsAxis).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
- const rightTwoData = this.tableData.filter(i=>i.IsAxis===2).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
- //计算最大最小值
|
|
|
- if(leftData.length){
|
|
|
- const {Max,Min} = this.calcLimit(leftData.flat())
|
|
|
- this.leftLimitData = [Max,Min]
|
|
|
- }else{
|
|
|
- this.leftLimitData = [0,0]
|
|
|
- }
|
|
|
- if(rightData.length){
|
|
|
- const {Max,Min} = this.calcLimit(rightData.flat())
|
|
|
- this.rightLimitData = [Max,Min]
|
|
|
- }else{
|
|
|
- this.rightLimitData = [0,0]
|
|
|
}
|
|
|
- if(rightTwoData.length){
|
|
|
- const {Max,Min} = this.calcLimit(rightTwoData.flat())
|
|
|
- this.rightTwoLimitData = [Max,Min]
|
|
|
- }else{
|
|
|
- this.rightTwoLimitData = [0,0]
|
|
|
- }
|
|
|
- console.table([
|
|
|
- {'y轴':'左轴','最大值':this.leftLimitData[0],'最小值':this.leftLimitData[1]},
|
|
|
- {'y轴':'右轴','最大值':this.rightLimitData[0],'最小值':this.rightLimitData[1]},
|
|
|
- {'y轴':'右二轴','最大值':this.rightTwoLimitData[0],'最小值':this.rightTwoLimitData[1]}
|
|
|
- ])
|
|
|
- },
|
|
|
- calcLimit(arr){
|
|
|
- return {
|
|
|
- Max:Math.max(...arr),
|
|
|
- Min:Math.min(...arr)
|
|
|
- }
|
|
|
- },
|
|
|
- changeAxisLimit(){
|
|
|
- this.setAddChartDefault();
|
|
|
- this.setChartOptionHandle(this.tableData);
|
|
|
},
|
|
|
- //判断用户有没有手动更改过上下限
|
|
|
+ //新增/编辑保存图表时-判断用户有没有手动更改过上下限
|
|
|
getLimitInfo(){
|
|
|
const leftData = this.tableData.filter(i=>i.IsAxis===1).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
const rightData = this.tableData.filter(i=>!i.IsAxis).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
const rightTwoData = this.tableData.filter(i=>i.IsAxis===2).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
- let leftLimitSame=false,rightLimitSame=false,rightTwoLimitSame=false
|
|
|
+ let leftLimitSame=true,rightLimitSame=true,rightTwoLimitSame=true
|
|
|
//若每个轴的最大值和最小值不一致,则认为是更改过
|
|
|
if(leftData.length){
|
|
|
const {Max,Min} = this.calcLimit(leftData.flat())
|
|
|
- leftLimitSame = Max===this.leftLimitData[0]&&Min===this.leftLimitData[1]
|
|
|
+ leftLimitSame = Max===Number(this.leftLimitData[0])&&Min===Number(this.leftLimitData[1])
|
|
|
+ console.table([{
|
|
|
+ 'y轴': '左轴',
|
|
|
+ '设置最大值': this.leftLimitData[0],
|
|
|
+ '设置最小值': this.leftLimitData[1],
|
|
|
+ '指标最大值':Max,
|
|
|
+ '指标最小值':Min
|
|
|
+ }])
|
|
|
}
|
|
|
if(rightData.length){
|
|
|
const {Max,Min} = this.calcLimit(rightData.flat())
|
|
|
- rightLimitSame = Max===this.rightLimitData[0]&&Min===this.rightLimitData[1]
|
|
|
+ rightLimitSame = Max===Number(this.rightLimitData[0])&&Min===Number(this.rightLimitData[1])
|
|
|
+ console.table([{
|
|
|
+ 'y轴': '右轴',
|
|
|
+ '设置最大值': this.rightLimitData[0],
|
|
|
+ '设置最小值': this.rightLimitData[1],
|
|
|
+ '指标最大值':Max,
|
|
|
+ '指标最小值':Min
|
|
|
+ }])
|
|
|
}
|
|
|
if(rightTwoData.length){
|
|
|
const {Max,Min} = this.calcLimit(rightTwoData.flat())
|
|
|
- rightTwoLimitSame = Max===this.rightTwoLimitData[0]&&Min===this.rightTwoLimitData[1]
|
|
|
+ rightTwoLimitSame = Max===Number(this.rightTwoLimitData[0])&&Min===Number(this.rightTwoLimitData[1])
|
|
|
+ console.table([{
|
|
|
+ 'y轴': '右二轴',
|
|
|
+ '设置最大值': this.rightTwoLimitData[0],
|
|
|
+ '设置最小值': this.rightTwoLimitData[1],
|
|
|
+ '指标最大值':Max,
|
|
|
+ '指标最小值':Min
|
|
|
+ }])
|
|
|
}
|
|
|
let limitSame = leftLimitSame&&rightLimitSame&&rightTwoLimitSame
|
|
|
return limitSame
|
|
|
},
|
|
|
//编辑图表-获取接口的上下限数据赋值
|
|
|
getLimitData(){
|
|
|
- /* const {
|
|
|
+ const {
|
|
|
//左右轴极值字段
|
|
|
+ LeftMin=0,LeftMax=0,
|
|
|
+ RightMin=0,RightMax=0,
|
|
|
+ Right2Min=0,Right2Max=0,
|
|
|
+ MinMaxSave
|
|
|
} = this.chartInfo
|
|
|
- this.leftLimitData = []
|
|
|
- this.rightLimitData = []
|
|
|
- this.rightTwoLimitData = []
|
|
|
- //右二轴之前没存字段,需要单独处理下
|
|
|
- //若右二轴的上下限均为0,则不管用户有没有修改过,都重新赋值
|
|
|
- if(this.rightTwoLimitData[0]===0&&this.rightTwoLimitData[1]===0){
|
|
|
- const rightTwoData = this.tableData.filter(i=>i.IsAxis===2).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
- if(rightTwoData.length){
|
|
|
- const {Max,Min} = this.calcLimit(rightTwoData.flat())
|
|
|
- this.rightTwoLimitData = [Max,Min]
|
|
|
- }else{
|
|
|
- this.rightTwoLimitData = [0,0]
|
|
|
+ if(MinMaxSave){
|
|
|
+ this.leftLimitData = [Number(LeftMin),Number(LeftMax)]
|
|
|
+ this.rightLimitData = [Number(RightMin),Number(RightMax)]
|
|
|
+ this.rightTwoLimitData = [Number(Right2Min),Number(Right2Max)]
|
|
|
+ //右二轴之前没存字段,需要单独处理下
|
|
|
+ //若右二轴的上下限均为0,则不管用户有没有修改过,都重新赋值
|
|
|
+ if(this.rightTwoLimitData[0]===0&&this.rightTwoLimitData[1]===0){
|
|
|
+ const rightTwoData = this.tableData.filter(i=>i.IsAxis===2).map(i=>[Number(i.MinData),Number(i.MaxData)])
|
|
|
+ if(rightTwoData.length){
|
|
|
+ const {Max,Min} = this.calcLimit(rightTwoData.flat())
|
|
|
+ this.rightTwoLimitData = [Max,Min]
|
|
|
+ }else{
|
|
|
+ this.rightTwoLimitData = [0,0]
|
|
|
+ }
|
|
|
}
|
|
|
- } */
|
|
|
+ }else{
|
|
|
+ this.EdbAxisChange()
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|