ソースを参照

对数计算处理

cxmo 9 ヶ月 前
コミット
42a1e620d9

+ 16 - 2
src/views/dataEntry_manage/addChart.vue

@@ -789,13 +789,27 @@ export default {
 						})
 					)
 					if(![10,11].includes(this.chartInfo.ChartType)){
+						//每个数据转换需要检测是否合法
+						for(let i=0;i<db_arr.length;i++){
+							const {IsConvert,ConvertType,ConvertValue} = this.updateData[i]
+							//计算方式是否合法
+							if(IsConvert&&!this.checkConver(ConvertType,ConvertValue)){
+								return this.$message.warning(`第${i+1}个指标数据转换不合法,请检查数值`)
+							}
+							//如果类型为对数,检测数据是否包含负数
+							if(IsConvert&&ConvertType===3){
+								if(!this.checkEdbData(this.tableData[i].DataList)){
+									return this.$message.warning(`第${i+1}个指标数据含有负数,无法进行对数运算,请检查`)
+								}
+							}
+						}
 						db_arr = db_arr.map((item,index)=>{
 							const {IsConvert,ConvertType,ConvertValue,ConvertUnit,ConvertEnUnit} = this.updateData[index]
 							return {
 								...item,
 								IsConvert:Number(IsConvert),
-								ConvertType,
-								ConvertValue:Number(ConvertValue),
+								ConvertType:IsConvert?ConvertType:1,
+								ConvertValue:IsConvert?Number(ConvertValue):100,
 								ConvertUnit:IsConvert?ConvertUnit:'',
 								ConvertEnUnit:IsConvert?ConvertEnUnit:''
 							}

+ 16 - 2
src/views/dataEntry_manage/editChart.vue

@@ -885,13 +885,27 @@ export default {
 						})
 					)
 					if(![10,11].includes(this.chartInfo.ChartType)){
+						//每个数据转换需要检测是否合法
+						for(let i=0;i<db_arr.length;i++){
+							const {IsConvert,ConvertType,ConvertValue} = this.updateData[i]
+							//计算方式是否合法
+							if(IsConvert&&!this.checkConver(ConvertType,ConvertValue)){
+								return this.$message.warning(`第${i+1}个指标数据转换不合法,请检查数值`)
+							}
+							//如果类型为对数,检测数据是否包含负数
+							if(IsConvert&&ConvertType===3){
+								if(!this.checkEdbData(this.tableData[i].DataList)){
+									return this.$message.warning(`第${i+1}个指标数据含有负数,无法进行对数运算,请检查`)
+								}
+							}
+						}
 						db_arr = db_arr.map((item,index)=>{
 							const {IsConvert,ConvertType,ConvertValue,ConvertUnit,ConvertEnUnit} = this.updateData[index]
 							return {
 								...item,
 								IsConvert:Number(IsConvert),
-								ConvertType,
-								ConvertValue:Number(ConvertValue),
+								ConvertType:IsConvert?ConvertType:1,
+								ConvertValue:IsConvert?Number(ConvertValue):100,
 								ConvertUnit:IsConvert?ConvertUnit:'',
 								ConvertEnUnit:IsConvert?ConvertEnUnit:''
 							}

+ 6 - 2
src/views/dataEntry_manage/mixins/addOreditMixin.js

@@ -182,8 +182,7 @@ export default {
 			}
 			//如果类型为对数,检测数据是否包含负数
 			if(ConvertType===3){
-				const {MaxData,MinData} = this.tableData[index]
-				if(MinData<0||MaxData<0){
+				if(!this.checkEdbData(this.tableData[index].DataList)){
 					this.updateData[index].IsConvert = false
 					return this.$message.warning("指标数据含有负数,无法进行对数运算")
 				}
@@ -241,6 +240,11 @@ export default {
 				return value!=0
 			}
 		},
+		checkEdbData(data){
+			const ValueArr = data.map(i=>(i.Value||0))
+			const minData = Math.min(...ValueArr)
+			return minData>0
+		},
 		/* 选择指标 获取指标详情并push到表格中*/
 		selectTarget(item,type='') {
 			if(!item) return