瀏覽代碼

fix:上传及验证

sungongwei 11 月之前
父節點
當前提交
e97ae3108e
共有 4 個文件被更改,包括 70 次插入22 次删除
  1. 2 3
      src/components/upload-file.vue
  2. 1 1
      src/components/upload-img.vue
  3. 36 18
      src/views/ai/add.vue
  4. 31 0
      src/views/sample/index.vue

+ 2 - 3
src/components/upload-file.vue

@@ -92,8 +92,6 @@ const imgSuccess = async (res, file) => {
     }, 500);
 };
 const beforeAvatarUpload = async (file) => {
-  fileName.value = file.name;
-  console.log(file.name, "file.name");
   console.log(file, "file");
   await uploadToken();
   const isLt2M = file.size / 1024 / 1024 <= 100;
@@ -101,8 +99,9 @@ const beforeAvatarUpload = async (file) => {
     message.error("上传图片大小不能超过 100MB!");
     return false;
   }
+  loading.value=true
   let mimeType = file.name.split(".").pop();
-  upData.value.key = `${qiniuData.value.prefix}img/${file.name}`;
+  upData.value.key = `${qiniuData.value.prefix}img/${getToday()}.${mimeType}`;
   return isLt2M;
 };
 // 获取文件路径

+ 1 - 1
src/components/upload-img.vue

@@ -79,7 +79,7 @@ const imgSuccess = async (res, file) => {
   //   return
   // }
   setTimeout(() => {
-    img.value = `${qiniuData.value.endpoint}${upData.value.key}`;
+    img.value = `${qiniuData.value.endpoint}${upData.value.key}?imageslim`;
 
     emit("imgSuccess", img.value, file);
     console.log(img.value, qiniuData.value, "imgUrl");

+ 36 - 18
src/views/ai/add.vue

@@ -742,6 +742,12 @@ const rules2 = {
       message: "请输入实地监测碳减量",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   satellite: [
     {
@@ -749,6 +755,12 @@ const rules2 = {
       message: "请输入卫星遥感碳减量",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   extent: [
     {
@@ -756,6 +768,12 @@ const rules2 = {
       message: "请输入项目区面积",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   sCount: [
     {
@@ -763,23 +781,26 @@ const rules2 = {
       message: "请输入样地数",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   reservesExtent: [
     { required: true, message: "", type: "array", trigger: "change" },
     {
       validator(rule, value) {
-        if (!value) {
+        if (!Array.isArray(value)) {
           return Promise.reject("请输入数据项");
         } else {
-          if (!value[0].name) {
-            return Promise.reject("请输入横轴名称");
-          } else if (!value[0].count) {
-            return Promise.reject("请输入实测数值");
-          } else if (!value[0].sCount) {
-            return Promise.reject("请输入卫星遥感数值");
-          } else {
-            return Promise.resolve();
+          for(let i in value){
+            if(!value[i].name || isNaN(value[i].count)|| isNaN(value[i].sCount)){
+              return Promise.reject("请检查数据项是否正确,实测数制和遥感数制为数字")
+            }
           }
+          return Promise.resolve();
         }
       },
       trigger: "change",
@@ -789,18 +810,15 @@ const rules2 = {
     { required: true, message: "", type: "array", trigger: "change" },
     {
       validator(rule, value) {
-        if (!value) {
+        if (!Array.isArray(value)) {
           return Promise.reject("请输入数据项");
         } else {
-          if (!value[0].name) {
-            return Promise.reject("请输入横轴名称");
-          } else if (!value[0].count) {
-            return Promise.reject("请输入实测数值");
-          } else if (!value[0].sCount) {
-            return Promise.reject("请输入卫星遥感数值");
-          } else {
-            return Promise.resolve();
+          for(let i in value){
+            if(!value[i].name || isNaN(value[i].count)|| isNaN(value[i].sCount)){
+              return Promise.reject("请检查数据项是否正确,实测数制和遥感数制为数字")
+            }
           }
+          return Promise.resolve();
         }
       },
       trigger: "change",

+ 31 - 0
src/views/sample/index.vue

@@ -141,6 +141,7 @@
               <!-- <a-input v-model:value="state.addData.report"/> -->
               <uploadFile
                 path="cms/admin/img"
+                accept="pdf"
                 :imgUrl="state.addData.report"
                 @imgSuccess="(url) => uploadVideoSuccess(url, 'report')"
                 class="upload-img"
@@ -370,6 +371,12 @@ const rules = {
       message: "请输入蓄积量",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   reserves: [
     {
@@ -377,6 +384,12 @@ const rules = {
       message: "请输入碳储量",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   plantCount: [
     {
@@ -384,6 +397,12 @@ const rules = {
       message: "请输入种植数据总量",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   treeHeight: [
     {
@@ -391,6 +410,12 @@ const rules = {
       message: "请输入平均树高",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   treeDiameter: [
     {
@@ -398,6 +423,12 @@ const rules = {
       message: "请输入平均树径",
       trigger: "blur",
     },
+    {
+      validator(rule, value) {
+        return isNaN( value ) ? Promise.reject("请输入数字类型") : Promise.resolve()
+      },
+      trigger: "change",
+    },
   ],
   img: [
     {