Browse Source

1.首页增加查询提示;2.栏舍配方恢复接口参数调整;3.撒料计划新增校验提示;4.准确性分析新增混料时间查询

duanxiaoduan 1 year ago
parent
commit
5649dfc9fb

+ 3 - 3
src/utils/request.js

@@ -14,9 +14,9 @@ if (DoMainString) {
 var reg =  /(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/;
 var browserUrl = window.location.hostname
 console.log("========url===",reg.test(browserUrl))
-// if (reg.test(browserUrl)){
-//   URL = window.location.protocol +"//"+ browserUrl + ":8082/"
-// }
+if (reg.test(browserUrl)){
+  URL = window.location.protocol +"//"+ browserUrl + ":80/"
+}
 
 Cookies.set('url',URL)
 console.log(process.env.VUE_APP_BASE_API,'===========URL1111')

+ 2 - 3
src/views/dashboard/pasture/index.vue

@@ -95,7 +95,7 @@
           </el-select>
           <div class="todayPlan">
             <div>
-              <div id="row2chartLine1" style="height: 185px;" />
+              <div id="row2chartLine1" style="height: 185px;" v-loading="row1.listLoading" />
               <div class="bottom">
                 <div class="bottom-l">
                   <div class="bottom-l-t">
@@ -116,7 +116,7 @@
               </div>
             </div>
             <div>
-              <div id="row2chartLine2" style="height: 185px;" />
+              <div id="row2chartLine2" style="height: 185px;" v-loading="row1.listLoading"  />
               <div class="bottom">
                 <div class="bottom-l">
                   <div class="bottom-l-t">
@@ -725,7 +725,6 @@ export default {
           this.row2.chart1.chartLine_data.data2 = parseFloat(response.data.list[0].planTimes)
           this.row2.chart2.chartLine_data.data1 = parseFloat(response.data.list[0].doneWeight)
           this.row2.chart2.chartLine_data.data2 = parseFloat(response.data.list[0].planWeight)
-
           this.roadChartLine1(this.row2.chart1.chartLine_data)
           this.roadChartLine2(this.row2.chart2.chartLine_data)
         } else {

+ 17 - 27
src/views/formulationPlan/dhedFormula/index.vue

@@ -328,7 +328,7 @@
         </div>
       </div>
       <div slot="footer" class="dialog-footer" style="bottom: 10px;">
-        <el-button class="cancelClose cancelClose1" @click="history.dialogFormVisible = false; ">关闭</el-button>
+        <el-button class="cancelClose cancelClose1" @click="history.dialogFormVisible = false;getList() ">关闭</el-button>
       </div>
     </el-dialog>
 
@@ -3426,9 +3426,10 @@ export default {
       }).then(() => {
       const dataList = this.history.list
       const result = dataList.filter(obj => obj.barname === row.barname);
-
+      console.log(result,'result')
        const barList = []
        result.forEach((item)=>{
+         console.log(item,'item')
          let obj = {}
          obj.barname = item.barname
          obj.ccount = item.ccount
@@ -3443,7 +3444,6 @@ export default {
          if(item.timesin == '6'){ obj.times6 = item.tratio }else{ obj.times6 = 0 }
          barList.push(obj)
        })
-
        // 根据 "barname" 属性进行分组
        const groupedData = barList.reduce((acc, obj) => {
            const key = obj.barname;
@@ -3454,21 +3454,25 @@ export default {
            }
            return acc;
        }, {});
-
+       console.log(groupedData,'groupedData')
+       console.log(Object.keys(groupedData),'groupedData')
        // 合并相同 "barname" 值的对象
-       const result1 = {};
-       for (const key in groupedData) {
-           if (Object.hasOwnProperty.call(groupedData, key)) {
-               result1[key] = this.mergeObjects(groupedData[key]);
+       const consolidatedData = groupedData[Object.keys(groupedData)[0]].reduce((acc, item) => {
+           for (const key in item) {
+               if (key.startsWith('times')) {
+                   acc[key] = (acc[key] || 0) + parseFloat(item[key]);
+               } else {
+                   acc[key] = item[key];
+               }
            }
-       }
-       let arr1 = []
-       arr1.push(result1[row.barname])
-       console.log(arr1,'arr1')
+           return acc;
+       }, {});
+
+       console.log(consolidatedData);
        const url = 'authdata/fpdetail/batch/edit'
        let data = {
          pastureId:Cookies.get('pastureid'),
-         barList:arr1
+         barList:[consolidatedData]
        }
        postJson(url, data).then(response => {
          if(response.msg !== 'fail'){
@@ -3482,20 +3486,6 @@ export default {
       }).catch(() => {
         this.$message({ type: 'info', message: '已取消恢复' })
       })
-    },
-    mergeObjects(arr) {
-        return arr.reduce((acc, obj) => {
-            for (const key in obj) {
-                if (Object.hasOwnProperty.call(obj, key)) {
-                    if (!acc.hasOwnProperty(key)) {
-                        acc[key] = obj[key];
-                    } else if (!isNaN(parseFloat(obj[key]))) {
-                        acc[key] = parseFloat(acc[key]) + parseFloat(obj[key]);
-                    }
-                }
-            }
-            return acc;
-        }, {});
     }
 
   }

+ 37 - 3
src/views/formulationPlan/materialIssuancePlan/index.vue

@@ -4,7 +4,8 @@
       <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" style="float:left;" @click="handleCreate">新增车次
       </el-button>
       <el-button v-if="isRoleEdit" class="danger" icon="el-icon-delete" style="float:left;" @click="handleReduceTrains">减少车次</el-button>
-      <el-button v-if="isRoleEdit" class="success" style="float: left;" @click="handleCheck">校验</el-button>
+      <el-button v-if="isRoleEdit && ischeck" class="danger" style="float: left;" @click="handleCheck">校验</el-button>
+      <el-button v-else-if="isRoleEdit && !ischeck" class="success" style="float: left;" @click="handleCheck">校验</el-button>
       <el-button v-if="isRoleEdit" class="success" icon="el-icon-download" style="float:left;" @click="handleAutomaticGeneration">自动生成</el-button>
       <el-button v-if="isOrder && isRoleEdit" icon="el-icon-sort" style="float: left;" class="success" @click="handleChangeOrder">更改顺序</el-button>
       <div v-else style="float: left;margin-left: 10px;">
@@ -424,7 +425,7 @@
           <b v-if="item.arrList !== null && item.arrList !== undefined && item.arrList.length>0">{{item.ftname}}:</b>
           <span v-if="item.arrList !== null && item.arrList !== undefined && item.arrList.length>0">
             <span v-for="(item2,index2) in item.arrList" :key="index2">
-              {{item2.barname}}
+              {{item2.barname}}({{item2.weight}}kg)
             </span>
           </span>
         </div>
@@ -613,15 +614,47 @@ export default {
           listLoading: false,
         }
       },
-      allEmptySelect:[]
+      allEmptySelect:[],
+      ischeck:false
     }
   },
   created() {
     this.getButtons()
     this.getIsDisplay()
     this.getList()
+    this.getIsCheck()
   },
   methods: {
+    getIsCheck(){
+      const url = 'authdata/GetDataByName'
+      const data = {
+        name:'getSpillageCount',
+        page: 1,
+        offset: 1,
+        pagecount: 0,
+        returntype: 'Map',
+        parammaps: {
+          pastureid: Cookies.get('pastureid'),
+          times: this.table.getdataListParm.parammaps.times,
+          // refresh: 2
+        }
+      }
+      postJson(url, data).then(response => {
+        if (response.data.list !== null) {
+          if(response.data.list[0].count){
+            if(parseFloat(response.data.list[0].count) > 0){
+              this.ischeck = true
+            }else{
+              this.ischeck = false
+            }
+          }else{
+            this.ischeck = false
+          }
+        } else {
+          this.ischeck = false
+        }
+      })
+    },
     getButtons() {
       const Edit = 'MaterialIssuancePlan'
       const isRoleEdit = checkButtons(JSON.parse(sessionStorage.getItem('buttons')), Edit)
@@ -794,6 +827,7 @@ export default {
           }
         }
         this.table.listLoading = false
+        this.getIsCheck()
       })
     },
     changeFrequency(val) {

+ 11 - 16
src/views/statisticalAnalysis/errorAnalysis/pasture/index.vue

@@ -56,8 +56,11 @@
             <el-input-number :controls="false" :precision="2" v-model="tab.table.getdataListParm.parammaps.slzql2" placeholder="撒料正确率" :min="0" :max="100" style="width: 120px;" class="filter-item" clearable />
           </div>
           <el-input v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.templetname" class="filter-item" style="width: 140px;" placeholder="配方名称" />
-          <!--  -->
-          <el-time-picker v-if="tab.isTrainNumber" :default-value="[new Date(0, 0, 0, 0, 0, 0),new Date(0, 0, 0, 23, 59, 59)]" format="HH:mm:ss"  value-format="HH:mm:ss" is-range v-model="tab.table.getdataListParm.parammaps.inputDate"  class="inputDatetime filter-item" range-separator="至" start-placeholder="混料开始时间" end-placeholder="混料结束时间" placeholder="选择时间范围" style="width: 250px;"> </el-time-picker>
+          <div style="display: inline-block;" class="filter-item1">
+            <el-input-number :controls="false" :precision="0" v-model="tab.table.getdataListParm.parammaps.startdate" placeholder="混料开始时间" :min="0" :max="100" style="width: 120px;"  class="filter-item" clearable />
+            <span>-</span>
+            <el-input-number :controls="false" :precision="0" v-model="tab.table.getdataListParm.parammaps.enddate" placeholder="混料结束时间" :min="0" :max="100" style="width: 120px;" class="filter-item" clearable />
+          </div>
           <el-checkbox v-model="tab.table.getdataListParm.parammaps.error" style="margin-right: 10px;" @change="changeccysChecked">只看超出预设值数据</el-checkbox>
           <el-button class="successBorder" @click="form_search">查询</el-button>
           <el-button class="successBorder" @click="handleRefresh1">重置</el-button>
@@ -2784,14 +2787,14 @@ export default {
         } else if (this.tab.radio == '4') {
           var excelDatas4 = [
             {
-              tHeader: ['日期','配方名称','车辆名称','开始加料时间','结束加料时间','TMR名称', '车次', '班次', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料时间','发料开始时间','等待时间','混料自动跳转次数', '混料手动跳转次数', '取消次数','混料正确数','混料正确率','去除取消正确率',  '标准差'],
-              filterVal: ['计划时间1','templetname','TMR名称','startTime','endTime','TMR名称',  '车次', '班次', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料时间','startMaterialTime','等待时间','混料自动跳转次数', '混料手动跳转次数', '取消次数', '混料正确数','混料正确率','去除取消正确率', '方差'],
+              tHeader: ['日期','配方名称','车辆名称','开始加料时间','结束加料时间','TMR名称', '车次', '班次', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料时间','发料开始时间','等待时间','混料自动跳转次数', '混料手动跳转次数', '取消次数','混料正确数','混料正确率','去除取消正确率',  '标准差','区域'],
+              filterVal: ['计划时间1','templetname','TMR名称','startTime','endTime','TMR名称',  '车次', '班次', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料时间','startMaterialTime','等待时间','混料自动跳转次数', '混料手动跳转次数', '取消次数', '混料正确数','混料正确率','去除取消正确率', '方差','barname'],
               tableDatas: this.tab.table.list,
               sheetName: '混料'
             },
             {
-              tHeader: ['日期','配方名称','车辆名称','开始加料时间','结束加料时间','TMR名称', '车次','班次', '驾驶员','理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料时间','发料开始时间','等待时间','撒料自动跳转次数', '撒料手动跳转次数', '取消次数','撒料正确数','撒料正确率','去除取消正确率',  '标准差'],
-              filterVal: ['计划时间1','templetname','TMR名称','startTime','endTime','TMR名称', '车次','班次', '驾驶员', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率','撒料时间','startMaterialTime','等待时间', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数','撒料正确数','撒料正确率','去除取消正确率',  '方差'],
+              tHeader: ['日期','配方名称','车辆名称','开始加料时间','结束加料时间','TMR名称', '车次','班次', '驾驶员','理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料时间','发料开始时间','等待时间','撒料自动跳转次数', '撒料手动跳转次数', '取消次数','撒料正确数','撒料正确率','去除取消正确率',  '标准差','区域'],
+              filterVal: ['计划时间1','templetname','TMR名称','startTime','endTime','TMR名称', '车次','班次', '驾驶员', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率','撒料时间','startMaterialTime','等待时间', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数','撒料正确数','撒料正确率','去除取消正确率',  '方差','barname'],
               tableDatas: this.tab.table2.list,
               sheetName: '撒料'
             }
@@ -3048,14 +3051,6 @@ export default {
         this.tab.table.getdataListParm.parammaps.startTime = ''
         this.tab.table.getdataListParm.parammaps.stopTime = ''
       }
-      if (this.tab.table.getdataListParm.parammaps.inputDate !== '' && this.tab.table.getdataListParm.parammaps.inputDate !== null) {
-        this.tab.table.getdataListParm.parammaps.startdate = parseTime(this.tab.table.getdataListParm.parammaps.inputDate[0], '{h}:{i}:{s}')
-        this.tab.table.getdataListParm.parammaps.enddate = parseTime(this.tab.table.getdataListParm.parammaps.inputDate[1], '{h}:{i}:{s}')
-      } else {
-        this.tab.table.getdataListParm.parammaps.inputDate = ''
-        this.tab.table.getdataListParm.parammaps.startdate = ''
-        this.tab.table.getdataListParm.parammaps.enddate = ''
-      }
       let url = 'authdata/summary'
       let data = {}
       if(this.tab.checked ==false){
@@ -3251,8 +3246,8 @@ export default {
       this.tab.table.getdataListParm.parammaps.slzql1 = undefined
       this.tab.table.getdataListParm.parammaps.slzql2 = undefined
       this.tab.table.getdataListParm.parammaps.templetname = ''
-      this.tab.table.getdataListParm.parammaps.startdate = ''
-      this.tab.table.getdataListParm.parammaps.enddate = ''
+      this.tab.table.getdataListParm.parammaps.startdate = undefined
+      this.tab.table.getdataListParm.parammaps.enddate = undefined
       this.tab.table.getdataListParm.parammaps.error = false
       this.form_search()
     },