Pārlūkot izejas kodu

批量上传云养牛

Shan9312 1 gadu atpakaļ
vecāks
revīzija
b3429d56d3

+ 2 - 2
.env.development

@@ -4,9 +4,9 @@ ENV = 'development'
 # base api
 # 测试线
 # VUE_APP_BASE_API = 'http://192.168.1.70:8082/'
-# VUE_APP_BASE_API = 'http://kpttest.kptyun.com/'
+VUE_APP_BASE_API = 'http://kpttest.kptyun.com/'
 # 白少后台本地
-VUE_APP_BASE_API = 'http://192.168.1.56:80/'
+# VUE_APP_BASE_API = 'http://192.168.1.56:80/'
 # VUE_APP_BASE_API = 'http://192.168.1.93/'
 # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
 # to control whether the babel-plugin-dynamic-import-node plugin is enabled.

+ 80 - 62
src/views/formulationPlan/dailyExecutionPlan/index.vue

@@ -875,13 +875,23 @@
       </div>
     </el-dialog>
 
-    <el-dialog :title="textMap[sapUpload.dialogStatus]" :destroy-on-close="true" :visible.sync="sapUpload.dialogFormVisible" :close-on-click-modal="false" width="30%">
+    <el-dialog :title="textMap[sapUpload.dialogStatus]" :destroy-on-close="true" :visible.sync="sapUpload.dialogFormVisible" :close-on-click-modal="false" width="40%">
       <div class="sapUpload">
         <el-form ref="sapUpload" :rules="sapUpload.rules" :model="sapUpload.temp" label-position="right" label-width="100px" style="width: 100%;margin:0 auto 50px">
           <el-row>
             <el-col :span="24">
               <el-form-item label="时间:" prop="date">
-                <el-date-picker v-model="sapUpload.temp.date" :clearable="false" class="filter-item" type="date" />
+                <el-date-picker v-if="sapUpload.dialogStatus != 'udload5' &&  sapUpload.dialogStatus != 'udload4'"  v-model="sapUpload.temp.date" :clearable="false" class="filter-item" type="date" />
+                <el-date-picker v-else  start-placeholder="开始日期"
+                                        end-placeholder="结束日期" 
+                                        format="yyyy-MM-dd"
+                                        value-format="yyyy-MM-dd"
+                                        v-model="dateRange"
+                                        :clearable="false" 
+                                        :picker-options="pickerOptionsT"
+                                        @change="handleDateChange"
+                                        class="filter-item" type="daterange" />
+                
               </el-form-item>
             </el-col>
           </el-row>
@@ -913,6 +923,7 @@ import {
   postJson2,
   SyncSCJH
 } from '@/api/common'
+import request from '@/utils/request'
 import RevisePlan from './revisePlan.vue'
 import printJS from 'print-js'
 import {
@@ -931,6 +942,13 @@ export default {
   },
   data() {
     return {
+      dateRange: [parseTime(new Date(), '{y}-{m}-{d}'),parseTime(new Date(), '{y}-{m}-{d}')],
+      pickerOptionsT: {
+        // onPick: this.getPickDateT,
+	      disabledDate: this.disabledDateT
+      },
+      pickDateT:'',
+  
       myheight: document.documentElement.clientHeight - 280,
       // myheight: 500,
       enlargeHeight: document.documentElement.clientHeight - 85 - 165 + 50,
@@ -1279,6 +1297,64 @@ export default {
     this.getTmrListParam.parammaps.mydate = parseTime(new Date(), '{y}-{m}-{d}')
   },
   methods: {
+    disabledDateT(time) {
+      const today = new Date();
+      const oneMonthAgo = new Date();
+      oneMonthAgo.setDate(today.getDate()  - 15)
+
+      console.log( today.getTime(),oneMonthAgo.getTime(),'选择日期----2')
+      return time.getTime() > today.getTime() || time.getTime() < oneMonthAgo.getTime();
+   
+    },
+    handleDateChange(value){
+      console.log(value,'arr')
+      if (value.length === 2) {
+        this.dateRange = [value[0], value[1]]
+      }
+    },
+    udData5() {
+      if(this.dateRange.length>=2){
+        this.sendRequests(this.dateRange[0], this.dateRange[1],'/authdata/dusting/yyn/upload')
+      }else{
+        this.$message.warning('请选择日期时间');
+      }
+    },
+    udData4() {
+      if(this.dateRange.length>=2){
+        this.sendRequests(this.dateRange[0], this.dateRange[1],'/authdata/stir/yyn/upload')
+      }else{
+        this.$message.warning('请选择日期时间');
+      }
+    },
+    async sendRequests(startDate, endDate,url) {
+    const start = new Date(startDate);
+    const end = new Date(endDate);
+    const requests = [];
+
+    for (let d = start; d <= end; d.setDate(d.getDate() + 1)) {
+      const dateStr = `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
+      console.log(dateStr,'dateStr');
+      let datas = {
+            pastureId: Cookies.get('pastureid'),
+            date: dateStr
+          }
+          requests.push(postJson(url, datas));
+      }
+    try {
+      const results = await Promise.allSettled(requests);
+      const successCount = results.filter(result => result.status === 'fulfilled').length;
+      const failureCount = results.length - successCount;
+
+      this.$message({
+        message: `成功上传天数: ${successCount}, 失败上传天数: ${failureCount}`,
+        type: 'success'
+      });
+      this.getList();
+      this.sapUpload.dialogFormVisible = false;
+    } catch (error) {
+      this.$message.error('请求过程中发生错误');
+    }
+  },
     getDriverList() {
       const url = 'authdata/GetDataByName'
       const data = {
@@ -3634,70 +3710,12 @@ export default {
       this.sapUpload.dialogStatus = 'udload4'
       this.sapUpload.dialogFormVisible = true
     },
-    udData4() {
-      this.$refs['sapUpload'].validate((valid) => {
-        if (valid) {
-          let url = 'authdata/stir/yyn/upload'
-          let data = {
-            pastureId: Cookies.get('pastureid'),
-            date: parseTime(this.sapUpload.temp.date, '{y}-{m}-{d}')
-          }
-          postJson(url, data).then((response) => {
-            if (response.msg !== 'fail') {
-              this.$notify({
-                title: '成功',
-                message: '保存成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.sapUpload.dialogFormVisible = false
-              this.getList()
-            } else {
-              this.$notify({
-                title: '保存失败',
-                message: response.data,
-                type: 'warning',
-                duration: 2000
-              })
-            }
-          })
-        }
-      })
-    },
+   
     handleGetUd5() {
       this.sapUpload.dialogStatus = 'udload5'
       this.sapUpload.dialogFormVisible = true
     },
-    udData5() {
-      this.$refs['sapUpload'].validate((valid) => {
-        if (valid) {
-          let url = 'authdata/dusting/yyn/upload'
-          let data = {
-            pastureId: Cookies.get('pastureid'),
-            date: parseTime(this.sapUpload.temp.date, '{y}-{m}-{d}')
-          }
-          postJson(url, data).then((response) => {
-            if (response.msg !== 'fail') {
-              this.$notify({
-                title: '成功',
-                message: '保存成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.sapUpload.dialogFormVisible = false
-              this.getList()
-            } else {
-              this.$notify({
-                title: '保存失败',
-                message: response.data,
-                type: 'warning',
-                duration: 2000
-              })
-            }
-          })
-        }
-      })
-    },
+   
     udData1() {
       this.$refs['sapUpload'].validate((valid) => {
         if (valid) {