浏览代码

fix(controller): 任意三角形提示不正确

Zhou Jianjia 3 年之前
父节点
当前提交
2d8f9d7aa5
共有 1 个文件被更改,包括 35 次插入10 次删除
  1. 35 10
      pages/formula/anytriangle.vue

+ 35 - 10
pages/formula/anytriangle.vue

xqd xqd
@@ -78,10 +78,7 @@
                 for (const itemKey in this.formData) {
                     validate.push(this.formData[itemKey]);
                 }
-                if(!this.$util.checkArrayNotNullNumber(validate,3)){
-                    this.$u.toast('至少输入三个参数');
-                    return;
-                }
+
                 let lengtha = 0;
                 let lengthb = 0;
                 let lengthc = 0;
@@ -89,17 +86,45 @@
                 let angleb = 0;
                 let anglec = 0;
 
+                lengtha = parseFloat( this.formData.lengtha)?parseFloat(this.formData.lengtha):0;
+                lengthb = parseFloat(this.formData.lengthb)?parseFloat(this.formData.lengthb):0;
+                lengthc = parseFloat(this.formData.lengthc)?parseFloat(this.formData.lengthc):0;
+                anglea = parseFloat(this.formData.anglea)?parseFloat(this.formData.anglea):0;
+                angleb = parseFloat(this.formData.angleb)?parseFloat(this.formData.angleb):0;
+                anglec = parseFloat(this.formData.anglec)?parseFloat(this.formData.anglec):0;
+
+                if(anglea && anglea > 180){
+                    this.$u.toast('角度A不能大于180');
+                    return;
+                }
+
+                if(angleb && angleb > 180){
+                    this.$u.toast('角度B不能大于180');
+                    return;
+                }
+
+                if(anglec && anglec > 180){
+                    this.$u.toast('角度C不能大于180');
+                    return;
+                }
+
+                if((anglea + angleb + anglec) > 180){
+                    this.$u.toast('内角之和不能大于180');
+                    return;
+                }
+
+                if(!this.$util.checkArrayNotNullNumber(validate,3)){
+                    this.$u.toast('至少输入三个参数');
+                    return;
+                }
+
+
                 /**1、 已知a、b、c
                  * cosA=(b²+c²-a²)÷(2bc)
                  * cosB=(a²+c²-b²)÷(2ac)
                  * cosC =(a²+b²-c²)÷(2ab)
                  */
-                lengtha = parseFloat( this.formData.lengtha);
-                lengthb = parseFloat(this.formData.lengthb);
-                lengthc = parseFloat(this.formData.lengthc);
-                anglea = parseFloat(this.formData.anglea);
-                angleb = parseFloat(this.formData.angleb);
-                anglec = parseFloat(this.formData.anglec);
+
                 if(lengtha && lengthb && lengthc){
                     if(!this.$util.checkTriangle(lengtha, lengthb, lengthc)){
                         this.$u.toast('两边之后要大于第三边');