From 2ae27204ef36ca92973898c0c827e7feebfa8868 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 15 Sep 2022 17:04:26 +0800
Subject: [PATCH] 限制数字输入框输入负数,部分输入框限制输入为正整数

---
 src/views/wel/farming.vue       |    9 +++
 src/views/stock/stockmanage.vue |   28 ++++++--
 src/views/farm/farm.vue         |   86 +++++++++++++++-------------
 src/views/task/task.vue         |   13 ++++
 src/views/stock/stockout.vue    |   16 +++++
 5 files changed, 103 insertions(+), 49 deletions(-)

diff --git a/src/views/farm/farm.vue b/src/views/farm/farm.vue
index 5a6ce90..2b07512 100644
--- a/src/views/farm/farm.vue
+++ b/src/views/farm/farm.vue
@@ -59,6 +59,13 @@
         getMapDataInThere
     },
     data () {
+        const validateNum = (rule, value, callback) => {
+            if (!/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/.test(value)) {
+                callback(new Error("请输入正整数"));
+            } else {
+                callback();
+            }
+        };
         return {
             loading: true,
             selectionList: [],
@@ -165,7 +172,8 @@
                         rules: [{
                             required: true,
                             message: "请输入农场面积",
-                            trigger: "blur"
+                            trigger: "blur",
+                            validator: validateNum
                         }]
                     },
                     {
@@ -258,7 +266,6 @@
         //latitude   longitude   formattedAddress
         "form.avueMapAddress":{
             handler (newObj, oldObj) {
-                console.log(newObj,111)
                 if (newObj) {
                   this.form.farmAddress = newObj.formattedAddress
                   this.form.latitude = newObj.latitude
@@ -291,24 +298,24 @@
         rowSave (row, done, loading) {
             row['tenantId'] = this.userInfo.tenant_id
             row['deptId'] = this.userInfo.dept_id
-            if (this.polygonsFarm.length == 0) {
-                //没有面的数据
-                this.$refs.getMapData.isCheck = true
-                loading()
-            } else {
-                //如果有值,空间坐标转换
-                let pol = this.polygonsFarm
-                let polLength = this.polygonsFarm.length - 1
-                let usePolygons = ""
-                for (let k in pol) {
-                    usePolygons += pol[k].lng + "," + pol[k].lat
-                    if (k != polLength) {
-                        usePolygons += ";"
-                    }
-                }
-                //设置坐标点
-                row.position = usePolygons
-            }
+            // if (this.polygonsFarm.length == 0) {
+            //     //没有面的数据
+            //     this.$refs.getMapData.isCheck = true
+            //     loading()
+            // } else {
+            //     //如果有值,空间坐标转换
+            //     let pol = this.polygonsFarm
+            //     let polLength = this.polygonsFarm.length - 1
+            //     let usePolygons = ""
+            //     for (let k in pol) {
+            //         usePolygons += pol[k].lng + "," + pol[k].lat
+            //         if (k != polLength) {
+            //             usePolygons += ";"
+            //         }
+            //     }
+            //     //设置坐标点
+            //     row.position = usePolygons
+            // }
             add(row).then(() => {
                 this.onLoad(this.page)
                 this.$message({
@@ -322,24 +329,24 @@
             })
         },
         rowUpdate (row, index, done, loading) {
-            if (this.polygonsFarm.length == 0) {
-                //没有面的数据
-                this.$refs.getMapData.isCheck = true
-                loading()
-            } else {
-                //如果有值,空间坐标转换
-                let pol = this.polygonsFarm
-                let polLength = this.polygonsFarm.length - 1
-                let usePolygons = ""
-                for (let k in pol) {
-                    usePolygons += pol[k].lng + "," + pol[k].lat
-                    if (k != polLength) {
-                        usePolygons += ";"
-                    }
-                }
-                //设置坐标点
-                row.position = usePolygons
-            }
+            // if (this.polygonsFarm.length == 0) {
+            //     //没有面的数据
+            //     this.$refs.getMapData.isCheck = true
+            //     loading()
+            // } else {
+            //     //如果有值,空间坐标转换
+            //     let pol = this.polygonsFarm
+            //     let polLength = this.polygonsFarm.length - 1
+            //     let usePolygons = ""
+            //     for (let k in pol) {
+            //         usePolygons += pol[k].lng + "," + pol[k].lat
+            //         if (k != polLength) {
+            //             usePolygons += ";"
+            //         }
+            //     }
+            //     //设置坐标点
+            //     row.position = usePolygons
+            // }
             // 修改
             update(row).then((res) => {
                 if (res.data.success) {
@@ -404,7 +411,6 @@
                 getDetails(this.form.id).then((res) => {
                     if (res.data.code == 200) {
                         this.form = res.data.data
-                        console.log(this.form,22222)
                         this.form.avueMapAddress = {
                           "formattedAddress": this.form.farmAddress,
                           "longitude": this.form.longitude,
@@ -420,7 +426,7 @@
                                 lat: +usePolygons[k].split(" ")[1],
                             }
                         }
-                        this.$refs.getMapData.draw(usePolygons)
+                        // this.$refs.getMapData.draw(usePolygons)
                     }
                 })
             }
diff --git a/src/views/stock/stockmanage.vue b/src/views/stock/stockmanage.vue
index b06b1dd..b8ccfa2 100644
--- a/src/views/stock/stockmanage.vue
+++ b/src/views/stock/stockmanage.vue
@@ -186,6 +186,14 @@
 
 export default {
   data() {
+    const validateNum = (rule, value, callback) => {
+      if (!/^[1-9]\d*$/.test(value)) {
+        callback(new Error("请输入正整数"));
+      } else {
+        callback();
+      }
+    };
+
     return {
       formInline: {
         stype: "",
@@ -242,8 +250,9 @@
             span: 7,
             rules: [{
               required: true,
-              message: "请输入规格",
-              trigger: "blur"
+              // message: "请输入规格",
+              trigger: "blur",
+              validator: validateNum
             }]
           },
           {
@@ -285,8 +294,9 @@
             prop: "amount",
             rules: [{
               required: true,
-              message: "请输入入库数量",
-              trigger: "blur"
+              // message: "请输入入库数量",
+              trigger: "blur",
+              validator: validateNum
             }]
           },
           {
@@ -454,8 +464,9 @@
             prop: "amount1",
             rules: [{
               required: true,
-              message: "请输入入库数量",
-              trigger: "blur"
+              // message: "请输入入库数量",
+              trigger: "blur",
+              validator: validateNum
             }]
           },
           {
@@ -626,8 +637,9 @@
             prop: "amount1",
             rules: [{
               required: true,
-              message: "请输入入库数量",
-              trigger: "blur"
+              // message: "请输入入库数量",
+              trigger: "blur",
+              validator: validateNum
             }]
           },
           {
diff --git a/src/views/stock/stockout.vue b/src/views/stock/stockout.vue
index b7dd40a..67bd758 100644
--- a/src/views/stock/stockout.vue
+++ b/src/views/stock/stockout.vue
@@ -108,6 +108,13 @@
 
 export default {
   data() {
+    const validateNum = (rule, value, callback) => {
+      if (!/^[1-9]\d*$/.test(value)) {
+        callback(new Error("请输入正整数"));
+      } else {
+        callback();
+      }
+    };
     return {
       formInline: {
         stype: "",
@@ -149,6 +156,12 @@
             span: 20,
             type: "number",
             prop: "spn",
+            rules: [{
+              required: false,
+              // message: "请输入入库数量",
+              trigger: "blur",
+              validator: validateNum
+            }]
           }
         ],
       },
@@ -210,11 +223,13 @@
         this.$message.warning("退回失败! 退回数量不可大于剩余数量");
         this.outScoke = false
         done();
+        return
       }
       if (row.spn < 0) {
         this.$message.warning("退回失败! 退回数量不可小于0");
         this.outScoke = false
         done();
+        return
       }
       //退回数量等于入库数量
       if (row.spn == row.num) {
@@ -435,7 +450,6 @@
         page.pageSize,
         Object.assign(params, this.query)
       ).then((res) => {
-        console.log(res)
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
diff --git a/src/views/task/task.vue b/src/views/task/task.vue
index 4799669..4101cce 100644
--- a/src/views/task/task.vue
+++ b/src/views/task/task.vue
@@ -72,6 +72,14 @@
 
 export default {
   data() {
+    const validateNum = (rule, value, callback) => {
+      if (!/^[1-9]\d*$/.test(value)) {
+        callback(new Error("请输入正整数"));
+      } else {
+        callback();
+      }
+    };
+
     return {
       form: {},
       query: {},
@@ -179,6 +187,11 @@
             type: "number",
             // labelWidth: 110,
             display: false,
+            rules:[{
+              require:false,
+              trigger: "blur",
+              validator: validateNum
+            }]
           },
           {
             label: "拍照照片",
diff --git a/src/views/wel/farming.vue b/src/views/wel/farming.vue
index d959852..a591268 100644
--- a/src/views/wel/farming.vue
+++ b/src/views/wel/farming.vue
@@ -23,6 +23,14 @@
 
 export default {
   data() {
+    const validateNum = (rule, value, callback) => {
+      if (!/^[1-9]\d*$/.test(value)) {
+        callback(new Error("请输入正数"));
+      } else {
+        callback();
+      }
+    };
+
     return {
       title: "农事操作",
       form: {
@@ -126,6 +134,7 @@
             prop: "snum",
             span: 6,
             display: false,
+            rules:[{required: false, validator: validateNum, trigger: 'blur'}]
           },
           {
             label: "作业方式",

--
Gitblit v1.9.3