Browse Source

Signed-off-by: 段小段 <1729609802@qq.com>

段小段 3 years ago
parent
commit
1644f13b66

BIN
dist.zip


+ 1 - 0
package.json

@@ -32,6 +32,7 @@
     "path-to-regexp": "2.4.0",
     "screenfull": "4.2.0",
     "sortable.js": "^0.3.0",
+    "umy-ui": "^1.1.6",
     "v-charts": "^1.19.0",
     "vue": "^2.6.11",
     "vue-count-to": "1.0.13",

+ 5 - 2
src/main.js

@@ -3,7 +3,9 @@ import VueRouter from 'vue-router'
 import 'normalize.css/normalize.css' // A modern alternative to CSS resets
 
 import ElementUI from 'element-ui'
-import 'element-ui/lib/theme-chalk/index.css'
+import 'element-ui/lib/theme-chalk/index.css'
+import UmyUi from 'umy-ui'
+import 'umy-ui/lib/theme-chalk/index.css';// 引入样式
 // const ElementUI = require('element-ui')
 // require('element-ui/lib/theme-chalk/index.css')
 import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
@@ -57,7 +59,8 @@ Vue.use(VueRouter)
 Vue.use(pageCount)
 Vue.use(ElementUI, {
   i18n: (key, value) => i18n.t(key, value)
-})
+})
+Vue.use(UmyUi);
 // register global utility filters
 Object.keys(filters).forEach(key => {
   Vue.filter(key, filters[key])

+ 12 - 4
src/views/basicData/equipmentTMR/index.vue

@@ -401,10 +401,17 @@ export default {
       row.isCreate = false
       row.isUpdate = false
       row.isUpdateSave = true
-      row.tclassid = String(row.tclassid)
-      row.autosecond = String(row.autosecond)
+      row.tclassid = String(row.tclassid)
+      if(row.autosecond == undefined){
+        this.$set(row,'autosecond','')
+        this.$set(row,'autosecondname','')
+      }else{
+        row.autosecond = String(row.autosecond)
+      }
       this.table.temp.tclassid = row.tclassid
-      this.table.temp.tclassname = row.tclassname
+      this.table.temp.tclassname = row.tclassname
+      console.log(row)
+      console.log(this.table.temp.tclassname)
     },
     updateData(row) {
       console.log('点击了编辑保存', row)
@@ -415,7 +422,8 @@ export default {
         row.autozone = ''
         row.autosecondname = ''
         this.table.temp.autosecondname = ''
-      }
+      }
+
       this.table.temp.pastureid = Cookies.get('pastureid')
       this.table.temp.eqcode = row.eqcode
       this.table.temp.tname = row.tname

+ 11 - 0
src/views/dashboard/pasture/index.vue

@@ -884,6 +884,17 @@ export default {
         ],
         xAxis: [
           { type: 'category', splitLine: { show: false }, name: '时间', data: chartLine_data.data1, axisLabel: { show: true, textStyle: { color: '#666' }}}
+        ],
+        toolbox: {
+          show: false,
+          feature: {
+            dataZoom: { realtime: false, yAxisIndex: 'none', },
+            restore: {},
+          }
+        },
+        dataZoom:  [
+          {type: 'inside'},        //用于添加滚轮缩放
+          {type:'slider' },  //用于添加滑动条缩放,
         ],
         series: [
           { symbol: 'none', name: '实际重量', type: 'line', symbolSize: 4, data: chartLine_data.data3, smooth: true, barWidth: '37', itemStyle: { normal: { lineStyle: { color: '#38c193' }}}},

+ 4 - 0
src/views/formulationPlan/dailyExecutionPlan/typePage/dhedFormula.vue

@@ -535,6 +535,10 @@ export default {
         console.log(row.weight, '========22')
         row.weight = 0
       }
+      console.log(row.ptsid,'====')
+      if(row.ptsid == undefined){
+        row.ptsid = 0
+      }
       this.requestParam = {}
       this.requestParam.common = { 'returnmap': '0' }
       this.requestParam.data = []

+ 148 - 106
src/views/formulationPlan/dailyExecutionPlan/typePage/materialIssuancePlan.vue

@@ -124,6 +124,7 @@
                 <div slot="content">
                   <div> 栏舍全称:{{ element.barname }} </div>
                   <div> 饲料重量:{{ element.weight }} </div>
+                  <div> 撒料车:{{ element.tmrname }} </div>
                 </div>
                 <div :style="{'background':element.background}" class="tmrname">{{ element.barname }}</div>
               </el-tooltip>
@@ -349,15 +350,22 @@
                       />
                     </el-select>
                   </div>
-                  <div class="arr-l-b">
-                    <el-tooltip placement="top" class="list-group-item1 item" style="height: 18px;line-height: 18px;">
-                      <div slot="content">{{ element.barname }}</div>
-                      <div class="tmrname">{{ element.barname }}</div>
-                    </el-tooltip>
+                  <div class="arr-l-b">
+                    <el-tooltip placement="top" class="list-group-item1 item" style="height: 18px;line-height: 18px;">
+                      <div slot="content">{{ element.tmrname }}</div>
+                      <div class="tmrname">{{ element.tmrname }}</div>
+                    </el-tooltip>
                   </div>
                   <div v-if="element.fttype==0" style="background: #009C69;position:absolute;bottom: 0;left: 0;">补</div>
                 </div>
-                <div class="arr-r">
+                <div class="arr-r">
+                  <div class="arr-r-l">
+                    <el-tooltip placement="top">
+                      <div slot="content">{{ element.barname }}</div>
+                      <div class="barname">{{ element.barname }}</div>
+                    </el-tooltip>
+                  </div>
+                  <div class="arr-r-c">-</div>
                   <div class="arr-r-r">
                     <el-tooltip placement="top">
                       <div slot="content">{{ element.weight }}</div>
@@ -578,7 +586,10 @@ export default {
       }
       postJson(url, data2).then(response => {
         if (response.data !== null) {
-          this.equipmentList = response.data.list
+          this.equipmentList = response.data.list
+          if(this.create.dialogStatus == 'update'){
+            this.create.temp.tclassname = this.equipmentList.find(obj => obj.id ==  this.create.temp.tmrid).tclassname
+          }
         } else {
           this.equipmentList = []
         }
@@ -777,6 +788,8 @@ export default {
           this.create.temp.tmrid = this.create.temp.tmrid2
           this.create.temp.tmrname = this.equipmentList.find(obj => obj.id === item).eqcode
           this.create.temp.maxweight = this.equipmentList.find(obj => obj.id === item).maxstirfeed
+          this.create.temp.mytmrid = this.create.temp.tmrid
+          this.create.temp.mytmrname = this.create.temp.tmrname
           console.log('tmrname==>', this.create.temp)
           if (this.isDispaly || this.create.dialogStatus == 'update') {
             this.getClearList()
@@ -786,6 +799,8 @@ export default {
           this.create.temp.tmrname = this.equipmentList.find(obj => obj.id === this.create.temp.tmrid2).eqcode
           this.create.temp.maxweight = this.equipmentList.find(obj => obj.id === this.create.temp.tmrid2).maxstirfeed
           this.create.temp.tclassname = this.equipmentList.find(obj => obj.id === this.create.temp.tmrid2).tclassname
+          this.create.temp.mytmrid = this.create.temp.tmrid2
+          this.create.temp.mytmrname = this.create.temp.tmrname
           console.log(this.create.temp)
           this.$message({
             type: 'info',
@@ -797,6 +812,8 @@ export default {
         this.create.temp.tmrname = this.equipmentList.find(obj => obj.id === item).eqcode
         this.create.temp.maxweight = this.equipmentList.find(obj => obj.id === item).maxstirfeed
         this.create.temp.tclassname = this.equipmentList.find(obj => obj.id === item).tclassname
+        this.create.temp.mytmrid = this.create.temp.tmrid
+        this.create.temp.mytmrname = this.create.temp.tmrname
         console.log('TMR编号item==>', item)
         console.log('tmrname==>', this.create.temp)
       }
@@ -1231,7 +1248,9 @@ export default {
       this.create.dialogStatus = 'update'
       this.create.dialogFormVisible = true
       row.tmrid2 = row.tmrid
-      this.create.temp = Object.assign({}, row)
+      this.create.temp = Object.assign({}, row)
+      this.create.temp.mytmrname = row.tmrname
+      this.create.temp.mytmrid = row.tmrid
       console.log('this.create.temp', this.create.temp)
       this.create.checkBarList = []
       this.getCreateList1()
@@ -1250,7 +1269,9 @@ export default {
           this.create.temp.times = parseInt(this.create.temp.times)
           this.create.temp.sumcowcount = 0
           this.create.temp.date = this.date
-          data.parammaps = this.create.temp
+          data.parammaps = this.create.temp
+          data.parammaps.tmrid = this.create.temp.mytmrid
+          data.parammaps.tmrname = this.create.temp.mytmrname
           postJson(url, data).then(response => {
             console.log('新增保存发送参数', this.requestParam)
             if (response.msg !== 'fail') {
@@ -1347,6 +1368,7 @@ export default {
       console.log('fttype==>',fttype)
       console.log('myid==>',myid)
       let tclassname = this.equipmentList.find(obj => obj.id == item).tclassname
+      let maxstirfeed = this.equipmentList.find(obj => obj.id == item).maxstirfeed
       if(tclassname == '固定式'){
         this.$message({ type: 'error', message: '固定式设备无法撒料,请选择撒料设备', duration: 2000 })
         this.getCreateList2()
@@ -1354,9 +1376,12 @@ export default {
       }
       var objList = {}
       for (let i = 0; i < this.create.list2.length; i++) {
-        this.create.list2[i].tmrname = this.equipmentList.find(obj => obj.id === item).tname
         if (this.create.list2[i].fttype == fttype && this.create.list2[i].id == myid) {
+          this.create.list2[i].tmrname = this.equipmentList.find(obj => obj.id === item).tname
           objList = this.create.list2[i]
+          if(parseFloat(this.create.list2[i].weight) > parseFloat(maxstirfeed)){
+            objList.weight = maxstirfeed
+          }
         }
       }
       this.requestParam = {}
@@ -1388,6 +1413,7 @@ export default {
         if (response.msg === 'fail') {
           this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
         } else {
+          this.getCreateList2()
           this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
         }
       })
@@ -1744,7 +1770,7 @@ export default {
     }
   }
 </style>
-<style lang="scss">
+<style lang="scss" scoped>
   .spreadingMaterial {
     height: 200px;
     ::-webkit-scrollbar {
@@ -1768,101 +1794,117 @@ export default {
       height: 100%;
       overflow: auto;
     }
-    .list-group-item2 {
-      width: 145px;
-      height: 50px;
-      overflow: hidden;
-      float: left;
-      margin: 5px 5px;
-      position: relative;
-      color: #fff;
-      .arr-t {
-        height: 50px;
-        border-radius: 5px 5px;
-      }
-      .arr-l {
-        float: left;
-        width: 60px;
-        height: 50px;
-        overflow: hidden;
-        border-radius: 5px 50% 50% 5px;
-        .arr-l-t {
-          position: relative;
-          .arr-l-t-t {
-            width: 0;
-            height: 0;
-            border-top: 26px solid #3479f2;
-            border-right: 26px solid transparent;
-          }
-          .arr-l-t-b {
-            position: absolute;
-            top: 4px;
-            left: 1px;
-            color: #fff;
-            width: 10px;
-            height: 10px;
-            .el-input--suffix {
-              opacity: 0;
-              .el-input__inner {
-                height: 10px;
-              }
-            }
-          }
-        }
-        .arr-l-b {
-          width: 45px;
-          position: absolute;
-          top: 15px;
-          left: 10px;
-          color: #fff !important;
-          font-size: 12px;
-          .tmrname {
-            width: 100%;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            white-space: nowrap;
-          }
-        }
-      }
-      .arr-c {
-        position: absolute;
-        top: 0px;
-        left: 0;
-      }
-      .arr-r {
-        float: right;
-        width: 80px;
-        height: 50px;
-        overflow: hidden;
-        line-height: 50px;
-        .arr-r-l {
-          float: left;
-          width: 85px;
-          .barname {
-            width: 95%;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            white-space: nowrap;
-            font-size: 14px;
-            text-align: center;
-          }
-        }
-        .arr-r-c {
-          float: left;
-          width: 10px;
-        }
-        .arr-r-r {
-          float: left;
-          width: 65px;
-          .weight {
-            width: 100%;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            white-space: nowrap;
-            font-size: 14px;
-          }
-        }
-      }
+    .list-group-item2 {
+      width: 220px;
+      height: 50px;
+      overflow: hidden;
+      float: left;
+      margin: 5px 5px;
+      position: relative;
+      color: #fff;
+
+      .arr-t {
+        height: 50px;
+        border-radius: 5px 5px;
+      }
+
+      .arr-l {
+        float: left;
+        width: 60px;
+        height: 50px;
+        overflow: hidden;
+        border-radius: 5px 50% 50% 5px;
+
+        .arr-l-t {
+          position: relative;
+
+          .arr-l-t-t {
+            width: 0;
+            height: 0;
+            border-top: 26px solid #3479f2;
+            border-right: 26px solid transparent;
+          }
+
+          .arr-l-t-b {
+            position: absolute;
+            top: 4px;
+            left: 1px;
+            color: #fff;
+            width: 10px;
+            height: 10px;
+
+            .el-input--suffix {
+              opacity: 0;
+
+              .el-input__inner {
+                height: 10px;
+              }
+            }
+          }
+        }
+
+        .arr-l-b {
+          width: 45px;
+          position: absolute;
+          top: 15px;
+          left: 10px;
+          color: #fff !important;
+          font-size: 12px;
+
+          .tmrname {
+            width: 100%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+          }
+        }
+      }
+
+      .arr-c {
+        position: absolute;
+        top: 0px;
+        left: 0;
+      }
+
+      .arr-r {
+        float: right;
+        width: 160px;
+        height: 50px;
+        overflow: hidden;
+        line-height: 50px;
+
+        .arr-r-l {
+          float: left;
+          width: 70px;
+
+          .barname {
+            width: 95%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            font-size: 14px;
+            text-align: center;
+          }
+        }
+
+        .arr-r-c {
+          float: left;
+          width: 10px;
+        }
+
+        .arr-r-r {
+          float: left;
+          width: 65px;
+
+          .weight {
+            width: 100%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            font-size: 14px;
+          }
+        }
+      }
     }
   }
 </style>

+ 5292 - 0
src/views/formulationPlan/dhedFormula/index - 副本.vue

@@ -0,0 +1,5292 @@
+<template>
+  <div class="app-container">
+    <div class="operation">
+      <!-- 临时隐藏 -->
+      <!-- <el-button v-if="isRoleEdit" class="successBorder" style="float: left;" @click="handleNutritional">营养评估</el-button> -->
+      <!-- 临时隐藏 -->
+      <div class="search">
+        <el-select v-model="table.getdataListParm.parammaps.barid" clearable filterable placeholder="请选择栏舍" style="width: 180px;" class="filter-item">
+          <el-option v-for="item in barList" :key="item.id" :label="item.bname" :value="item.id" />
+        </el-select>
+        <el-select v-model="table.getdataListParm.parammaps.tname" clearable filterable placeholder="请输入配方名称" style="width: 180px;" class="filter-item">
+          <el-option v-for="(item,index) in tnameList" :key="index" :label="item.tname" :value="item.tname" />
+        </el-select>
+        <!-- <el-input v-model="table.getdataListParm.parammaps.tname" placeholder="请输入配方名称" style="width: 180px;" class="filter-item" /> -->
+        <el-button class="successBorder" @click="handleSearch">查询</el-button>
+      </div>
+      <el-button v-if="isRoleEdit" class="successBorder" style="float: left;" @click="handleDryMatterRegulation">干物质调节</el-button>
+      <el-upload style="float: right;" :headers="headers" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImport" :on-success="handleImportSuccess">
+        <el-button v-if="isRoleEdit" class="import" icon="el-icon-download" style="float: right;">导入</el-button>
+      </el-upload>
+      <el-dropdown style="float: right;margin-right: 10px;">
+        <el-button class="export" icon="el-icon-upload2">导出</el-button>
+        <el-dropdown-menu slot="dropdown">
+          <el-dropdown-item @click.native="handleExport(1)">导出模板</el-dropdown-item>
+          <el-dropdown-item @click.native="handleExport(2)">导出数据</el-dropdown-item>
+        </el-dropdown-menu>
+      </el-dropdown>
+      <el-button class="export" style="float: right;margin-right: 10px;" @click="handleHistoryRecords">历史记录</el-button>
+    </div>
+    <div class="search" />
+    <div class="table">
+      <el-table
+        :key="table.tableKey"
+        ref="table"
+        v-loading="table.listLoading"
+        element-loading-text="给我一点时间"
+        :data="table.list"
+        border
+        fit
+        highlight-current-row
+        style="width: 100%;"
+        :row-style="rowStyle"
+        :cell-style="cellStyle"
+        class="elTable table-fixed"
+        :max-height="myHeight"
+        @header-click="headerClick"
+        @cell-click="cellClick"
+        @selection-change="handleSelect"
+        @cell-dblclick="celldblclick"
+      >
+        <el-table-column type="selection" width="50" />
+        <el-table-column :key="1" label="序号" align="center" type="index" width="50px" class-name="small-padding fixed-width" fixed="left" />
+        <el-table-column label="栏舍名称" min-width="100px" align="center" class-name="small-padding fixed-width" fixed="left">
+          <template slot-scope="scope">
+            <span>{{ scope.row.barname }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="2" label="软件牛头数" min-width="70px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.softccount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="3" label="实际牛头数" min-width="90px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.ccount }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.ccount" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurCcount(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column :key="4" label="系数(%)" min-width="85px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.ratio }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.ratio" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurRatio(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column :key="5" label="系数头数" min-width="85px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.ccountratio }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.ccountratio" type="number" style="width:95%;padding:10px 0;" @blur="blurCcountratio(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column :key="6" label="配方模板" min-width="130px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.ftname }}</span>
+            <el-select v-if="scope.row.Edit" v-model="scope.row.ftid" filterable placeholder="配方模板" class="filter-item" style="width:99%;" @change="(value)=> {changeRecipeTemplate(value, scope.row)}">
+              <el-option v-for="item in recipeTemplateList" :key="item.id" :label="item.tname" :value="item.id" />
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isPtsfname" :key="7" label="补料配方" min-width="130px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.ptsfname }}</span>
+            <el-select v-if="scope.row.Edit" v-model="scope.row.ptsfid" clearable filterable placeholder="补料配方" class="filter-item" style="width:95%;padding:10px 0;" @change="(value)=> {changeFeedingFormula(value, scope.row)}">
+              <el-option v-for="item in feedingFormulaList" :key="item.id" :label="item.tname" :value="item.id" />
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW1" :key="8" label="第一班比例(%)" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.r1 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.r1" :disabled="scope.row.isOneWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW1" :key="9" label="第一班重量" min-width="120px" align="center" :render-header="renderHeader">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.w1 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.w1" :disabled="scope.row.isOneWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW(scope.row)" @focus="focusW(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW1 && table.isPtsfname" :key="10" label="第一班补料重量" min-width="120px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.bw1 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.bw1" :disabled="scope.row.ptsfid == '-1' || scope.row.ptsfid == ''" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurBw(scope.row)" @focus="focusBw(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW2" :key="11" label="第二班比例(%)" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.r2 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.r2" step="0.01" type="number" :disabled="scope.row.isTwoWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW2" :key="12" label="第二班重量" min-width="120px" align="center" :render-header="renderHeader">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.w2 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.w2" :disabled="scope.row.isTwoWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW2(scope.row)" @focus="focusW2(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW2 && table.isPtsfname" :key="13" label="第二班补料重量" min-width="120px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.bw2 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.bw2" :disabled="scope.row.ptsfid == '-1' || scope.row.ptsfid == ''" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurBw(scope.row)" @focus="focusBw(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW3" :key="14" label="第三班比例(%)" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.r3 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.r3" step="0.01" type="number" :disabled="scope.row.isThreeWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW3" :key="15" label="第三班重量" min-width="120px" align="center" :render-header="renderHeader">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.w3 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.w3" :disabled="scope.row.isThreeWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW3(scope.row)" @focus="focusW3(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW3 && table.isPtsfname" :key="16" label="第三班补料重量" min-width="120px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.bw3 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.bw3" :disabled="scope.row.ptsfid == '-1' || scope.row.ptsfid == ''" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurBw(scope.row)" @focus="focusBw(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW4" :key="17" label="第四班比例(%)" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.r4 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.r4" step="0.01" type="number" :disabled="scope.row.isFourWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW4" :key="18" label="第四班重量" min-width="120px" align="center" :render-header="renderHeader">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.w4 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.w4" :disabled="scope.row.isFourWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW4(scope.row)" @focus="focusW4(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW4 && table.isPtsfname" :key="19" label="第四班补料重量" min-width="120px" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.NoEdit">{{ scope.row.bw4 }}</span>
+            <el-input v-if="scope.row.Edit" v-model="scope.row.bw4" :disabled="scope.row.ptsfid == '-1' || scope.row.ptsfid == ''" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurBw(scope.row)" @focus="focusBw(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column :key="20" label="饲喂总比例(%)" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.sumr }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="21" label="饲喂投喂量" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.todayweight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="22" label="饲喂配方重量" min-width="70px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.ftweight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isPtsfname" :key="23" label="补料配方重量" min-width="100px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.supplyweight }}</span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column :key="22" label="投喂量" min-width="80px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.feedweight }}</span>
+          </template>
+        </el-table-column> -->
+        <el-table-column v-if="table.isPtsfname" :key="24" label="补料投喂量" min-width="70px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.todaysupplement }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="25" label="日投喂量" min-width="70px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.todayfeed }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="26" label="配方干物质" min-width="70px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.dryweight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" align="center" width="80" class-name="small-padding fixed-width" fixed="right">
+          <template slot-scope="{row}">
+            <el-button v-if="row.isUpdate && isRoleEdit" class="miniSuccess" icon="el-icon-edit-outline" @click="handleUpdate(row)" />
+            <el-button v-if="row.isUpdateSave && isRoleEdit" :disabled="isokDisable" icon="el-icon-folder-checked" class="miniSuccess" @click="updateData(row)" />
+            <span v-if="row.isUpdateSave && isRoleEdit" class="centerSpan">|</span>
+            <el-button v-if="row.isUpdateSave && isRoleEdit" class="minCancel" icon="el-icon-close" @click="updateCancel(row)" />
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- <pagination v-show="table.total>=0" :total="table.total" :page.sync="table.getdataListParm.offset" :limit.sync="table.getdataListParm.pagecount" @pagination="getList" /> -->
+    </div>
+    <!-- 历史记录 -->
+    <el-dialog :fullscreen="dialogFull" :destroy-on-close="true" :visible.sync="history.dialogFormVisible" :close-on-click-modal="false" width="90%">
+      <template slot="title">
+        <div class="avue-crud__dialog__header">
+          <span class="el-dialog__title">
+            <span style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px" />
+            {{ textMap[history.dialogStatus] }}
+          </span>
+          <div class="avue-crud__dialog__menu" @click="dialogFull? dialogFull=false: dialogFull=true">
+            <svg-icon v-if="dialogFull" icon-class="exit-fullscreen" />
+            <svg-icon v-else icon-class="fullscreen" />
+          </div>
+        </div>
+      </template>
+      <div class="app-history">
+        <div class="search">
+          <el-date-picker v-model="history.getdataListParm.parammaps.date" type="date" placeholder="请选择历史记录时间" :clearable="false" style="width: 180px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeDate" />
+          <!-- <el-select v-model="history.getdataListParm.parammaps.barid" clearable filterable placeholder="请选择栏舍" style="width: 180px;" class="filter-item">
+            <el-option v-for="item in barList" :key="item.id" :label="item.bname" :value="item.id" />
+          </el-select>
+          <el-input v-model="history.getdataListParm.parammaps.tname" placeholder="请输入配方名称" style="width: 180px;" class="filter-item" />
+          <el-button class="successBorder" @click="handleHistorySearch">查询</el-button> -->
+          <!-- <el-button class="successBorder" @click="handleApplication">应用</el-button> -->
+        </div>
+        <div class="table">
+          <el-table
+            :key="history.tableKey"
+            v-loading="history.listLoading"
+            element-loading-text="给我一点时间"
+            :data="history.list"
+            border
+            fit
+            highlight-current-row
+            style="width: 100%;"
+            :row-style="rowStyle"
+            :cell-style="cellStyle"
+            class="elTable table-fixed"
+            :span-method="objectSpanMethod"
+          >
+            <el-table-column :key="1" label="序号" align="center" type="index" width="50px" class-name="small-padding fixed-width" fixed="left">
+              <template slot-scope="scope">
+                <span>{{ scope.$index + (history.pageNum-1) * history.pageSize + 1 }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column :key="2" label="栏舍名称" prop="barname" min-width="90px" align="center" class-name="small-padding fixed-width" fixed="left" />
+            <el-table-column :key="3" label="班次" prop="times" min-width="90px" align="center" class-name="small-padding fixed-width" fixed="left" />
+            <el-table-column :key="4" label="软件牛头数" prop="softccount" min-width="70px" align="center" />
+            <el-table-column :key="5" label="实际牛头数" prop="ccount" min-width="70px" align="center" />
+            <el-table-column :key="6" label="系数(%)" prop="ratio" min-width="70px" align="center" />
+            <el-table-column :key="7" label="系数头数" prop="ccountratio" min-width="70px" align="center" />
+            <el-table-column :key="8" label="配方模板" prop="ptname" min-width="70px" align="center" />
+            <el-table-column v-if="table.isPtsfname" :key="9" label="补料配方" prop="ptsname" min-width="70px" align="center" />
+            <el-table-column :key="10" label="班次比例" prop="tratio" min-width="70px" align="center" />
+            <el-table-column :key="11" label="班次重量" prop="weight" min-width="70px" align="center" />
+            <el-table-column :key="12" label="配方重量" prop="pweight" min-width="70px" align="center" />
+            <el-table-column v-if="table.isPtsfname" :key="13" label="补料重量" prop="ptweight" min-width="70px" align="center" />
+            <el-table-column :key="14" label="配方干物质量" prop="dryweight" min-width="70px" align="center" />
+            <el-table-column :key="15" label="饲喂干物质量" prop="swdryw" min-width="70px" align="center" />
+            <el-table-column :key="16" label="采样干物质量" prop="cydryw" min-width="70px" align="center" />
+            <el-table-column :key="17" label="日投喂量" prop="sumweight" min-width="70px" align="center" />
+          </el-table>
+          <pagination2 v-show="history.total>0" :total="history.total" :page.sync="history.getdataListParm.offset" :limit.sync="history.getdataListParm.pagecount" @pagination="getHistoryList" />
+        </div>
+      </div>
+      <div slot="footer" class="dialog-footer" style="bottom: 10px;">
+        <el-button class="cancelClose cancelClose1" @click="history.dialogFormVisible = false; ">关闭</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 营养评估 -->
+    <el-dialog :fullscreen="dialogFull" :visible.sync="nutritional.dialogFormVisible" :close-on-click-modal="false" width="90%">
+      <template slot="title">
+        <div class="avue-crud__dialog__header">
+          <span class="el-dialog__title">
+            <span style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px" />
+            {{ textMap[nutritional.dialogStatus] }}
+          </span>
+          <div class="avue-crud__dialog__menu" @click="dialogFull? dialogFull=false: dialogFull=true">
+            <svg-icon v-if="dialogFull" icon-class="exit-fullscreen" />
+            <svg-icon v-else icon-class="fullscreen" />
+          </div>
+        </div>
+      </template>
+      <div class="app-nutritional">
+        <h4 style="position: absolute;top:-5px;left:140px;font:16px/30px '' ;color:#303133;">栏舍:{{ nutritional.tab1.temp.barname }}</h4>
+        <el-tabs v-model="nutritional.activeName" @tab-click="handleNutritionalTab">
+          <el-tab-pane label="营养评估" name="first">
+            <el-form ref="temp" :rules="rules" :model="nutritional.tab1.temp" label-position="right" label-width="95px" style="width: 100%;margin-bottom:30px">
+              <el-row>
+                <el-col :span="4">
+                  <el-form-item label="类别" prop="cowclassid">
+                    <el-select v-model="nutritional.tab1.temp.cowclassid" :disabled="nutritional.tab1.disabledCowclass" filterable placeholder="" class="filter-item" style="width:100%;">
+                      <el-option v-for="item in livestockTypeList" :key="item.id" :label="item.mixname" :value="item.id" />
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="月龄" prop="avgmonthage">
+                    <el-input ref="avgmonthage" v-model="nutritional.tab1.temp.avgmonthage" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="体重(kg)" prop="bw">
+                    <el-input ref="bw" v-model="nutritional.tab1.temp.bw" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="日增重(kg)" prop="dayw">
+                    <el-input ref="dayw" v-model="nutritional.tab1.temp.dayw" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="胎次(次)" prop="fetal">
+                    <el-input ref="fetal" v-model="nutritional.tab1.temp.fetal" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="泌乳天数(天)" prop="avgdim">
+                    <el-input ref="avgdim" v-model="nutritional.tab1.temp.avgdim" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="4">
+                  <el-form-item label="怀孕天数(天)" prop="dayspre">
+                    <el-input ref="dayspre" v-model="nutritional.tab1.temp.dayspre" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="产奶量(kg)" prop="product">
+                    <el-input ref="product" v-model="nutritional.tab1.temp.product" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="乳脂率(%)" prop="fat">
+                    <el-input ref="fat" v-model="nutritional.tab1.temp.fat" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="乳蛋白率(%)" prop="pro">
+                    <el-input ref="pro" v-model="nutritional.tab1.temp.pro" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="乳糖率(%)" prop="lactose">
+                    <el-input ref="lactose" v-model="nutritional.tab1.temp.lactose" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="温度(℃)" prop="tem">
+                    <el-input ref="tem" v-model="nutritional.tab1.temp.tem" class="filter-item" placeholder="" style="width:100%;" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form>
+            <div style="height: 50px;">
+              <el-date-picker v-model="nutritional.tab1.inputDatetime" :picker-options="pickerOptions" class="inputDatetime filter-item" :clearable="false" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;margin-right: 10px;" />
+              <el-button class="el-icon-arrow-left elIconArrowLeft" @click="handleBefore" />
+              <el-button class="el-icon-arrow-right elIconArrowRight" @click="handleNext" />
+              <el-button class="successBorder" :disabled="isokDisable" @click="assessmentData()">评估</el-button>
+            </div>
+            <div class="table">
+              <el-table
+                :key="nutritional.tab1.tableKey"
+                v-loading="nutritional.tab1.listLoading"
+                element-loading-text="给我一点时间"
+                :data="nutritional.tab1.list"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;margin-bottom:60px;"
+                :row-style="rowStyle"
+                :cell-style="cellStyle"
+                class="elTable table-fixed"
+                :row-class-name="tableRowClassName"
+              >
+                <el-table-column label="序号" align="center" type="index" width="50px" />
+                <el-table-column label="指标" min-width="130px" align="center">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.standard }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="奶牛需要" min-width="130px" align="center">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.cowneed }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="配方量" min-width="130px" align="center">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.ftpro }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="TMR料" min-width="130px" align="center">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.hprov }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="采食量" min-width="130px" align="center">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.sprov }}</span>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="牛群评估" name="second">
+            <el-date-picker v-model="nutritional.tab2.inputDatetime" :picker-options="pickerOptions" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;margin-right: 10px;" @change="changeTab2Date" />
+            <el-button class="el-icon-arrow-left elIconArrowLeft" @click="handleBefore" />
+            <el-button class="el-icon-arrow-right elIconArrowRight" @click="handleNext" />
+            <el-row>
+              <el-col :span="24">
+                <h3 style="text-align: center;">宾州筛分析</h3>
+                <div class="table">
+                  <el-table
+                    :key="nutritional.tab2.tableKey1"
+                    v-loading="nutritional.tab2.listLoading1"
+                    element-loading-text="给我一点时间"
+                    :data="nutritional.tab2.list1"
+                    border
+                    fit
+                    highlight-current-row
+                    style="width: 100%;margin-bottom:60px;"
+                    :row-style="rowStyle"
+                    :cell-style="cellStyle"
+                    class="elTable table-fixed"
+                  >
+                    <el-table-column label="日期" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.operatetime }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第一层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.oneweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第一层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.onerate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第二层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.twoweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第二层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.tworate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第三层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.threeweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第三层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.threerate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第四层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.fourweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第四层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.fourrate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="参考标准" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.standard }}</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="24">
+                <h3 style="text-align: center;">粪便筛分析</h3>
+                <div class="table">
+                  <el-table
+                    :key="nutritional.tab2.tableKey2"
+                    v-loading="nutritional.tab2.listLoading2"
+                    element-loading-text="给我一点时间"
+                    :data="nutritional.tab2.list2"
+                    border
+                    fit
+                    highlight-current-row
+                    style="width: 100%;margin-bottom:60px;"
+                    :row-style="rowStyle"
+                    :cell-style="cellStyle"
+                    class="elTable table-fixed"
+                  >
+                    <el-table-column label="日期" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.operatetime }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第一层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.oneweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第一层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.onerate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第二层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.twoweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第二层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.tworate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第三层重量(g)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.threeweight }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="第三层百分比" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.threerate }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="参考标准" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.standard }}</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="24">
+                <h3 style="text-align: center;">BCS评分</h3>
+                <div class="table">
+                  <el-table
+                    :key="nutritional.tab2.tableKey3"
+                    v-loading="nutritional.tab2.listLoading3"
+                    element-loading-text="给我一点时间"
+                    :data="nutritional.tab2.list3"
+                    border
+                    fit
+                    highlight-current-row
+                    style="width: 100%;margin-bottom:60px;"
+                    :row-style="rowStyle"
+                    :cell-style="cellStyle"
+                    class="elTable table-fixed"
+                  >
+                    <el-table-column label="日期" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.operatetime }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="抽查样本数" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.sumcowcount }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="单产(kg/头)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.product }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="干物质采食量(kg/头)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.cowneed }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="泌乳天数" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.avgdim }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="标准分数" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.standardscore }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="2.75-分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score25 }}({{ scope.row.score25rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="2.75分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score275 }}({{ scope.row.score275rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="3分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score3 }}({{ scope.row.score3rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="3.25分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score325 }}({{ scope.row.score325rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="3.5分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score35 }}({{ scope.row.score35rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="3.75分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score375 }}({{ scope.row.score375rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="4+分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score4 }}({{ scope.row.score4rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="24">
+                <h3 style="text-align: center;">粪便评分</h3>
+                <div class="table">
+                  <el-table
+                    :key="nutritional.tab2.tableKey4"
+                    v-loading="nutritional.tab2.listLoading4"
+                    element-loading-text="给我一点时间"
+                    :data="nutritional.tab2.list4"
+                    border
+                    fit
+                    highlight-current-row
+                    style="width: 100%;margin-bottom:60px;"
+                    :row-style="rowStyle"
+                    :cell-style="cellStyle"
+                    class="elTable table-fixed"
+                  >
+                    <el-table-column label="日期" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.operatetime }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="抽查样本数" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.sumcowcount }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="单产(kg/头)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.product }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="干物质采食量(kg/头)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.cowneed }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="泌乳天数" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.avgdim }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="标准分数" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.cowneed }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="1分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score1 }}({{ scope.row.score1rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="2分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score2 }}({{ scope.row.score2rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="3分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score3 }}({{ scope.row.score3rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="4分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score4 }}({{ scope.row.score4rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="5分(数量、百分比)" min-width="130px" align="center">
+                      <template slot-scope="scope">
+                        <span>{{ scope.row.score5 }}({{ scope.row.score5rate }}%)</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </el-col>
+            </el-row>
+          </el-tab-pane>
+        </el-tabs>
+        <div slot="footer" class="dialog-footer">
+          <el-button class="cancelClose cancelClose1" @click="nutritional.dialogFormVisible = false; ">关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
+
+    <!-- 干物质调节 -->
+    <DryMatterRegulation ref="mychild" :show.sync="isShowDialog" @getIsDisplay="getIsDisplay" />
+  </div>
+</template>
+
+<script>
+import { GetDataByName, postJson, GetDataByNames, compareSort, ExecDataByConfig, failproccess, PostDataByName, formatNum, checkButtons } from '@/api/common'
+import Pagination from '@/components/Pagination'
+import Pagination2 from '@/components/Pagination2'
+import { parseTime, json2excel, handleTableSpan, handleObjectSpanMethod } from '@/utils/index.js'
+import { MessageBox } from 'element-ui'
+import Cookies from 'js-cookie'
+import axios from 'axios'
+import { getToken } from '@/utils/auth'
+import DryMatterRegulation from './dryMatterRegulation.vue'
+export default {
+  inject: ['reload'],
+  name: 'DhedFormula',
+  components: { Pagination, Pagination2, DryMatterRegulation },
+  data() {
+    return {
+      dialogFull: false,
+      isRoleEdit: [],
+      headerList: [],
+      pickerMinDate: '',
+      pickerOptions: {
+        onPick: ({ maxDate, minDate }) => {
+          this.pickerMinDate = minDate.getTime()
+          if (maxDate) {
+            this.pickerMinDate = ''
+          }
+        },
+        // 限制不能选择今天之后的日期
+        disabledDate: (time) => {
+          if (this.pickerMinDate !== '') {
+            const one = 31 * 24 * 3600 * 1000
+            const minTime = this.pickerMinDate - one
+            let maxTime = this.pickerMinDate + one
+            if (maxTime > new Date()) {
+              maxTime = new Date()
+            }
+            return time.getTime() < minTime - 8.64e7 || time.getTime() > maxTime - 8.64e7
+          }
+          return time.getTime() > Date.now() - 8.64e7
+        }
+      },
+      requestParams: [
+        { name: 'getFTSWLSList', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
+        { name: 'getFTBLList', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
+        { name: 'getCowclassListEnable', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
+        { name: 'getBarListEnable', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }}
+      ],
+      getFeedTempletNameListParm: {
+        name: 'getFeedTempletName',
+        page: 1,
+        offset: 1,
+        // pagecount: parseInt(Cookies.get('pageCount')),
+        pagecount: '',
+        returntype: 'Map',
+        parammaps: {}
+      },
+      tnameList: [], // 配方名 称
+      recipeTemplateList: [], // 配方模板
+      feedingFormulaList: [], // 补料配方
+      livestockTypeList: [], // 类别
+      barList: [],
+      rules: {
+        cowclassid: [{ type: 'string', required: true, message: '必填', trigger: 'blur' }]
+      },
+      table: {
+        getdataListParm: {
+          name: 'getFPList',
+          page: 1,
+          offset: 1,
+          // pagecount: parseInt(Cookies.get('pageCount')),
+          pagecount: '',
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            enable: '',
+            barid: '',
+            tname: ''
+          }
+        },
+        tableKey: 0,
+        list: [],
+        total: 0,
+        listLoading: true,
+        temp: {},
+        rwList: [],
+        isPtsfname: false, // 补料配方/补料重量
+        getdataListParm2: {
+          name: 'getSysoptEnable',
+          page: 1,
+          offset: 1,
+          pagecount: 1,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            inforname: 'isEnableSupplyFeed'
+          }
+        },
+        isRW1: false, // 第一班
+        isRW2: false, // 第二班
+        isRW3: false, // 第三班
+        isRW4: false, // 第四班
+        getdataListParm3: {
+          name: 'getSysoptEnable1',
+          page: 1,
+          offset: 1,
+          pagecount: 1,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            inforname: 'times'
+          }
+        },
+        RWLength: '' // 班次长度
+      },
+      selectList: [],
+      // 营养评估
+      nutritional: {
+        dialogFormVisible: false,
+        dialogStatus: '',
+        activeName: 'first ',
+        tab1: {
+          // inputDatetime: [new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1), new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1)],
+          inputDatetime: [new Date(), new Date()],
+          listLoading1: true,
+          getdataListParm1: {
+            name: 'getnurj',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: '',
+              barid: ''
+            }
+          },
+          disabledCowclass: false,
+          temp: {},
+          tableKey: 0,
+          list: [],
+          total: 0,
+          listLoading2: true,
+          getdataListParm2: {
+            name: 'GETNurJudge',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: '',
+              cowclassid: ''
+            }
+          }
+        },
+        tab2: {
+          // inputDatetime: [new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1), new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1)],
+          inputDatetime: [new Date(), new Date()],
+          listLoading1: true,
+          tableKey1: 0,
+          list1: [],
+          total1: 0,
+          getdataListParm1: {
+            name: 'getPennsieveList',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: '',
+              barid: '',
+              startTime: '',
+              stopTime: '',
+              inputDatetime: ''
+            }
+          },
+          listLoading2: true,
+          tableKey2: 0,
+          list2: [],
+          total2: 0,
+          getdataListParm2: {
+            name: 'getDungsieveList',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: '',
+              barid: '',
+              startTime: '',
+              stopTime: '',
+              inputDatetime: ''
+            }
+          },
+          listLoading3: true,
+          tableKey3: 0,
+          list3: [],
+          total3: 0,
+          getdataListParm3: {
+            name: 'getBodyscoreList',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: '',
+              barid: '',
+              startTime: '',
+              stopTime: '',
+              inputDatetime: ''
+            }
+          },
+          listLoading4: true,
+          tableKey4: 0,
+          list4: [],
+          total4: 0,
+          getdataListParm4: {
+            name: 'getDungscoreList',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: '',
+              barid: '',
+              startTime: '',
+              stopTime: '',
+              inputDatetime: ''
+            }
+          }
+        }
+      },
+      history: {
+        dialogFormVisible: false,
+        dialogStatus: '',
+        temp: {},
+        rules: {},
+        tableKey: 0,
+        list: [],
+        total: 0,
+        listLoading: true,
+        getdataListParm: {
+          name: 'getPlanModifyFPlist',
+          page: 1,
+          offset: 1,
+          pagecount: 12,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            date: '',
+            barid: '',
+            tname: ''
+          }
+        },
+        isPtsfname: false, // 补料配方/补料重量
+        getdataListParm2: {
+          name: 'getSysoptEnable',
+          page: 1,
+          offset: 1,
+          pagecount: 1,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            inforname: 'isEnableSupplyFeed'
+          }
+        },
+        isRW1: false, // 第一班
+        isRW2: false, // 第二班
+        isRW3: false, // 第三班
+        isRW4: false, // 第四班
+        getdataListParm3: {
+          name: 'getSysoptEnable1',
+          page: 1,
+          offset: 1,
+          pagecount: 1,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            inforname: 'times'
+          }
+        },
+        getdataDateParm: {
+          name: 'getFPMaxDate',
+          page: 1,
+          offset: 1,
+          pagecount: 10,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid')
+          }
+        }
+      },
+      textMap: {
+        Nutritional: '营养评估',
+        history: '历史记录'
+      },
+      focusWRow: {}, // 一班重量得到焦点暂存
+      focusWRow2: {}, // 2班重量得到焦点暂存
+      focusWRow3: {}, // 3班重量得到焦点暂存
+      focusWRow4: {}, // 4班重量得到焦点暂存
+
+      requestParam: {},
+      download: {
+        getdataListParm: {
+          name: 'getFPList',
+          page: 1,
+          offset: 1,
+          pagecount: 0,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid'),
+            enable: ''
+          }
+        },
+        list: []
+      },
+      spanObj: {},
+      mergekeys: ['barname', 'sumweight'],
+      isShowDialog: false,
+      isokDisable: false,
+      rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
+      cellStyle: { padding: 0 + 'px' },
+      myHeight: document.documentElement.clientHeight - 85 - 140
+    }
+  },
+  computed: {
+    // 设置请求头
+    headers() {
+      return {
+        token: getToken()
+      }
+    },
+    uploadData() {
+      return {
+        name: 'checkbarname,checkftsw,checkftbl,updateBigFPUpload,updateBigFPfeedweightUpload,updateBigFPDetailUpload,updateBigFPDetailUploadV1,updateBigFPDetailUploadV2,updateBigFPDetailUploadV3',
+        importParams: '栏舍名称,实际牛头数,系数(%),配方模板,补料配方,第一班比例(%),第二班比例(%),第三班比例(%)',
+        sheetname: 'Sheet1',
+        // 登录牧场
+        pastureid: Cookies.get('pastureid'),
+        // 日期参数
+        dateParams: '',
+        // 必填参数
+        requiredParams: '栏舍名称,实际牛头数,系数(%),配方模板,',
+        // 为数值的参数
+        numParams: '实际牛头数,系数(%),第一班比例(%),第二班比例(%),第三班比例(%),,第四班比例(%)'
+      }
+    },
+    // 设置上传地址
+    uploadExcelUrl() {
+      return process.env.VUE_APP_BASE_API + 'authdata/ImportExcel'
+    }
+  },
+  created() {
+    this.getButtons()
+    this.getDownList()
+    this.getFeedTempletNameList()
+  },
+
+  methods: {
+    getButtons() {
+      const Edit = 'DhedFormula'
+      const isRoleEdit = checkButtons(JSON.parse(sessionStorage.getItem('buttons')), Edit)
+      this.isRoleEdit = isRoleEdit
+    },
+    getDownList() {
+      GetDataByNames(this.requestParams).then(response => {
+        this.recipeTemplateList = response.data.getFTSWLSList.list
+        this.feedingFormulaList = response.data.getFTBLList.list
+        this.livestockTypeList = response.data.getCowclassListEnable.list
+        this.barList = response.data.getBarListEnable.list
+        this.getIsDisplay()
+      })
+    },
+    getFeedTempletNameList() {
+      GetDataByName(this.getFeedTempletNameListParm).then(response => {
+        if (response.data.list !== null) {
+          this.tnameList = response.data.list
+        } else {
+          this.tnameList = []
+        }
+      })
+    },
+    getIsDisplay() {
+      GetDataByName(this.table.getdataListParm2).then(response => {
+        console.log(response.data.list[0].inforvalue)
+        if (response.data.list !== null) {
+          if (response.data.list[0].inforvalue == 0) {
+            this.table.isPtsfname = false
+          } else {
+            this.table.isPtsfname = true
+          }
+        }
+      })
+      GetDataByName(this.table.getdataListParm3).then(response => {
+        console.log(response.data.list[0].inforvalue)
+        if (response.data.list !== null) {
+          this.table.RWLength = response.data.list[0].inforvalue
+          if (response.data.list[0].inforvalue == 1) {
+            this.table.isRW1 = true
+            this.table.isRW2 = false
+            this.table.isRW3 = false
+            this.table.isRW4 = false
+          } else if (response.data.list[0].inforvalue == 2) {
+            this.table.isRW1 = true
+            this.table.isRW2 = true
+            this.table.isRW3 = false
+            this.table.isRW4 = false
+          } else if (response.data.list[0].inforvalue == 3) {
+            this.table.isRW1 = true
+            this.table.isRW2 = true
+            this.table.isRW3 = true
+            this.table.isRW4 = false
+          } else if (response.data.list[0].inforvalue == 4) {
+            this.table.isRW1 = true
+            this.table.isRW2 = true
+            this.table.isRW3 = true
+            this.table.isRW4 = true
+          }
+        } else {
+          this.table.isRW1 = false
+          this.table.isRW2 = false
+          this.table.isRW3 = false
+          this.table.isRW4 = false
+        }
+      })
+      this.getList()
+    },
+    getList() {
+      this.table.listLoading = true
+      GetDataByName(this.table.getdataListParm).then(response => {
+        console.log('table数据', response.data.list)
+        if (response.data.list !== null) {
+          for (let i = 0; i < response.data.list.length; i++) {
+            this.$set(response.data.list[i], 'Edit', false) // 编辑
+            this.$set(response.data.list[i], 'NoEdit', true) // 不可编辑/输入
+            this.$set(response.data.list[i], 'isUpdate', true) // 编辑操作
+            this.$set(response.data.list[i], 'isUpdateSave', false) // 编辑保存
+            if (response.data.list[i].ftid !== undefined && response.data.list[i].ftid !== '') {
+              if (this.recipeTemplateList.find(obj => obj.id == response.data.list[i].ftid) !== undefined) {
+                this.$set(response.data.list[i], 'dryweight', this.recipeTemplateList.find(obj => obj.id == response.data.list[i].ftid).dryweight) // 编辑保存
+              } else {
+                this.$set(response.data.list[i], 'dryweight', '')
+              }
+            }
+            if (response.data.list[i].ftid == undefined || response.data.list[i].ftname == '') {
+              this.$set(response.data.list[i], 'ftid', '')
+              this.$set(response.data.list[i], 'ftname', '')
+            }
+            if (response.data.list[i].ptsfid == undefined || response.data.list[i].ptsfname == '') {
+              this.$set(response.data.list[i], 'ptsfid', '')
+              this.$set(response.data.list[i], 'ptsfname', '')
+            }
+            if (response.data.list[i].ccount == undefined) {
+              this.$set(response.data.list[i], 'ccount', '')
+            }
+            if (response.data.list[i].softccount == undefined) {
+              this.$set(response.data.list[i], 'softccount', '')
+            }
+            if (response.data.list[i].ratio == undefined) {
+              this.$set(response.data.list[i], 'ratio', 100)
+            }
+            if (response.data.list[i].ccountratio == undefined) {
+              this.$set(response.data.list[i], 'ccountratio', '')
+            }
+            if (response.data.list[i].r1 == undefined) {
+              this.$set(response.data.list[i], 'r1', '')
+            }
+            if (response.data.list[i].r2 == undefined) {
+              this.$set(response.data.list[i], 'r2', '')
+            }
+            if (response.data.list[i].r3 == undefined) {
+              this.$set(response.data.list[i], 'r3', '')
+            }
+            if (response.data.list[i].r4 == undefined) {
+              this.$set(response.data.list[i], 'r4', '')
+            }
+            if (response.data.list[i].w1 == undefined) {
+              this.$set(response.data.list[i], 'w1', '')
+            }
+            if (response.data.list[i].w2 == undefined) {
+              this.$set(response.data.list[i], 'w2', '')
+            }
+            if (response.data.list[i].w3 == undefined) {
+              this.$set(response.data.list[i], 'w3', '')
+            }
+            if (response.data.list[i].w4 == undefined) {
+              this.$set(response.data.list[i], 'w4', '')
+            }
+            if (response.data.list[i].supplyweight == undefined) {
+              this.$set(response.data.list[i], 'supplyweight', '')
+            }
+            if (response.data.list[i].feedweight == undefined || parseFloat(response.data.list[i].feedweight) == 0) {
+              this.$set(response.data.list[i], 'feedweight', '')
+            }
+            this.$set(response.data.list[i], 'dailyWeight', '')
+            if (response.data.list[i].Bfweight == undefined) {
+              this.$set(response.data.list[i], 'Bfweight', '')
+            }
+            if (response.data.list[i].Sfweight == undefined) {
+              this.$set(response.data.list[i], 'Sfweight', '')
+            }
+            if (response.data.list[i].isOneWeight == undefined) {
+              this.$set(response.data.list[i], 'isOneWeight', false)
+            }
+            if (response.data.list[i].isTwoWeight == undefined) {
+              this.$set(response.data.list[i], 'isTwoWeight', false)
+            }
+            if (response.data.list[i].isThreeWeight == undefined) {
+              this.$set(response.data.list[i], 'isThreeWeight', false)
+            }
+            if (response.data.list[i].isFourWeight == undefined) {
+              this.$set(response.data.list[i], 'isFourWeight', false)
+            }
+            if (response.data.list[i].timesopt !== undefined) {
+              var timesoptArr = response.data.list[i].timesopt.split(',')
+              for (let j = 0; j < timesoptArr.length; j++) {
+                response.data.list[i]['r' + timesoptArr[j].split(':')[0]] = timesoptArr[j].split(':')[1]
+                response.data.list[i]['w' + timesoptArr[j].split(':')[0]] = timesoptArr[j].split(':')[2]
+              }
+            }
+            if (response.data.list[i].bw1 == undefined) {
+              this.$set(response.data.list[i], 'bw1', '')
+            }
+            if (response.data.list[i].bw2 == undefined) {
+              this.$set(response.data.list[i], 'bw2', '')
+            }
+            if (response.data.list[i].bw3 == undefined) {
+              this.$set(response.data.list[i], 'bw3', '')
+            }
+            if (response.data.list[i].bw4 == undefined) {
+              this.$set(response.data.list[i], 'bw4', '')
+            }
+            if (response.data.list[i].supplement !== undefined) {
+              var supplementArr = response.data.list[i].supplement.split(',')
+              for (let j = 0; j < supplementArr.length; j++) {
+                response.data.list[i]['bw' + supplementArr[j].split(':')[0]] = supplementArr[j].split(':')[2]
+              }
+            }
+          }
+          // console.log(response.data.list, sumr)
+          for (let i = 0; i < response.data.list.length; i++) {
+            if (response.data.list[i].r1 == '') {
+              response.data.list[i].r1 = 0
+              response.data.list[i].w1 = 0
+            }
+            if (response.data.list[i].r2 == '') {
+              response.data.list[i].r2 = 0
+              response.data.list[i].w2 = 0
+            }
+            if (response.data.list[i].r3 == '') {
+              response.data.list[i].r3 = 0
+              response.data.list[i].w3 = 0
+            }
+            if (response.data.list[i].r4 == '') {
+              response.data.list[i].r4 = 0
+              response.data.list[i].w4 = 0
+            }
+
+            this.$set(response.data.list[i], 'sumr', parseFloat(response.data.list[i].r1) + parseFloat(response.data.list[i].r2) + parseFloat(response.data.list[i].r3) + parseFloat(response.data.list[i].r4))
+            response.data.list[i].sumr = formatNum(response.data.list[i].sumr, parseInt(Cookies.get('decimal')))
+            // this.$set(response.data.list[i],'feedweight',formatNum(parseFloat(response.data.list[i].feedweight) * parseFloat(response.data.list[i].sumr)/100,2))
+            this.$set(response.data.list[i], 'dailyWeight', parseFloat(response.data.list[i].w1) + parseFloat(response.data.list[i].w2) + parseFloat(response.data.list[i].w3) + parseFloat(response.data.list[i].w4))
+            response.data.list[i].dailyWeight = formatNum(response.data.list[i].dailyWeight, parseInt(Cookies.get('decimal')))
+          }
+          this.table.list = response.data.list
+          console.log(this.table.list, 'this.table.list')
+          this.table.pageNum = response.data.pageNum
+          this.table.pageSize = response.data.pageSize
+          this.table.total = response.data.total
+        } else {
+          this.table.list = []
+        }
+        setTimeout(() => {
+          this.table.listLoading = false
+        }, 100)
+      })
+    },
+    handleSearch() {
+      this.getList()
+    },
+    renderHeader(h, { column, $index }) { // h即为cerateElement的简写,具体可看vue官方文档
+      return h(
+        'div',
+        [
+          h('span', column.label),
+          h('i', {
+            class: 'el-icon-unlock',
+            ref: 'el-icon-unlock',
+            style: 'margin-left:5px;'
+          })
+        ]
+      )
+    },
+
+    headerClick(column, event) {
+      console.log(column, event)
+      this.headerList.push(event)
+      if (column.label == '第一班重量') {
+        for (let i = 0; i < this.table.list.length; i++) {
+          if (this.table.list[i].Edit == true) {
+            if (event.target.outerHTML == '<i class="el-icon-unlock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-lock'
+              this.$set(this.table.list[i], 'isOneWeight', true) // 锁住不可编辑
+            } else if (event.target.outerHTML == '<i class="el-icon-lock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-unlock'
+              this.$set(this.table.list[i], 'isOneWeight', false) // 解锁可编辑
+            }
+          }
+        }
+      } else if (column.label == '第二班重量') {
+        for (let i = 0; i < this.table.list.length; i++) {
+          if (this.table.list[i].Edit == true) {
+            if (event.target.outerHTML == '<i class="el-icon-unlock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-lock'
+              this.$set(this.table.list[i], 'isTwoWeight', true) // 锁住不可编辑
+            } else if (event.target.outerHTML == '<i class="el-icon-lock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-unlock'
+              this.$set(this.table.list[i], 'isTwoWeight', false) // 解锁可编辑
+            }
+          }
+        }
+      } else if (column.label == '第三班重量') {
+        for (let i = 0; i < this.table.list.length; i++) {
+          if (this.table.list[i].Edit == true) {
+            if (event.target.outerHTML == '<i class="el-icon-unlock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-lock'
+              this.$set(this.table.list[i], 'isThreeWeight', true) // 锁住不可编辑
+            } else if (event.target.outerHTML == '<i class="el-icon-lock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-unlock'
+              this.$set(this.table.list[i], 'isThreeWeight', false) // 解锁可编辑
+            }
+          }
+        }
+      } else if (column.label == '第四班重量') {
+        for (let i = 0; i < this.table.list.length; i++) {
+          if (this.table.list[i].Edit == true) {
+            if (event.target.outerHTML == '<i class="el-icon-unlock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-lock'
+              this.$set(this.table.list[i], 'isFourWeight', true) // 锁住不可编辑
+            } else if (event.target.outerHTML == '<i class="el-icon-lock" style="margin-left: 5px;"></i>') {
+              event.target.className = 'el-icon-unlock'
+              this.$set(this.table.list[i], 'isFourWeight', false) // 解锁可编辑
+            }
+          }
+        }
+      }
+    },
+    // 配方模板
+    changeRecipeTemplate(item, row) {
+      row.myccname = this.recipeTemplateList.find(obj => obj.id == item).ccname
+      if (row.bigcowclass !== row.myccname) {
+        this.$message({ type: 'warning', message: '所选配方模板牲畜类别与栏舍对应牲畜类别不一致', duration: 2000 })
+      }
+      console.log(row.supplyweight, 'row.supplyweight')
+      row.ftname = this.recipeTemplateList.find(obj => obj.id == item).tname
+      row.Sfweight = this.recipeTemplateList.find(obj => obj.id == item).Sfweight// Sfweight
+      row.SfweightLock = this.recipeTemplateList.find(obj => obj.id == item).SfweightLock// SfweightLock
+      row.dryweight = this.recipeTemplateList.find(obj => obj.id == item).dryweight// SfweightLock
+      // 补料重量supplyweight
+      // 配方重量ftweight
+      // 系数头数ccountratio
+      // 投喂量feedweight
+      // 实际牛头数ccount
+      // 投喂量 = 配方重量 + 补料重量
+      // 配方重量 = Sfweight * 系数头数 + SfweightLock * 实际牛头数ccount
+      console.log(row.Sfweight, 'row.Sfweight')
+      console.log(row.ccountratio, '系数头数')
+      console.log(row.SfweightLock, 'SfweightLock')
+      console.log(row.ccount, '实际牛头数')
+      if (row.Sfweight !== '' && row.ccount !== '') {
+        this.$set(row, 'ftweight', formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal'))))
+      } else {
+        row.ftweight = ''
+      }
+      // console.log(row.ftweight, 'row.ftweight')
+      // console.log(row.supplyweight, 'row.supplyweight')
+      // console.log(this.table.isPtsfname, 'isPtsfname')
+      if (this.table.isPtsfname == false) {
+        row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+      } else {
+        if (row.supplyweight == 'NaN') {
+          row.supplyweight = 0
+        }
+        console.log(row.supplyweight)
+        if (row.supplyweight !== '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight == '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight !== '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+        }
+
+        if (row.ccountratio !== '' && row.ftweight !== '') {
+          row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        }
+        if (row.Sfweight !== '' && row.ccount !== '') {
+          this.$set(row, 'ftweight', formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal'))))
+        } else {
+          row.ftweight = ''
+        }
+      }
+      console.log(row.supplyweight)
+      if (row.supplyweight == 'NaN') { row.supplyweight = 0 }
+      if (row.r1 !== '') { this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    // 补料配方
+    changeFeedingFormula(item, row) {
+      console.log(item, '=========')
+      if (item == '') {
+        row.bw1 = 0
+        row.bw2 = 0
+        row.bw3 = 0
+        row.bw4 = 0
+      }
+      // 补料重量supplyweight
+      // 配方重量ftweight
+      // 系数头数ccountratio
+      // 投喂量feedweight
+      // 实际牛头数ccount
+      // 投喂量 = 配方重量 + 补料重量
+      row.myccname = this.feedingFormulaList.find(obj => obj.id == item).ccname
+      if (row.bigcowclass !== row.myccname) {
+        this.$message({ type: 'warning', message: '所选补料配方与栏舍对应牲畜类别不一致', duration: 2000 })
+      }
+      if (item !== '') {
+        console.log(456)
+        row.ptsfname = this.feedingFormulaList.find(obj => obj.id == item).tname
+        row.BLweight = this.feedingFormulaList.find(obj => obj.id == item).Sfweight
+        row.BLSfweightLock = this.feedingFormulaList.find(obj => obj.id == item).SfweightLock
+      } else {
+        row.ptsfname = ''
+        row.BLweight = 0
+        row.BLSfweightLock = 0
+      }
+      // 配方重量 = 系数头数 * Sfweight
+      // if (row.ccountratio !== '' && row.ftweight !== '') {
+      //   row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)
+      // }
+
+      // 补料重量 = 系数头数 * BLweight
+      // console.log(row.ccountratio)
+      // console.log(row.ccount)
+      // console.log(row.BLweight)
+      // console.log(row.BLSfweightLock)
+      if (row.ccountratio !== '' && row.ccount !== '' && row.ccount.BLweight !== '' && row.BLSfweightLock !== '') {
+        this.$set(row, 'supplyweight', formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLSfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal'))))
+      } else {
+        row.supplyweight = ''
+      }
+
+      if (this.table.isPtsfname == false) {
+        row.feedweight = parseFloat(row.ftweight)
+      } else {
+        if (row.supplyweight !== '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight == '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight !== '' && row.ftweight == '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+        }
+      }
+      if (row.r1 !== '') { this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    // 实际牛头数失去焦点计算
+    // ccount实际牛头数
+    // ratio系数
+    // ccountratio系数牛头数
+    blurCcount(row) { // 实际牛头数
+      console.log(row)
+      if (row.ftid !== '-1' && row.ftid !== '') {
+        console.log(this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight)
+        row.Sfweight = this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight
+        row.SfweightLock = this.recipeTemplateList.find(obj => obj.id == row.ftid).SfweightLock
+      }
+      if (row.ptsfid !== '-1' && row.ptsfid !== '' && this.table.isPtsfname == true) {
+        // row.ptsfid = parseInt(row.ptsfid)
+        row.BLweight = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight), parseInt(Cookies.get('decimal')))
+        row.BLweightLock = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock), parseInt(Cookies.get('decimal')))
+      }
+      if (row.ptsfid == '') {
+        row.BLweight = 0
+        row.BLweightLock = 0
+      }
+      if (row.Sfweight !== '' && row.ccount !== '') {
+        // console.log(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount))
+        row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      }
+      // 系数牛头数 = 实际牛头数 * 系数/100
+      if (row.ccount !== '' && row.ratio !== '') {
+        row.ccountratio = formatNum(parseFloat(row.ccount) * parseFloat(row.ratio) / 100, parseInt(Cookies.get('decimal')))
+      } else if (row.ratio !== '' && row.ccountratio !== '') {
+        row.ccount = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100, parseInt(Cookies.get('decimal')))
+      } else if (row.ccount !== '' || row.ratio !== '') {
+        row.ccountratio = ''
+      }
+      // 补料重量
+      console.log(row.ccountratio, row.BLweight)
+      if (row.BLweight == 'undefined') {
+        this.$set(row, 'BLweight', '')
+      }
+      console.log('BLweight', row.BLweight)
+      console.log('ccountratio', row.ccountratio)
+      console.log('BLweightLock', row.BLweightLock)
+      console.log('ccount', row.ccount)
+      if (row.ccountratio !== '' && row.BLweight !== '') {
+        row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.BLweight == '') {
+        row.supplyweight = ''
+        row.feedweight = ''
+      } else if (row.ccountratio == '' && row.BLweight !== '') {
+        row.supplyweight = ''
+        row.feedweight = ''
+      }
+      // 配方重量
+      if (row.ccountratio !== '' && row.Sfweight !== '') {
+        row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.Sfweight == '') {
+        row.ftweight = ''
+        row.feedweight = ''
+      } else if (row.ccountratio == '' && row.Sfweight !== '') {
+        row.ftweight = ''
+        row.feedweight = ''
+      }
+      if (this.table.isPtsfname == false) {
+        row.feedweight = parseFloat(row.ftweight)
+      } else {
+        if (row.supplyweight !== '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight !== '' && row.ftweight == '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight == '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        }
+        // 配方重量 = 系数头数 * Sfweight
+        if (row.ccountratio !== '' && row.ftweight !== '') {
+          row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        }
+        // 补料重量 = 系数头数 * BLweight
+        if (row.ccountratio !== '' && row.BLweight !== '') {
+          row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        }
+      }
+      console.log(row)
+      if (row.r1 !== '' && row.isOneWeight == false) { this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r2 !== '' && row.isTwoWeight == false) { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r3 !== '' && row.isThreeWeight == false) { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r4 !== '' && row.isFourWeight == false) { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.isOneWeight == true) {
+        this.$set(row, 'r1', formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isTwoWeight == true) {
+        this.$set(row, 'r2', formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isThreeWeight == true) {
+        this.$set(row, 'r3', formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isFourWeight == true) {
+        this.$set(row, 'r4', formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    blurRatio(row) {
+      console.log(row, '--------------')
+
+      if (row.ftid !== '-1' && row.ftid !== '') {
+        row.Sfweight = this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight
+        row.SfweightLock = this.recipeTemplateList.find(obj => obj.id == row.ftid).SfweightLock
+      }
+      if (row.ptsfid !== '-1' && row.ptsfid !== '' && this.table.isPtsfname == true) {
+        // row.ptsfid = parseInt(row.ptsfid)
+        row.BLweight = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight), parseInt(Cookies.get('decimal')))
+        row.BLweightLock = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock), parseInt(Cookies.get('decimal')))
+      }
+      if (row.ptsfid == '') {
+        row.BLweight = 0
+        row.BLweightLock = 0
+      }
+      // 系数
+      if (row.ccount !== '' && row.ratio !== '' && row.ccountratio !== '') {
+        row.ccountratio = formatNum(parseFloat(row.ccount) * parseFloat(row.ratio) / 100, parseInt(Cookies.get('decimal')))
+      } else if (row.ccount !== '' && row.ccountratio !== '') {
+        row.ratio = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccount !== '' || row.ccountratio !== '') {
+        row.ratio = ''
+      }
+      // 补料重量
+      if (row.ccountratio !== '' && row.BLweight !== '') {
+        row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.BLweight == '' || row.ccountratio == '' && row.BLweight !== '') {
+        row.supplyweight = ''
+        row.feedweight = ''
+      }
+      // 配方重量
+      if (row.ccountratio !== '' && row.Sfweight !== '') {
+        row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.Sfweight == '' || row.ccountratio == '' && row.Sfweight !== '') {
+        row.ftweight = ''
+        row.feedweight = ''
+      }
+      // 投喂量
+      if (row.supplyweight !== '' && row.ftweight !== '') {
+        row.feedweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.supplyweight == '' && row.ftweight !== '') {
+        row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+      } else if (row.supplyweight !== '' && row.ftweight == '') {
+        row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+      }
+      console.log(row.supplyweight, '补料重量')
+      console.log(row.ftweight, '配方重量')
+      if (this.table.isPtsfname == false) {
+        row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+      } else {
+        // 投喂量
+        if (row.supplyweight !== '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight == '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight !== '' && row.ftweight == '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+        }
+        // 补料重量
+        if (row.ccountratio !== '' && row.BLweight !== '') {
+          row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        } else if (row.ccountratio !== '' && row.BLweight == '') {
+          row.supplyweight = ''
+          row.feedweight = ''
+        } else if (row.ccountratio == '' && row.BLweight !== '') {
+          row.supplyweight = ''
+          row.feedweight = ''
+        }
+        // 配方重量
+        if (row.ccountratio !== '' && row.Sfweight !== '') {
+          row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        } else if (row.ccountratio !== '' && row.Sfweight == '') {
+          row.ftweight = ''
+          row.feedweight = ''
+        } else if (row.ccountratio == '' && row.Sfweight !== '') {
+          row.ftweight = ''
+          row.feedweight = ''
+        }
+      }
+      if (row.r1 !== '' && row.isOneWeight == false) { this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r2 !== '' && row.isTwoWeight == false) { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r3 !== '' && row.isThreeWeight == false) { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.r4 !== '' && row.isFourWeight == false) { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), parseInt(Cookies.get('decimal')))) }
+      if (row.isOneWeight == true) {
+        this.$set(row, 'r1', formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isTwoWeight == true) {
+        this.$set(row, 'r2', formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isThreeWeight == true) {
+        this.$set(row, 'r3', formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isFourWeight == true) {
+        this.$set(row, 'r4', formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    blurCcountratio(row) {
+      if (row.ftid !== '-1' && row.ftid !== '') {
+        row.Sfweight = this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight
+        row.SfweightLock = this.recipeTemplateList.find(obj => obj.id == row.ftid).SfweightLock
+      }
+      if (row.ptsfid !== '-1' && row.ptsfid !== '' && this.table.isPtsfname == true) {
+        // row.ptsfid = parseInt(row.ptsfid)
+        row.BLweight = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight), parseInt(Cookies.get('decimal')))
+        row.BLweightLock = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock), parseInt(Cookies.get('decimal')))
+      }
+      if (row.ptsfid == '') {
+        row.BLweight = 0
+        row.BLweightLock = 0
+      }
+      if (row.ptsfid == '') {
+        row.BLweight = 0
+        row.BLweightLock = 0
+      }
+      // ratio系数ccountratio系数头数ccount实际牛头数
+      // 系数头数
+      if (row.ccountratio !== '' && row.ccount !== '' && row.ratio !== '') {
+        if (row.ccountratio !== 0 && row.ccount !== 0) {
+          row.ratio = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        }
+      } else if (row.ccount !== '' && row.ratio !== '') {
+        row.ccountratio = formatNum(parseFloat(row.ccount) * parseFloat(row.ratio) / 100, parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.ccount !== '') {
+        if (row.ccountratio !== 0 && row.ccount !== 0) {
+          row.ratio = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        }
+      } else if (row.ccountratio !== '' && row.ratio !== '') {
+        row.ccount = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100, parseInt(Cookies.get('decimal')))
+      }
+      // 补料重量
+      if (row.ccountratio !== '' && row.BLweight !== '') {
+        row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.BLweight == '') {
+        row.supplyweight = ''
+        row.feedweight = ''
+      } else if (row.ccountratio == '' && row.BLweight !== '') {
+        row.supplyweight = ''
+        row.feedweight = ''
+      }
+      // 配方重量
+      if (row.ccountratio !== '' && row.Sfweight !== '') {
+        row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+      } else if (row.ccountratio !== '' && row.Sfweight == '') {
+        row.ftweight = ''
+        row.feedweight = ''
+      } else if (row.ccountratio == '' && row.Sfweight !== '') {
+        row.ftweight = ''
+        row.feedweight = ''
+      }
+      // 投喂量
+      if (row.supplyweight !== '' && row.ftweight !== '') {
+        row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+      } else if (row.supplyweight == '' && row.ftweight !== '') {
+        row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+      } else if (row.supplyweight !== '' && row.ftweight == '') {
+        row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+      }
+      if (this.table.isPtsfname == false) {
+        console.log(row)
+        row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+      } else {
+        // 投喂量
+        if (row.supplyweight !== '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight == '' && row.ftweight !== '') {
+          row.feedweight = formatNum(parseFloat(row.ftweight), parseInt(Cookies.get('decimal')))
+        } else if (row.supplyweight !== '' && row.ftweight == '') {
+          row.feedweight = formatNum(parseFloat(row.supplyweight), parseInt(Cookies.get('decimal')))
+        }
+        // 补料重量
+        if (row.ccountratio !== '' && row.BLweight !== '') {
+          row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        } else if (row.ccountratio !== '' && row.BLweight == '') {
+          row.supplyweight = ''
+          row.feedweight = ''
+        } else if (row.ccountratio == '' && row.BLweight !== '') {
+          row.supplyweight = ''
+          row.feedweight = ''
+        }
+        // 配方重量
+        if (row.ccountratio !== '' && row.Sfweight !== '') {
+          row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), parseInt(Cookies.get('decimal')))
+        } else if (row.ccountratio !== '' && row.Sfweight == '') {
+          row.ftweight = ''
+          row.feedweight = ''
+        } else if (row.ccountratio == '' && row.Sfweight !== '') {
+          row.ftweight = ''
+          row.feedweight = ''
+        }
+      }
+      if (row.r1 !== '' && row.isOneWeight == false) {
+        this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), parseInt(Cookies.get('decimal'))))
+      }
+      if (row.r2 !== '' && row.isTwoWeight == false) {
+        this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), parseInt(Cookies.get('decimal'))))
+      }
+      if (row.r3 !== '' && row.isThreeWeight == false) {
+        this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), parseInt(Cookies.get('decimal'))))
+      }
+      if (row.r4 !== '' && row.isFourWeight == false) {
+        this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isOneWeight == true) {
+        this.$set(row, 'r1', formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isTwoWeight == true) {
+        this.$set(row, 'r2', formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isThreeWeight == true) {
+        this.$set(row, 'r3', formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.isFourWeight == true) {
+        this.$set(row, 'r4', formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal'))))
+      }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    // 总比例
+    blurR(row) {
+      if (row.r1 == '') { row.r1 = 0 }
+      if (row.r2 == '') { row.r2 = 0 }
+      if (row.r3 == '') { row.r3 = 0 }
+      if (row.r4 == '') { row.r4 = 0 }
+      if (row.r1 !== '') {
+        row.w1 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r1) / 100, parseInt(Cookies.get('decimal')))
+      }
+      if (row.r2 !== '') {
+        row.w2 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r2) / 100, parseInt(Cookies.get('decimal')))
+      }
+      if (row.r3 !== '') {
+        row.w3 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r3) / 100, parseInt(Cookies.get('decimal')))
+      }
+      if (row.r4 !== '') {
+        row.w4 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r4) / 100, parseInt(Cookies.get('decimal')))
+      }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    // 一班重量得到焦点
+    focusW(row) {
+      console.log(row, '====')
+      this.focusWRow = Object.assign({}, row)
+    },
+    // 1班重量得到焦点
+    focusW2(row) {
+      this.focusWRow2 = Object.assign({}, row)
+    },
+    // 3班重量得到焦点
+    focusW3(row) {
+      this.focusWRow3 = Object.assign({}, row)
+    },
+    // 4班重量得到焦点
+    focusW4(row) {
+      this.focusWRow4 = Object.assign({}, row)
+    },
+    // 一班重量
+    blurW(row) {
+      if (row.w1 == '') {
+        row.w1 = 0
+      }
+      if (row.w2 == '') {
+        row.w2 = 0
+      }
+      if (row.w3 == '') {
+        row.w3 = 0
+      }
+      if (row.w4 == '') {
+        row.w4 = 0
+      }
+      if (row.r1 == '') {
+        row.r1 = 0
+      }
+      if (row.r2 == '') {
+        row.r2 = 0
+      }
+      if (row.r3 == '') {
+        row.r3 = 0
+      }
+      if (row.r4 == '') {
+        row.r4 = 0
+      }
+      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)
+      console.log(row, '=======投喂量feedweight')
+      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight
+      if (this.table.RWLength == 4) {
+        // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight
+        // 2班3班4班都锁定
+        if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == true) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班3班锁定4班未锁定
+        if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == false) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w4 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班4班锁定3班未锁定
+        if (row.isTwoWeight == true && row.isFourWeight == true && row.isThreeWeight == false) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w3 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班4班锁定2班未锁定
+        if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == true) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w2 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r2 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+
+        // 2班锁定,3班4班未锁
+        if (row.isTwoWeight == true && row.isThreeWeight == false && row.isFourWeight == false) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r3 == 0 && row.r4 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w3
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          } else if (row.r3 == 0 && row.r4 !== 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r3 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班锁定,2班4班未锁
+        if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == false) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r2 == 0 && row.r4 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w2
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          } else if (row.r2 == 0 && row.r4 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 4班锁定,2班3班未锁
+        if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == true) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r2 == 0 && row.r3 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w2
+            row.r3 = row.r2
+          } else if (row.r2 == 0 && row.r3 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班3班4班未锁
+        if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == false) {
+          console.log('1231234')
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (parseFloat(row.r2) == 0 && parseFloat(row.r3) == 0 && parseFloat(row.r4) == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) / 3, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w2
+            row.w4 = row.w2
+            row.r3 = row.r2
+            row.r4 = row.r2
+          } else if (parseFloat(row.r2) == 0 && parseFloat(row.r3) == 0 && parseFloat(row.r4) !== 0) {
+            row.w3 = formatNum(((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4))) / 2, parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w3
+            row.r2 = row.r3
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (parseFloat(row.r2) == 0 && parseFloat(row.r3) !== 0 && parseFloat(row.r4) == 0) {
+            row.w2 = formatNum(((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3))) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w2
+            row.r4 = row.r2
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (parseFloat(row.r2) !== 0 && parseFloat(row.r3) == 0 && parseFloat(row.r4) == 0) {
+            row.w3 = formatNum(((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2))) / 2, parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w3
+            row.r4 = row.r3
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 == 0 && row.r3 !== 0 && row.r4 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            console.log(row.dailyWeight)
+            console.log(this.focusWRow.dailyWeight)
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w4 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r3 == 0 && row.r4 !== 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w4 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r3 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w3 = formatNum((parseFloat(this.focusWRow.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+      } else if (this.table.RWLength == 3) {
+        // 三班
+        // 2班/3班锁定
+        if (row.isTwoWeight == true && row.isThreeWeight == true) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班不锁3班锁
+        if (row.isTwoWeight == false && row.isThreeWeight == true) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w2 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班不锁2班锁
+        if (row.isTwoWeight == true && row.isThreeWeight == false) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w3 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2), parseInt(Cookies.get('decimal')))
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班3班都不锁
+        if (row.isTwoWeight == false && row.isThreeWeight == false) {
+          console.log(row.w1, 'w1----------')
+          console.log(row.feedweight, 'feedweight----------')
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r2 == 0 && row.r3 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w2
+            row.r3 = row.r2
+          } else if (row.r2 == 0 && row.r3 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1)) * parseFloat(this.focusWRow.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            console.log('我改了1')
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+      } else if (this.table.RWLength == 2) {
+        // 两班isOneWeight,isTwoWeight
+        if (row.w1 == '') { row.w1 = 0 }
+        if (row.w2 == '') { row.w2 = 0 }
+        if (row.r1 == '') { row.r1 = 0 }
+        if (row.r2 == '') { row.r2 = 0 }
+        if (row.isTwoWeight == false) {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w2 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1), parseInt(Cookies.get('decimal')))
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), parseInt(Cookies.get('decimal'))))
+        } else {
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), parseInt(Cookies.get('decimal'))))
+        }
+      } else {
+        row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+        this.$set(row, 'sumr', formatNum(parseFloat(row.r1), parseInt(Cookies.get('decimal'))))
+      }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    blurW2(row) {
+      // 2班重量
+      if (row.w1 == '') {
+        row.w1 = 0
+      }
+      if (row.w2 == '') {
+        row.w2 = 0
+      }
+      if (row.w3 == '') {
+        row.w3 = 0
+      }
+      if (row.w4 == '') {
+        row.w4 = 0
+      }
+      if (row.r1 == '') {
+        row.r1 = 0
+      }
+      if (row.r2 == '') {
+        row.r2 = 0
+      }
+      if (row.r3 == '') {
+        row.r3 = 0
+      }
+      if (row.r4 == '') {
+        row.r4 = 0
+      }
+      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)
+      console.log(row, '=======投喂量feedweight')
+      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight
+      if (this.table.RWLength == 4) {
+        // 四班
+        // 1班3班4班都锁定
+        if (row.isOneWeight == true && row.isThreeWeight == true && row.isFourWeight == true) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班3班锁定4班未锁定
+        if (row.isOneWeight == true && row.isThreeWeight == true && row.isFourWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+
+          row.w4 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班4班锁定3班未锁定
+        if (row.isOneWeight == true && row.isFourWeight == true && row.isThreeWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w3 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班4班锁定1班未锁定
+        if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == true) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+
+          row.w1 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r1 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+
+        // 1班锁定,3班4班未锁
+        if (row.isOneWeight == true && row.isThreeWeight == false && row.isFourWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r3 == 0 && row.r4 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w3
+            row.r4 = row.r3
+          } else if (row.r3 == 0 && row.r4 !== 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r3 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班锁定,1班4班未锁
+        if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r4 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w1
+            row.r4 = row.r1
+          } else if (row.r1 == 0 && row.r4 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 4班锁定,1班3班未锁
+        if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == true) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r3 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+          } else if (row.r1 == 0 && row.r3 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(this.focusWRow2.r1)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(this.focusWRow2.r1)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班3班4班未锁
+        if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r3 == 0 && row.r4 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) / 3, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+            row.w4 = row.w1
+            row.r4 = row.r1
+          } else if (row.r1 == 0 && row.r3 == 0 && row.r4 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w4)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 == 0 && row.r3 !== 0 && row.r4 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w1
+            row.r4 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r3 == 0 && row.r4 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w1)) / 2, parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w3
+            row.r4 = row.r3
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              console.log('huijia;')
+              row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if ((row.r1 !== 0 && row.r3 !== 0 && row.r4 == 0)) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w1) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w3 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if ((row.r1 !== 0 && row.r3 == 0 && row.r4 !== 0)) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w1) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w4 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if ((row.r1 == 0 && row.r3 !== 0 && row.r4 !== 0)) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w4 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            console.log('wolaile')
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r3) + parseFloat(this.focusWRow2.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+      } else if (this.table.RWLength == 3) {
+        // 三班
+        // 1班/3班锁定
+        if (row.isOneWeight == true && row.isThreeWeight == true) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班不锁3班锁
+        if (row.isOneWeight == false && row.isThreeWeight == true) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w1 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班不锁1班锁
+        if (row.isOneWeight == true && row.isThreeWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w3 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2), parseInt(Cookies.get('decimal')))
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班3班都不锁
+        if (row.isOneWeight == false && row.isThreeWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r3 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+          } else if (row.r1 == 0 && row.r3 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+      } else if (this.table.RWLength == 2) {
+        if (row.isOneWeight == false) {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w1 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w2), parseInt(Cookies.get('decimal')))
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), parseInt(Cookies.get('decimal'))))
+        } else {
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), parseInt(Cookies.get('decimal'))))
+        }
+      }
+      if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+      if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    blurW3(row) {
+      // 3班重量
+      if (row.w1 == '') {
+        row.w1 = 0
+      }
+      if (row.w2 == '') {
+        row.w2 = 0
+      }
+      if (row.w3 == '') {
+        row.w3 = 0
+      }
+      if (row.w4 == '') {
+        row.w4 = 0
+      }
+      if (row.r1 == '') {
+        row.r1 = 0
+      }
+      if (row.r2 == '') {
+        row.r2 = 0
+      }
+      if (row.r3 == '') {
+        row.r3 = 0
+      }
+      if (row.r4 == '') {
+        row.r4 = 0
+      }
+      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)
+      console.log(row, '=======投喂量feedweight')
+      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight
+      if (this.table.RWLength == 4) {
+        // 四班
+        // 1班2班4班都锁定
+        if (row.isOneWeight == true && row.isTwoWeight == true && row.isFourWeight == true) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班2班锁定4班未锁定
+        if (row.isOneWeight == true && row.isTwoWeight == true && row.isFourWeight == false) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w4 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班4班锁定1班未锁定
+        if (row.isOneWeight == false && row.isTwoWeight == true && row.isFourWeight == true) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w1 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班4班锁定2班未锁定
+        if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == true) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w2 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r2 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+
+        // 2班锁定,1班4班未锁
+        if (row.isTwoWeight == true && row.isOneWeight == false && row.isFourWeight == false) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r4 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w1
+            row.r4 = row.r1
+          } else if (row.r1 == 0 && row.r4 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班锁定,2班4班未锁
+        if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == false) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r2 == 0 && row.r4 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w2
+            row.r4 = row.r2
+          } else if (row.r2 == 0 && row.r4 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 4班锁定,2班1班未锁
+        if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == true) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r2 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+          } else if (row.r1 == 0 && row.r2 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班1班4班未锁
+        if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == false) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r2 == 0 && row.r4 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3)) / 3, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+            row.w4 = row.w1
+            row.r4 = row.r1
+          } else if (row.r1 == 0 && row.r2 == 0 && row.r4 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w4)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w4 = formatNum((parseFloat(this.focusWRow3.dailyWeight - row.w3) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 == 0 && row.r2 !== 0 && row.r4 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w1
+            row.r4 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow3.dailyWeight - row.w3) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0 && row.r4 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w1)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = row.w1
+            row.r4 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 !== 0 && row.r4 == 0) {
+            row.w4 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w1) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w2 = formatNum((parseFloat(this.focusWRow3.dailyWeight - row.w3) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0 && row.r4 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w1) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w4 = formatNum((parseFloat(this.focusWRow3.dailyWeight - row.w3) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 == 0 && row.r2 !== 0 && row.r4 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2) - parseFloat(row.w4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow3.dailyWeight - row.w3) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w4 = formatNum((parseFloat(this.focusWRow3.dailyWeight - row.w3) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+              row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = formatNum((parseFloat(row.dailyWeight - row.w3) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w4 = formatNum((parseFloat(row.dailyWeight - row.w3) * parseFloat(row.r4) / (parseFloat(this.focusWRow3.r1) + parseFloat(this.focusWRow3.r2) + parseFloat(this.focusWRow3.r4))), parseInt(Cookies.get('decimal')))
+            row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w4)) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w4 <= 0) {
+            row.w4 = 0
+            row.r4 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+      } else if (this.table.RWLength == 3) {
+        // 三班
+        // 1班/2班锁定
+        if (row.isOneWeight == true && row.isTwoWeight == true) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班不锁2班锁
+        if (row.isOneWeight == false && row.isTwoWeight == true) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w1 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w2) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班不锁2班锁
+        // 2班不锁1班锁
+        if (row.isOneWeight == true && row.isTwoWeight == false) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w2 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班3班都不锁
+        // 1班2班都不锁
+        if (row.isOneWeight == false && row.isTwoWeight == false) {
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r2 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+          } else if (row.r1 == 0 && row.r2 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow3.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow3.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), parseInt(Cookies.get('decimal'))))
+        }
+      }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    blurW4(row) {
+      if (row.w1 == '') {
+        row.w1 = 0
+      }
+      if (row.w2 == '') {
+        row.w2 = 0
+      }
+      if (row.w3 == '') {
+        row.w3 = 0
+      }
+      if (row.w4 == '') {
+        row.w4 = 0
+      }
+      if (row.r1 == '') {
+        row.r1 = 0
+      }
+      if (row.r2 == '') {
+        row.r2 = 0
+      }
+      if (row.r3 == '') {
+        row.r3 = 0
+      }
+      if (row.r4 == '') {
+        row.r4 = 0
+      }
+      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)
+      console.log(row, '=======投喂量feedweight')
+      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight
+      if (this.table.RWLength == 4) {
+        // 四班
+        // 1班2班3班都锁定
+        if (row.isOneWeight == true && row.isTwoWeight == true && row.isThreeWeight == true) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班3班锁定1班未锁定
+        if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == true) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w1 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3), parseInt(Cookies.get('decimal')))
+          row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班1班锁定3班未锁定
+        if (row.isOneWeight == true && row.isTwoWeight == true && row.isThreeWeight == false) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w3 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班1班锁定2班未锁定
+        if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == true) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          row.w2 = formatNum(parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4), parseInt(Cookies.get('decimal')))
+          row.r2 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+
+        // 2班锁定,3班1班未锁
+        if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == false) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r3 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+          } else if (row.r1 == 0 && row.r3 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(this.focusWRow4.r1)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(row.r3) + parseFloat(this.focusWRow4.r1)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 3班锁定,2班1班未锁
+        if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == true) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r2 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+          } else if (row.r1 == 0 && row.r2 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(this.focusWRow4.r1)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3) - parseFloat(row.w1)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r2) + parseFloat(row.r1)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r2) + parseFloat(row.r1)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(this.focusWRow4.r1)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 1班锁定,2班3班未锁
+        if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == false) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r2 == 0 && row.r3 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w2
+            row.r3 = row.r2
+          } else if (row.r2 == 0 && row.r3 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow4.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r2 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow4.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+        // 2班3班1班未锁
+        if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == false) {
+          row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          if (row.r1 == 0 && row.r2 == 0 && row.r3 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4)) / 3, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+            row.w3 = row.w1
+            row.r3 = row.r1
+          } else if (row.r1 == 0 && row.r2 == 0 && row.r3 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w3)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = row.w1
+            row.r2 = row.r1
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            console.log(row.dailyWeight)
+            console.log(this.focusWRow4.dailyWeight)
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w3 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+              if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+              if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+              if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            }
+          } else if (row.r1 == 0 && row.r2 !== 0 && row.r3 == 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2)) / 2, parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0 && row.r3 == 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w1)) / 2, parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = row.w1
+            row.r3 = row.r1
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 !== 0 && row.r3 == 0) {
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w1) - parseFloat(row.w2)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w2 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 !== 0 && row.r2 == 0 && row.r3 !== 0) {
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w1) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w1 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+              row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w3 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+              if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+              if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+              if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+          } else if (row.r1 == 0 && row.r2 !== 0 && row.r3 !== 0) {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            if (row.w1 == '') { row.w1 = 0 }
+            if (row.w2 == '') { row.w2 = 0 }
+            if (row.w3 == '') { row.w3 = 0 }
+            if (row.w4 == '') { row.w4 = 0 }
+            if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+            if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+            if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+            if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+            row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+            if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow4.dailyWeight)) {
+              row.w2 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+              row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              row.w3 = formatNum((parseFloat(this.focusWRow4.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+              row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+              if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
+              if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
+              if (row.w3 <= 0) { row.w3 = 0; row.r3 = 0 }
+              if (row.w4 <= 0) { row.w4 = 0; row.r4 = 0 }
+            }
+          } else {
+            row.w1 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)), parseInt(Cookies.get('decimal')))
+            row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w2 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+            row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+            row.w3 = formatNum((parseFloat(row.dailyWeight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow4.r1) + parseFloat(this.focusWRow4.r2) + parseFloat(this.focusWRow4.r3)), parseInt(Cookies.get('decimal')))
+            row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
+          }
+          if (isNaN(row.w1)) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (isNaN(row.w2)) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (isNaN(row.w3)) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+
+          if (row.w1 <= 0) {
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if (row.w2 <= 0) {
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if (row.w3 <= 0) {
+            row.w3 = 0
+            row.r3 = 0
+          }
+          this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
+        }
+      }
+      if (row.w1 == '') { row.w1 = 0 }
+      if (row.w2 == '') { row.w2 = 0 }
+      if (row.w3 == '') { row.w3 = 0 }
+      if (row.w4 == '') { row.w4 = 0 }
+      this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
+      row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+    },
+    celldblclick(row, column, cell, event) {
+      console.log(row, '=====')
+      this.handleUpdate(row)
+    },
+    // 编辑
+    handleUpdate(row) {
+      console.log(row)
+      for (let i = 0; i < this.table.list.length; i++) {
+        if (this.table.list[i].Edit == true) {
+          this.$message({ type: 'error', message: '当前内容未保存,请点击取消或保存继续进行操作', duration: 2000 })
+          return false
+        }
+      }
+      // 编辑true,不可编辑false
+      row.Edit = true
+      row.NoEdit = false
+      // 编辑false,编辑保存true
+      row.isUpdate = false
+      row.isUpdateSave = true
+      row.ftid = String(row.ftid)
+      if (row.ptsfid == '-1') {
+        row.ptsfid = ''
+      }
+      row.ptsfid = String(row.ptsfid)
+      // dryweight
+      this.table.temp.ftid = row.ftid
+      this.table.temp.ftname = row.ftname
+      this.table.temp.ptsfid = row.ptsfid
+      this.table.temp.ptsfname = row.ptsfname
+    },
+    updateData(row) {
+      if (row.r1 == 'NaN') { this.$set(row, 'r1', 0) }
+      if (row.r2 == 'NaN') { this.$set(row, 'r2', 0) }
+      if (row.r3 == 'NaN') { this.$set(row, 'r3', 0) }
+      if (row.r4 == 'NaN') { this.$set(row, 'r4', 0) }
+      if (row.w1 == 'NaN') { this.$set(row, 'w1', 0) }
+      if (row.w2 == 'NaN') { this.$set(row, 'w2', 0) }
+      if (row.w3 == 'NaN') { this.$set(row, 'w3', 0) }
+      if (row.w4 == 'NaN') { this.$set(row, 'w4', 0) }
+      if (row.bw1 == 'NaN') { this.$set(row, 'bw1', 0) }
+      if (row.bw2 == 'NaN') { this.$set(row, 'bw2', 0) }
+      if (row.bw3 == 'NaN') { this.$set(row, 'bw3', 0) }
+      if (row.bw4 == 'NaN') { this.$set(row, 'bw4', 0) }
+      var arr = []
+      for (let i = 1; i <= this.table.RWLength; i++) {
+        var obj = {}
+        obj['times'] = i
+        obj['pastureid'] = row.pastureid
+        obj['barid'] = row.barid
+        obj['cowcount'] = row.ccount
+        obj['ccountradio'] = row.ccountradio
+        obj['ptid'] = row.ftid
+        if (row.ptsfid !== '') {
+          obj['ptsid'] = row.ptsfid
+        } else {
+          obj['ptsid'] = '-1'
+        }
+        obj['weight'] = row['w' + i]
+        if(row['bw' + i] == ""){
+          obj['supplement'] = 0
+        }else{
+          obj['supplement'] = row['bw' + i]
+        }
+        obj['todaysupplement'] = row.todaysupplement
+        obj['todayweight'] = row.todayweight
+        arr.push(obj)
+      }
+      if (this.table.isPtsfname == 0) {
+        row.ptsfid = '-1'
+        row.ptsfname = ''
+      } else {
+        if (row.ptsfid == '') {
+          row.ptsfid = '-1'
+          row.ptsfname = ''
+        }
+      }
+      if (row.supplyweight == '') {
+        row.supplyweight = '0'
+      }
+      if (this.table.isPtsfname == false) {
+        row.supplyweight = '0'
+      }
+      console.log(row, '============')
+      this.$set(row, 'ratio', Math.floor(parseFloat(row.ratio) * 100) / 100)
+      this.$set(row, 'ccountratio', Math.floor(parseFloat(row.ccountratio) * 100) / 100)
+      row.ccountratio = String(row.ccountratio)
+      row.sumr = Math.round(row.sumr)
+      for(let i=0;i<arr.length;i++){
+        if(arr[i].tratio == undefined ||arr[i].tratio =='' || arr[i].tratio == null){
+          arr[i].tratio = 0
+        }
+      }
+      this.table.rwList = arr
+      console.log('点击了编辑保存', row)
+      this.table.temp.pastureid = row.pastureid
+      this.table.temp.id = row.id
+      this.table.temp.barname = row.barname
+      this.table.temp.barid = row.barid
+      this.table.temp.ccount = row.ccount
+      this.table.temp.ratio = row.ratio
+      this.table.temp.ccountratio = row.ccountratio
+      this.table.temp.ftid = row.ftid
+      this.table.temp.ftname = row.ftname
+      this.table.temp.ptsfid = row.ptsfid
+      this.table.temp.ptsfname = row.ptsfname
+      this.table.temp.ftweight = row.ftweight
+      this.table.temp.supplyweight = row.supplyweight
+      this.table.temp.feedweight = row.feedweight
+      this.table.temp.owner = row.owner
+      this.table.temp.sumr = row.sumr
+      if (row.softccount == '') {
+        row.softccount = 0
+      }
+      if (row.r1 == '') {
+        row.r1 = 0
+      }
+      if (row.r2 == '') {
+        row.r2 = 0
+      }
+      if (row.r3 == '') {
+        row.r3 = 0
+      }
+      if (row.r4 == '') {
+        row.r4 = 0
+      }
+      if (row.w1 == '') {
+        row.w1 = 0
+      }
+      if (row.w2 == '' || row.w4 == NaN) {
+        row.w2 = 0
+      }
+      if (row.w3 == '' || row.w4 == NaN) {
+        row.w3 = 0
+      }
+      if (row.w4 == '' || row.w4 == NaN) {
+        row.w4 = 0
+      }
+      console.log(row, '===========')
+      this.table.temp.softccount = row.softccount
+      this.table.temp.r1 = Math.round(row.r1)
+      this.table.temp.r2 = Math.round(row.r2)
+      this.table.temp.r3 = Math.round(row.r3)
+      this.table.temp.r4 = Math.round(row.r4)
+      this.table.temp.w1 = row.w1
+      this.table.temp.w2 = row.w2
+      this.table.temp.w3 = row.w3
+      this.table.temp.w4 = row.w4
+
+      if (this.table.temp.ccount == '' && this.table.temp.ratio == '' && this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {
+        this.$message({ type: 'error', message: '实际牛头数/系数/系数头数/配方模版不能为空', duration: 2000 })
+        return false
+      }
+      if (this.table.temp.ratio == '' && this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {
+        this.$message({ type: 'error', message: '系数/系数头数/配方模版不能为空', duration: 2000 })
+        return false
+      }
+      if (this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {
+        this.$message({ type: 'error', message: '系数头数/配方模版不能为空', duration: 2000 })
+        return false
+      }
+      console.log(this.table.temp.ccount, '实际牛头数不能为空')
+      if (this.table.temp.ccount === '') {
+        this.$message({ type: 'error', message: '实际牛头数不能为空', duration: 2000 })
+        return false
+      }
+      if (this.table.temp.ratio === '') {
+        this.$message({ type: 'error', message: '系数不能为空', duration: 2000 })
+        return false
+      }
+      if (this.table.temp.ccountratio === '') {
+        this.$message({ type: 'error', message: '系数头数不能为空', duration: 2000 })
+        return false
+      }
+      if (this.table.temp.ftid == '') {
+        this.$message({ type: 'error', message: '配方模版不能为空', duration: 2000 })
+        return false
+      }
+      const positiveInteger = /^[0-9]\d*$/
+      if (!positiveInteger.test(parseFloat(this.table.temp.ccount))) {
+        this.$message({
+          type: 'error',
+          message: '实际牛头数请输入正整数',
+          duration: 2000
+        })
+        return false
+      }
+      this.isokDisable = true
+      setTimeout(() => {
+        this.isokDisable = false
+      }, 1000)
+      // this.requestParam.parammaps = this.table.temp
+      this.requestParam.common = {
+        'returnmap': '0'
+      }
+      this.requestParam.data = []
+      this.requestParam.data[0] = { 'name': 'updateBigFP', 'type': 'e', 'parammaps': {
+        pastureid: row.pastureid,
+        id: row.id,
+        barname: row.barname,
+        barid: row.barid,
+        softccount: row.softccount,
+        ccount: row.ccount,
+        ratio: row.ratio,
+        ccountratio: row.ccountratio,
+        ftid: row.ftid,
+        ftname: row.ftname,
+        ptsfid: row.ptsfid,
+        ptsfname: row.ptsfname,
+        ftweight: row.ftweight,
+        supplyweight: row.supplyweight,
+        feedweight: row.feedweight,
+        owner: row.owner,
+        sumr: row.sumr
+      }}
+      this.requestParam.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.table.rwList }}
+      this.requestParam.data[1].children = []
+      this.requestParam.data[1].children[0] = { 'name': 'updateBigFPDetail', 'type': 'e', 'parammaps': {
+        pastureid: '@insertSpotList.pastureid',
+        barname: row.barname,
+        barid: '@insertSpotList.barid',
+        times: '@insertSpotList.times',
+        tratio: '@insertSpotList.tratio',
+        weight: '@insertSpotList.weight',
+        cowcount: '@insertSpotList.cowcount',
+        ccountradio: row.ccountratio,
+        ptid: '@insertSpotList.ptid',
+        ptsid: '@insertSpotList.ptsid',
+        supplement: '@insertSpotList.supplement',
+        feedweight: row.feedweight,
+        supplyweight: row.supplyweight,
+        ratio: row.ratio
+      }}
+      this.requestParam.data[2] = { 'name': 'updateLPPbyFPChange', 'type': 'e', 'parammaps': {
+        pastureid: row.pastureid,
+        fpid: row.id
+      }}
+      ExecDataByConfig(this.requestParam).then(response => {
+        console.log('编辑保存发送参数', this.requestParam)
+        if (response.msg === 'fail') {
+          this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
+        } else {
+          this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
+          // this.reload()
+          this.getList()
+          for (let i = 0; i < this.headerList.length; i++) {
+            if (this.headerList[i].target.className == 'el-icon-lock') {
+              this.headerList[i].target.className = 'el-icon-unlock'
+              this.$set(this.headerList[i].target, 'className', 'el-icon-unlock')
+            }
+          }
+        }
+      })
+    },
+    updateCancel(row) {
+      console.log('点击了编辑取消')
+      // 编辑false,不可编辑true
+      row.Edit = false
+      row.NoEdit = true
+      // 编辑true,编辑保存false
+      row.isUpdate = true
+      row.isUpdateSave = false
+      // this.reload()
+      for (let i = 0; i < this.headerList.length; i++) {
+        if (this.headerList[i].target.className == 'el-icon-lock') {
+          this.headerList[i].target.className = 'el-icon-unlock'
+          this.$set(this.headerList[i].target, 'className', 'el-icon-unlock')
+        }
+      }
+      console.log(this.table.getdataListParm.offset)
+      this.table.getdataListParm.offset = this.table.getdataListParm.offset
+      this.getList()
+      // this.$router.push('/formulationPlan/dhedFormula')
+    },
+    cellClick(row, column, event) {
+      console.log(column)
+    },
+    handleSelect(val) {
+      console.log('勾选数据', val)
+      this.selectList = val
+    },
+    // 营养评估
+    handleNutritional() {
+      console.log('点击了营养评估')
+      this.dialogFull = false
+      if (this.selectList.length !== 1) {
+        this.$message({ type: 'error', message: '请选择一条栏舍信息进行营养评估', duration: 2000 })
+        return false
+      } else {
+        console.log(this.nutritional.temp)
+        this.nutritional.dialogStatus = 'Nutritional'
+        this.nutritional.activeName = 'first'
+        this.nutritional.dialogFormVisible = true
+        this.nutritional.tab1.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
+        this.nutritional.tab1.getdataListParm1.parammaps.barid = this.selectList[0].barid
+        this.getNutritionalList()
+        this.nutritional.tab1.list = []
+      }
+    },
+    tableRowClassName({ row }) {
+      // console.log(row)
+      if (row.isColor == '0') {
+        return 'red-row'
+      } else {
+        return ''
+      }
+    },
+    handleNutritionalTab(item) {
+      if (item == 'first ') {
+        this.nutritional.tab1.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
+        this.nutritional.tab1.getdataListParm1.parammaps.barid = this.selectList[0].barid
+        this.getNutritionalList()
+        this.nutritional.tab1.list = []
+      } else {
+        console.log('牛群评估')
+        this.nutritional.tab2.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
+        this.nutritional.tab2.getdataListParm1.parammaps.barid = this.selectList[0].barid
+        this.nutritional.tab2.getdataListParm1.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm1.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.nutritional.tab2.getdataListParm2.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm2.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm2.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime
+        this.nutritional.tab2.getdataListParm2.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime
+
+        this.nutritional.tab2.getdataListParm3.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm3.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm3.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime
+        this.nutritional.tab2.getdataListParm3.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime
+
+        this.nutritional.tab2.getdataListParm4.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm4.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm4.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime
+        this.nutritional.tab2.getdataListParm4.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime
+
+        this.getTab2NutritionalList1()
+        this.getTab2NutritionalList2()
+        this.getTab2NutritionalList3()
+        this.getTab2NutritionalList4()
+      }
+    },
+    changeTab2Date() {
+      this.nutritional.tab2.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
+      this.nutritional.tab2.getdataListParm1.parammaps.barid = this.selectList[0].barid
+      this.nutritional.tab2.getdataListParm1.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+      this.nutritional.tab2.getdataListParm1.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+      this.nutritional.tab2.getdataListParm2.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+      this.nutritional.tab2.getdataListParm2.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+      this.nutritional.tab2.getdataListParm2.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime
+      this.nutritional.tab2.getdataListParm2.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime
+
+      this.nutritional.tab2.getdataListParm3.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+      this.nutritional.tab2.getdataListParm3.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+      this.nutritional.tab2.getdataListParm3.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime
+      this.nutritional.tab2.getdataListParm3.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime
+
+      this.nutritional.tab2.getdataListParm4.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+      this.nutritional.tab2.getdataListParm4.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+      this.nutritional.tab2.getdataListParm4.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime
+      this.nutritional.tab2.getdataListParm4.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime
+
+      this.getTab2NutritionalList1()
+      this.getTab2NutritionalList2()
+      this.getTab2NutritionalList3()
+      this.getTab2NutritionalList4()
+    },
+    handleBefore() {
+      if (this.nutritional.activeName == 'first') {
+        if (this.nutritional.tab1.inputDatetime !== '' && this.nutritional.tab1.inputDatetime !== null) {
+          var start = new Date(this.nutritional.tab1.inputDatetime[0].setDate(this.nutritional.tab1.inputDatetime[0].getDate() - 1))
+          var stop = new Date(this.nutritional.tab1.inputDatetime[1].setDate(this.nutritional.tab1.inputDatetime[1].getDate() - 1))
+          this.nutritional.tab1.inputDatetime.length = 0
+          this.nutritional.tab1.inputDatetime.push(start, stop)
+          this.$forceUpdate()
+        }
+      } else {
+        var start2 = new Date(this.nutritional.tab2.inputDatetime[0].setDate(this.nutritional.tab2.inputDatetime[0].getDate() - 1))
+        var stop2 = new Date(this.nutritional.tab2.inputDatetime[1].setDate(this.nutritional.tab2.inputDatetime[1].getDate() - 1))
+        this.nutritional.tab2.inputDatetime.length = 0
+        this.nutritional.tab2.inputDatetime.push(start2, stop2)
+        this.$forceUpdate()
+        this.nutritional.tab2.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
+        this.nutritional.tab2.getdataListParm1.parammaps.barid = this.selectList[0].barid
+        this.nutritional.tab2.getdataListParm1.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm1.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm2.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm2.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm2.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm2.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.nutritional.tab2.getdataListParm3.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm3.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm3.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm3.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.nutritional.tab2.getdataListParm4.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm4.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm4.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm4.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.getTab2NutritionalList1()
+        this.getTab2NutritionalList2()
+        this.getTab2NutritionalList3()
+        this.getTab2NutritionalList4()
+      }
+    },
+    handleNext() {
+      if (this.nutritional.activeName == 'first') {
+        if (this.nutritional.tab1.inputDatetime !== '' && this.nutritional.tab1.inputDatetime !== null) {
+          console.log(this.nutritional.tab1.inputDatetime)
+          var start3 = new Date(this.nutritional.tab1.inputDatetime[0].setDate(this.nutritional.tab1.inputDatetime[0].getDate() + 1))
+          var stop3 = new Date(this.nutritional.tab1.inputDatetime[1].setDate(this.nutritional.tab1.inputDatetime[1].getDate() + 1))
+          this.nutritional.tab1.inputDatetime.length = 0
+          this.nutritional.tab1.inputDatetime.push(start3, stop3)
+          this.$forceUpdate()
+        }
+      } else {
+        var start4 = new Date(this.nutritional.tab2.inputDatetime[0].setDate(this.nutritional.tab2.inputDatetime[0].getDate() + 1))
+        var stop4 = new Date(this.nutritional.tab2.inputDatetime[1].setDate(this.nutritional.tab2.inputDatetime[1].getDate() + 1))
+        this.nutritional.tab2.inputDatetime.length = 0
+        this.nutritional.tab2.inputDatetime.push(start4, stop4)
+        this.$forceUpdate()
+        this.nutritional.tab2.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
+        this.nutritional.tab2.getdataListParm1.parammaps.barid = this.selectList[0].barid
+        this.nutritional.tab2.getdataListParm1.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm1.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm2.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm2.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm2.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm2.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.nutritional.tab2.getdataListParm3.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm3.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm3.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm3.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.nutritional.tab2.getdataListParm4.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid
+        this.nutritional.tab2.getdataListParm4.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid
+        this.nutritional.tab2.getdataListParm4.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}')
+        this.nutritional.tab2.getdataListParm4.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}')
+
+        this.getTab2NutritionalList1()
+        this.getTab2NutritionalList2()
+        this.getTab2NutritionalList3()
+        this.getTab2NutritionalList4()
+      }
+    },
+    getNutritionalList() {
+      this.nutritional.tab1.listLoading1 = true
+      GetDataByName(this.nutritional.tab1.getdataListParm1).then(response => {
+        console.log('评估上方数据', response.data.list)
+        if (response.data.list !== null) {
+          response.data.list[0].cowclassid = String(response.data.list[0].cowclassid)
+          this.nutritional.tab1.temp = response.data.list[0]
+          this.nutritional.tab1.disabledCowclass = true
+          this.nutritional.tab1.getdataListParm2.parammaps.name = 'judgenurFT'
+          this.nutritional.tab1.getdataListParm2.parammaps.name1 = 'judgenurBarHSL'
+          this.nutritional.tab1.getdataListParm2.parammaps.startTime = parseTime(this.nutritional.tab1.inputDatetime[0], '{y}-{m}-{d}')
+          this.nutritional.tab1.getdataListParm2.parammaps.stopTime = parseTime(this.nutritional.tab1.inputDatetime[1], '{y}-{m}-{d}')
+          this.nutritional.tab1.getdataListParm2.parammaps.bw = parseFloat(this.nutritional.tab1.temp.bw)
+          this.nutritional.tab1.getdataListParm2.parammaps.dayw = parseFloat(this.nutritional.tab1.temp.dayw)
+          this.nutritional.tab1.getdataListParm2.parammaps.fetal = parseFloat(this.nutritional.tab1.temp.fetal)
+          this.nutritional.tab1.getdataListParm2.parammaps.avgdim = parseFloat(this.nutritional.tab1.temp.avgdim)
+          this.nutritional.tab1.getdataListParm2.parammaps.dayspre = parseFloat(this.nutritional.tab1.temp.dayspre)
+          this.nutritional.tab1.getdataListParm2.parammaps.product = parseFloat(this.nutritional.tab1.temp.product)
+          this.nutritional.tab1.getdataListParm2.parammaps.fat = parseFloat(this.nutritional.tab1.temp.fat)
+          this.nutritional.tab1.getdataListParm2.parammaps.pro = parseFloat(this.nutritional.tab1.temp.pro)
+          this.nutritional.tab1.getdataListParm2.parammaps.lactose = parseFloat(this.nutritional.tab1.temp.lactose)
+          this.nutritional.tab1.getdataListParm2.parammaps.source = parseFloat(this.nutritional.tab1.temp.source)
+          this.nutritional.tab1.getdataListParm2.parammaps.tem = parseFloat(this.nutritional.tab1.temp.tem)
+          this.nutritional.tab1.getdataListParm2.parammaps.cowsum = parseFloat(this.nutritional.tab1.temp.cowsum)
+          this.nutritional.tab1.getdataListParm2.parammaps.cowclass = this.nutritional.tab1.temp.cowclass
+          this.nutritional.tab1.getdataListParm2.parammaps.cowclassid = this.nutritional.tab1.temp.cowclassid
+          this.nutritional.tab1.getdataListParm2.parammaps.bigcowclass = this.nutritional.tab1.temp.bigcowclass
+          this.nutritional.tab1.getdataListParm2.parammaps.pastureid = this.selectList[0].pastureid
+          this.nutritional.tab1.getdataListParm2.parammaps.barid = this.nutritional.tab1.temp.barid
+          this.nutritional.tab1.getdataListParm2.parammaps.date = this.nutritional.tab1.temp.date
+          this.getNutritionalList2()
+        } else {
+          this.nutritional.tab1.temp = []
+          this.nutritional.tab1.disabledCowclass = false
+        }
+        setTimeout(() => {
+          this.nutritional.tab1.listLoading = false
+        }, 100)
+      })
+    },
+    assessmentData() {
+      console.log('评估保存')
+      this.$refs['temp'].validate(valid => {
+        if (valid) {
+          if (this.nutritional.tab1.inputDatetime == '' || this.nutritional.tab1.inputDatetime == null) {
+            this.$message({ type: 'error', message: '开始日期结束日期不能为空', duration: 2000 })
+            return false
+          } else {
+            // 牛头数
+            const positiveInteger = /^[1-9]\d*$/
+            if (this.nutritional.tab1.temp.cowsum !== '') {
+              if (!positiveInteger.test(parseFloat(this.nutritional.tab1.temp.cowsum))) {
+                this.$message({ type: 'error', message: '牛头数请输入正整数', duration: 2000 })
+                return false
+              }
+            }
+            const twoDecimalPlaces = /^\d+(\.\d{1,2})?$/
+            // 温度环境
+            if (this.nutritional.tab1.temp.tem !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.tem))) {
+                this.$message({ type: 'error', message: '温度环境请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            // 平均月龄
+            if (this.nutritional.tab1.temp.avgmonthage !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.avgmonthage))) {
+                this.$message({ type: 'error', message: '平均月龄请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            // 体重
+            if (this.nutritional.tab1.temp.bw !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.bw))) {
+                this.$message({ type: 'error', message: '体重请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            // 日增重
+            if (this.nutritional.tab1.temp.dayw !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.dayw))) {
+                this.$message({ type: 'error', message: '日增重请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            const dayspre = /^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-7]\d|7[0-9]))))$/
+            // 怀孕天数
+            if (this.nutritional.tab1.temp.dayspre !== '') {
+              if (!dayspre.test(parseFloat(this.nutritional.tab1.temp.dayspre))) {
+                this.$message({ type: 'error', message: '怀孕天数请输入大于0小于280整数', duration: 2000 })
+                return false
+              }
+            }
+            const fetal = /^(?:[1-9]|1[0-9])$/
+            // 胎次
+            if (this.nutritional.tab1.temp.fetal !== '') {
+              if (!fetal.test(parseFloat(this.nutritional.tab1.temp.fetal))) {
+                this.$message({ type: 'error', message: '胎次请输入大于0小于20整数', duration: 2000 })
+                return false
+              }
+            }
+            // 平均泌乳
+            if (this.nutritional.tab1.temp.avgdim !== '') {
+              if (!positiveInteger.test(parseFloat(this.nutritional.tab1.temp.avgdim))) {
+                this.$message({ type: 'error', message: '平均泌乳天数请输入正整数', duration: 2000 })
+                return false
+              }
+            }
+            // 产奶量
+            if (this.nutritional.tab1.temp.product !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.product))) {
+                this.$message({ type: 'error', message: '产奶量请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            // 乳脂率
+            if (this.nutritional.tab1.temp.fat !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.fat))) {
+                this.$message({ type: 'error', message: '乳脂率请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            // 乳蛋白率
+            if (this.nutritional.tab1.temp.pro !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.pro))) {
+                this.$message({ type: 'error', message: '乳蛋白率请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            // 乳糖率
+            if (this.nutritional.tab1.temp.lactose !== '') {
+              if (!twoDecimalPlaces.test(parseFloat(this.nutritional.tab1.temp.lactose))) {
+                this.$message({ type: 'error', message: '乳糖率请保留两位小数', duration: 2000 })
+                return false
+              }
+            }
+            this.nutritional.tab1.getdataListParm2.parammaps.name = 'judgenurFT'
+            this.nutritional.tab1.getdataListParm2.parammaps.name1 = 'judgenurBarHSL'
+            this.nutritional.tab1.getdataListParm2.parammaps.startTime = parseTime(this.nutritional.tab1.inputDatetime[0], '{y}-{m}-{d}')
+            this.nutritional.tab1.getdataListParm2.parammaps.stopTime = parseTime(this.nutritional.tab1.inputDatetime[1], '{y}-{m}-{d}')
+            this.nutritional.tab1.getdataListParm2.parammaps.bw = parseFloat(this.nutritional.tab1.temp.bw)
+            this.nutritional.tab1.getdataListParm2.parammaps.dayw = parseFloat(this.nutritional.tab1.temp.dayw)
+            this.nutritional.tab1.getdataListParm2.parammaps.fetal = parseFloat(this.nutritional.tab1.temp.fetal)
+            this.nutritional.tab1.getdataListParm2.parammaps.avgdim = parseFloat(this.nutritional.tab1.temp.avgdim)
+            this.nutritional.tab1.getdataListParm2.parammaps.dayspre = parseFloat(this.nutritional.tab1.temp.dayspre)
+            this.nutritional.tab1.getdataListParm2.parammaps.product = parseFloat(this.nutritional.tab1.temp.product)
+            this.nutritional.tab1.getdataListParm2.parammaps.fat = parseFloat(this.nutritional.tab1.temp.fat)
+            this.nutritional.tab1.getdataListParm2.parammaps.pro = parseFloat(this.nutritional.tab1.temp.pro)
+            this.nutritional.tab1.getdataListParm2.parammaps.lactose = parseFloat(this.nutritional.tab1.temp.lactose)
+            this.nutritional.tab1.getdataListParm2.parammaps.source = parseFloat(this.nutritional.tab1.temp.source)
+            this.nutritional.tab1.getdataListParm2.parammaps.tem = parseFloat(this.nutritional.tab1.temp.tem)
+            this.nutritional.tab1.getdataListParm2.parammaps.cowsum = parseFloat(this.nutritional.tab1.temp.cowsum)
+            this.nutritional.tab1.getdataListParm2.parammaps.cowclass = this.nutritional.tab1.temp.cowclass
+            this.nutritional.tab1.getdataListParm2.parammaps.cowclassid = this.nutritional.tab1.temp.cowclassid
+            this.nutritional.tab1.getdataListParm2.parammaps.bigcowclass = this.nutritional.tab1.temp.bigcowclass
+            this.nutritional.tab1.getdataListParm2.parammaps.pastureid = this.selectList[0].pastureid
+            this.nutritional.tab1.getdataListParm2.parammaps.barid = this.nutritional.tab1.temp.barid
+            this.nutritional.tab1.getdataListParm2.parammaps.date = this.nutritional.tab1.temp.date
+            this.getNutritionalList2()
+          }
+        }
+      })
+    },
+    getNutritionalList2() {
+      this.nutritional.tab1.listLoading2 = true
+      const url = 'authdata/GETNurJudge'
+      const data = this.nutritional.tab1.getdataListParm2
+      postJson(url, data).then(response => {
+        if (response.msg !== 'fail') {
+          if (response.data.list !== null) {
+            for (let i = 0; i < response.data.length; i++) {
+              if (response.data[i].cowneed == null) {
+                response.data[i].cowneed = ''
+              }
+              var reg = RegExp(/>/)
+              var reg2 = RegExp(/</)
+              var reg3 = RegExp(/-/)
+              if (reg.test(response.data[i].cowneed) == true) {
+                const cowneed = response.data[i].cowneed.split('>')[1]
+                if ((parseFloat(response.data[i].ftpro) < parseFloat(cowneed)) || (parseFloat(response.data[i].hprov) < parseFloat(cowneed)) || parseFloat(response.data[i].sprov) < parseFloat(cowneed)) {
+                  this.$set(response.data[i], 'isColor', '0')
+                } else {
+                  this.$set(response.data[i], 'isColor', '')
+                }
+              } else if (reg2.test(response.data[i].cowneed) == true) {
+                const cowneed2 = response.data[i].cowneed.split('<')[1]
+                if ((parseFloat(response.data[i].ftpro) > parseFloat(cowneed2)) || (parseFloat(response.data[i].hprov) > parseFloat(cowneed2)) || parseFloat(response.data[i].sprov) > parseFloat(cowneed2)) {
+                  this.$set(response.data[i], 'isColor', '0')
+                } else {
+                  this.$set(response.data[i], 'isColor', '')
+                }
+              } else if (reg3.test(response.data[i].cowneed) == true) {
+                response.data[i].cowneed = String(response.data[i].cowneed)
+                if (response.data[i].cowneed.length == 1) {
+                  const cowneed3 = response.data[i].cowneed.split('-')
+                  console.log(cowneed3, 'cowneed3')
+                  if (parseFloat(response.data[i].ftpro) > parseFloat(cowneed3[0]) && parseFloat(response.data[i].ftpro) < parseFloat(cowneed3[1])) {
+                    this.$set(response.data[i], 'isColor', '')
+                  } else if (parseFloat(response.data[i].hprov) > parseFloat(cowneed3[0]) && parseFloat(response.data[i].hprov) < parseFloat(cowneed3[1])) {
+                    this.$set(response.data[i], 'isColor', '')
+                  } else if (parseFloat(response.data[i].sprov) > parseFloat(cowneed3[0]) && parseFloat(response.data[i].sprov) < parseFloat(cowneed3[1])) {
+                    this.$set(response.data[i], 'isColor', '')
+                  } else if (cowneed3[0] == '' && cowneed3[0] == '') {
+                    this.$set(response.data[i], 'isColor', '')
+                  } else {
+                    this.$set(response.data[i], 'isColor', '0')
+                  }
+                } else {
+                  if ((parseFloat(response.data[i].ftpro) < parseFloat(response.data[i].cowneed)) || (parseFloat(response.data[i].hprov) < parseFloat(response.data[i].cowneed)) || parseFloat(response.data[i].sprov) < parseFloat(response.data[i].cowneed)) {
+                    this.$set(response.data[i], 'isColor', '0')
+                  } else {
+                    this.$set(response.data[i], 'isColor', '')
+                  }
+                }
+              } else {
+                response.data[i].cowneed = String(response.data[i].cowneed)
+                if (response.data[i].cowneed[0] !== '-') {
+                  if ((parseFloat(response.data[i].ftpro) < parseFloat(response.data[i].cowneed)) || (parseFloat(response.data[i].hprov) < parseFloat(response.data[i].cowneed)) || parseFloat(response.data[i].sprov) < parseFloat(response.data[i].cowneed)) {
+                    this.$set(response.data[i], 'isColor', '0')
+                  } else {
+                    this.$set(response.data[i], 'isColor', '')
+                  }
+                } else {
+                  this.$set(response.data[i], 'isColor', '')
+                }
+              }
+            }
+            console.log(response.data)
+            console.log('评估下方数据', response.data)
+            this.nutritional.tab1.list = response.data
+            this.nutritional.tab1.total = response.data.total
+          } else {
+            this.nutritional.tab1.list = []
+          }
+        } else {
+          this.$notify({ title: '失败', message: response.data, type: 'warning', duration: 2000 })
+        }
+
+        setTimeout(() => {
+          this.nutritional.tab1.listLoading2 = false
+        }, 100)
+      })
+    },
+    // 牛群评估
+    getTab2NutritionalList1() {
+      this.nutritional.tab2.listLoading1 = true
+      GetDataByName(this.nutritional.tab2.getdataListParm1).then(response => {
+        console.log('宾州筛分析', response.data.list)
+        if (response.data.list !== null) {
+          this.nutritional.tab2.list1 = response.data.list
+          this.nutritional.tab2.pageNum1 = response.data.pageNum
+          this.nutritional.tab2.pageSize1 = response.data.pageSize
+          this.nutritional.tab2.total1 = response.data.total
+        } else {
+          this.nutritional.tab2.list1 = []
+        }
+        setTimeout(() => {
+          this.nutritional.tab2.listLoading1 = false
+        }, 100)
+      })
+    },
+    getTab2NutritionalList2() {
+      this.nutritional.tab2.listLoading2 = true
+      GetDataByName(this.nutritional.tab2.getdataListParm2).then(response => {
+        console.log('粪便筛分析', response.data.list)
+        if (response.data.list !== null) {
+          this.nutritional.tab2.list2 = response.data.list
+          this.nutritional.tab2.pageNum2 = response.data.pageNum
+          this.nutritional.tab2.pageSize2 = response.data.pageSize
+          this.nutritional.tab2.total2 = response.data.total
+        } else {
+          this.nutritional.tab2.list2 = []
+        }
+        setTimeout(() => {
+          this.nutritional.tab2.listLoading2 = false
+        }, 100)
+      })
+    },
+    getTab2NutritionalList3() {
+      this.nutritional.tab2.listLoading3 = true
+      GetDataByName(this.nutritional.tab2.getdataListParm3).then(response => {
+        console.log('BCS评分', response.data.list)
+        if (response.data.list !== null) {
+          for (let i = 0; i < response.data.list.length; i++) {
+            this.$set(response.data.list[i], 'score25rate', (parseFloat(response.data.list[i].score25) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score275rate', (parseFloat(response.data.list[i].score275) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score3rate', (parseFloat(response.data.list[i].score3) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score325rate', (parseFloat(response.data.list[i].score325) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score35rate', (parseFloat(response.data.list[i].score35) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score375rate', (parseFloat(response.data.list[i].score375) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score4rate', (100 - response.data.list[i].score25rate - response.data.list[i].score275rate - response.data.list[i].score3rate - response.data.list[i].score325rate - response.data.list[i].score35rate - response.data.list[i].score375rate).toFixed(parseInt(Cookies.get('decimal'))))
+          }
+          this.nutritional.tab2.list3 = response.data.list
+          this.nutritional.tab2.pageNum3 = response.data.pageNum
+          this.nutritional.tab2.pageSize3 = response.data.pageSize
+          this.nutritional.tab2.total3 = response.data.total
+        } else {
+          this.nutritional.tab2.list3 = []
+        }
+        setTimeout(() => {
+          this.nutritional.tab2.listLoading3 = false
+        }, 100)
+      })
+    },
+    getTab2NutritionalList4() {
+      this.nutritional.tab2.listLoading4 = true
+      GetDataByName(this.nutritional.tab2.getdataListParm4).then(response => {
+        console.log('粪便评分', response.data.list)
+        if (response.data.list !== null) {
+          for (let i = 0; i < response.data.list.length; i++) {
+            this.$set(response.data.list[i], 'score1rate', (parseFloat(response.data.list[i].score1) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score2rate', (parseFloat(response.data.list[i].score2) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score3rate', (parseFloat(response.data.list[i].score3) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score4rate', (parseFloat(response.data.list[i].score4) / parseFloat(response.data.list[i].cowsum) * 100).toFixed(parseInt(Cookies.get('decimal'))))
+            this.$set(response.data.list[i], 'score5rate', (100 - response.data.list[i].score1rate - response.data.list[i].score2rate - response.data.list[i].score3rate - response.data.list[i].score4rate).toFixed(parseInt(Cookies.get('decimal'))))
+          }
+          this.nutritional.tab2.list4 = response.data.list
+          this.nutritional.tab2.pageNum4 = response.data.pageNum
+          this.nutritional.tab2.pageSize4 = response.data.pageSize
+          this.nutritional.tab2.total4 = response.data.total
+        } else {
+          this.nutritional.tab2.list4 = []
+        }
+        setTimeout(() => {
+          this.nutritional.tab2.listLoading4 = false
+        }, 100)
+      })
+    },
+    // 历史记录
+    handleHistoryRecords() {
+      console.log('点击了历史记录')
+      this.dialogFull = false
+      this.history.dialogStatus = 'history'
+      this.history.dialogFormVisible = true
+      this.getDateList()
+    },
+    // 历史时间
+    getDateList() {
+      GetDataByName(this.history.getdataDateParm).then(response => {
+        console.log('table数据', response.data.list)
+        if (response.data.list !== null) {
+          this.history.getdataListParm.parammaps.date = response.data.list[0].maxdate
+          this.getHistoryIsDisplay()
+        } else {
+          this.history.getdataListParm.parammaps.date = ''
+        }
+      })
+    },
+    getHistoryIsDisplay() {
+      GetDataByName(this.table.getdataListParm2).then(response => {
+        console.log(response.data.list[0].inforvalue)
+        if (response.data.list !== null) {
+          if (response.data.list[0].inforvalue == 0) {
+            this.table.isPtsfname = false
+          } else {
+            this.table.isPtsfname = true
+          }
+        }
+      })
+      GetDataByName(this.table.getdataListParm3).then(response => {
+        if (response.data.list !== null) {
+          if (response.data.list[0].inforvalue == 1) {
+            this.history.isRW1 = true
+            this.history.isRW2 = false
+            this.history.isRW3 = false
+            this.history.isRW4 = false
+          } else if (response.data.list[0].inforvalue == 2) {
+            this.history.isRW1 = true
+            this.history.isRW2 = true
+            this.history.isRW3 = false
+            this.history.isRW4 = false
+          } else if (response.data.list[0].inforvalue == 3) {
+            this.history.isRW1 = true
+            this.history.isRW2 = true
+            this.history.isRW3 = true
+            this.history.isRW4 = false
+          } else if (response.data.list[0].inforvalue == 4) {
+            this.history.isRW1 = true
+            this.history.isRW2 = true
+            this.history.isRW3 = true
+            this.history.isRW4 = true
+          }
+        } else {
+          this.history.isRW1 = false
+          this.history.isRW2 = false
+          this.history.isRW3 = false
+          this.history.isRW4 = false
+        }
+      })
+      this.getHistoryList()
+    },
+    getHistoryList() {
+      this.history.listLoading = true
+      GetDataByName(this.history.getdataListParm).then(response => {
+        console.log('table数据', response.data.list)
+        if (response.data.list !== null) {
+          console.log('table数据', response.data.list)
+          for (let i = 0; i < response.data.list.length; i++) {
+            if (response.data.list[i].ptid == undefined || response.data.list[i].ptname == '') {
+              this.$set(response.data.list[i], 'ptid', '')
+              this.$set(response.data.list[i], 'ptname', '')
+            }
+          }
+          this.history.list = response.data.list
+          this.handleSpan()
+          this.history.pageNum = response.data.pageNum
+          this.history.pageSize = response.data.pageSize
+          this.history.total = response.data.total
+        } else {
+          this.history.list = []
+        }
+        setTimeout(() => {
+          this.history.listLoading = false
+        }, 100)
+      })
+    },
+    handleSpan() {
+      this.mergekeys.forEach(key => {
+        this.spanObj[key] = []
+        let position = 0
+        this.history.list.forEach((item, index) => {
+          if (index === 0) {
+            this.spanObj[key].push(1)
+            position = 0
+          } else {
+            if (key == 'sumweight') {
+              if (this.history.list[index][key] === this.history.list[index - 1][key] && this.history.list[index]['barname'] === this.history.list[index - 1]['barname']) {
+                this.spanObj[key][position] += 1
+                this.spanObj[key].push(0)
+              } else {
+                this.spanObj[key].push(1)
+                position = index
+              }
+            } else {
+              if (this.history.list[index][key] === this.history.list[index - 1][key]) {
+                this.spanObj[key][position] += 1
+                this.spanObj[key].push(0)
+              } else {
+                this.spanObj[key].push(1)
+                position = index
+              }
+            }
+          }
+        })
+      })
+    },
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      for (let i = 0; i < this.mergekeys.length; i++) {
+        if (column.property === this.mergekeys[i]) {
+          const _row = this.spanObj[this.mergekeys[i]][rowIndex]
+          const _col = _row > 0 ? 1 : 0
+          return {
+            rowspan: _row,
+            colspan: _col
+          }
+        }
+      }
+    },
+    changeDate() {
+      this.getHistoryList()
+    },
+    // 应用
+    handleApplication() {
+      console.log('点击了应用')
+      MessageBox.confirm('是否确认将' + this.history.getdataListParm.parammaps.date + '的数据应用到当前?', {
+        confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
+      }).then(() => {
+        this.requestParam.name = 'applyFPdate'
+        this.requestParam.parammaps = {}
+        this.requestParam.parammaps.pastureid = Cookies.get('pastureid')
+        this.requestParam.parammaps.date = this.history.getdataListParm.parammaps.date
+        PostDataByName(this.requestParam).then(response => {
+          if (response.msg === 'fail') {
+            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
+          } else {
+            this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
+            this.getHistoryIsDisplay()
+            this.getList()
+          }
+        })
+      }).catch(() => {
+        this.$message({ type: 'info', message: '已取消应用' })
+      })
+    },
+    // 导出
+    handleExport(item) {
+      if (item == 1) {
+        console.log('点击了导出模板')
+        this.download.getdataListParm.parammaps = this.table.getdataListParm.parammaps
+        GetDataByName(this.download.getdataListParm).then(response => {
+          if (response.data.list !== null) {
+            this.download.list = response.data.list
+          } else {
+            this.download.list = []
+          }
+          var downloadList = [
+            { 'obj1': '1、文件类型为xlsx类型,对应表格文件名格式为:文件名称.xlsx;' },
+            { 'obj1': '2、底部工作表名称不可更改,默认为:Sheet1;' },
+            { 'obj1': '3、栏舍名称,实际牛头数,系数(%),系数头数,配方模板,补料配方字体为必填;' },
+            { 'obj1': '4、第一列栏舍名称默认为系统中栏舍,不可修改;' },
+            { 'obj1': '5、实际牛头数为正整数,系数为正数,至多保留俩位小数;' },
+            { 'obj1': '6、配方模板名称必须与系统中配方计划—配方模板中的饲喂配方匹配;若补料配方开启,需与配方模板中的补料配方匹配;' },
+            { 'obj1': '7、数据最多可导入200条,超过200条请分多个文件导入。' }
+          ]
+          var excelDatas = [
+            {
+              tHeader: ['栏舍名称', '实际牛头数', '系数(%)', '配方模板', '补料配方', '第一班比例(%)', '第二班比例(%)', '第三班比例(%)', '第四班比例(%)'],
+              filterVal: ['barname', '', '', '', '', '', '', '', ''],
+              tableDatas: this.download.list,
+              sheetName: 'Sheet1'
+            }, {
+              tHeader: ['填写规范:'],
+              filterVal: ['obj1'],
+              tableDatas: downloadList,
+              sheetName: 'Sheet2'
+            }
+          ]
+          json2excel(excelDatas, '栏舍配方导入模板', true, 'xlsx')
+        })
+      } else {
+        console.log('点击了导出数据')
+        this.download.getdataListParm.parammaps = this.table.getdataListParm.parammaps
+        GetDataByName(this.download.getdataListParm).then(response => {
+          if (response.data.list !== null) {
+            for (let i = 0; i < response.data.list.length; i++) {
+              if (response.data.list[i].ftid !== undefined && response.data.list[i].ftid !== '') {
+                if (this.recipeTemplateList.find(obj => obj.id == response.data.list[i].ftid) !== undefined) {
+                  this.$set(response.data.list[i], 'dryweight', this.recipeTemplateList.find(obj => obj.id == response.data.list[i].ftid).dryweight) // 编辑保存
+                } else {
+                  this.$set(response.data.list[i], 'dryweight', '')
+                }
+              }
+              if (response.data.list[i].timesopt !== undefined) {
+                var timesoptArr = response.data.list[i].timesopt.split(',')
+                for (let j = 0; j < timesoptArr.length; j++) {
+                  response.data.list[i]['r' + timesoptArr[j].split(':')[0]] = timesoptArr[j].split(':')[1]
+                  response.data.list[i]['w' + timesoptArr[j].split(':')[0]] = timesoptArr[j].split(':')[2]
+                }
+              }
+              if (response.data.list[i].r1 == '' || response.data.list[i].r1 == undefined) {
+                response.data.list[i].r1 = 0
+                response.data.list[i].w1 = 0
+              }
+              if (response.data.list[i].r2 == '' || response.data.list[i].r2 == undefined) {
+                response.data.list[i].r2 = 0
+                response.data.list[i].w2 = 0
+              }
+              if (response.data.list[i].r3 == '' || response.data.list[i].r3 == undefined) {
+                response.data.list[i].r3 = 0
+                response.data.list[i].w3 = 0
+              }
+              if (response.data.list[i].r4 == '' || response.data.list[i].r4 == undefined) {
+                response.data.list[i].r4 = 0
+                response.data.list[i].w4 = 0
+              }
+              this.$set(response.data.list[i], 'sumr', parseFloat(response.data.list[i].r1) + parseFloat(response.data.list[i].r2) + parseFloat(response.data.list[i].r3) + parseFloat(response.data.list[i].r4))
+              response.data.list[i].sumr = formatNum(response.data.list[i].sumr, parseInt(Cookies.get('decimal')))
+              this.$set(response.data.list[i], 'dailyWeight', parseFloat(response.data.list[i].w1) + parseFloat(response.data.list[i].w2) + parseFloat(response.data.list[i].w3) + parseFloat(response.data.list[i].w4))
+              response.data.list[i].dailyWeight = formatNum(response.data.list[i].dailyWeight, parseInt(Cookies.get('decimal')))
+            }
+            this.download.list = response.data.list
+          } else {
+            this.download.list = []
+          }
+          if (this.table.isRW1 == true && this.table.isRW2 == false && this.table.isRW3 == false && this.table.isRW4 == false) {
+            var excelDatas = [
+              {
+                tHeader: ['栏舍名称', '软件牛头数', '实际牛头数', '系数(%)', '系数头数', '配方模板', '补料配方', '第一班比例(%)', '第一班重量', '总比例', '日投喂量', '配方重量', '补料重量', '配方干物质'],
+                filterVal: ['barname', 'softccount', 'ccount', 'ratio', 'ccountratio', 'ftname', 'ptsfname', 'r1', 'w1', 'sumr', 'dailyWeight', 'ftweight', 'supplyweight', 'dryweight'],
+                tableDatas: this.download.list,
+                sheetName: 'Sheet1'
+              }
+            ]
+          } else if (this.table.isRW1 == true && this.table.isRW2 == true && this.table.isRW3 == false && this.table.isRW4 == false) {
+            var excelDatas = [
+              {
+                tHeader: ['栏舍名称', '软件牛头数', '实际牛头数', '系数(%)', '系数头数', '配方模板', '补料配方', '第一班比例(%)', '第一班重量', '第二班比例(%)', '第二班重量', '总比例', '日投喂量', '配方重量', '补料重量', '配方干物质'],
+                filterVal: ['barname', 'softccount', 'ccount', 'ratio', 'ccountratio', 'ftname', 'ptsfname', 'r1', 'w1', 'r2', 'w2', 'sumr', 'dailyWeight', 'ftweight', 'supplyweight', 'dryweight'],
+                tableDatas: this.download.list,
+                sheetName: 'Sheet1'
+              }
+            ]
+          } else if (this.table.isRW1 == true && this.table.isRW2 == true && this.table.isRW3 == true && this.table.isRW4 == false) {
+            var excelDatas = [
+              {
+                tHeader: ['栏舍名称', '软件牛头数', '实际牛头数', '系数(%)', '系数头数', '配方模板', '补料配方', '第一班比例(%)', '第一班重量', '第二班比例(%)', '第二班重量', '第三班比例(%)', '第三班重量', '总比例', '日投喂量', '配方重量', '补料重量', '配方干物质'],
+                filterVal: ['barname', 'softccount', 'ccount', 'ratio', 'ccountratio', 'ftname', 'ptsfname', 'r1', 'w1', 'r2', 'w2', 'r3', 'w3', 'sumr', 'dailyWeight', 'ftweight', 'supplyweight', 'dryweight'],
+                tableDatas: this.download.list,
+                sheetName: 'Sheet1'
+              }
+            ]
+          } else {
+            var excelDatas = [
+              {
+                tHeader: ['栏舍名称', '软件牛头数', '实际牛头数', '系数(%)', '系数头数', '配方模板', '补料配方', '第一班比例(%)', '第一班重量', '第二班比例(%)', '第二班重量', '第三班比例(%)', '第三班重量', '第四班比例(%)', '第四班重量', '总比例', '日投喂量', '配方重量', '补料重量', '配方干物质'],
+                filterVal: ['barname', 'softccount', 'ccount', 'ratio', 'ccountratio', 'ftname', 'ptsfname', 'r1', 'w1', 'r2', 'w2', 'r3', 'w3', 'r4', 'w4', 'sumr', 'dailyWeight', 'ftweight', 'supplyweight', 'dryweight'],
+                tableDatas: this.download.list,
+                sheetName: 'Sheet1'
+              }
+            ]
+          }
+          json2excel(excelDatas, '栏舍配方', true, 'xlsx')
+        })
+      }
+    },
+
+    beforeImport(file) {
+      const isLt2M = file.size / 1024 / 1024 < 2
+      if (!isLt2M) {
+        this.$message.error('上传文件大小不能超过 2MB!')
+      }
+      return isLt2M
+    },
+    handleImportSuccess(res, file) {
+      this.getList()
+      if (res.msg === 'ok') {
+        this.$message({ title: '成功', message: '导入成功:' + res.data.success + '条!', type: 'success', duration: 2000 })
+        if (res.data.err_count > 0) {
+          this.$notify({ title: '失败', message: '导入失败:' + res.data.err_count + '条!', type: 'danger', duration: 2000 })
+           import('@/vendor/Export2Excel').then(excel => {
+             const list1 = res.data.result
+             const tHeader = [
+               '栏舍名称', '实际牛头数', '系数(%)', '配方模板', '补料配方', '第一班比例(%)', '第二班比例(%)', '第三班比例(%)', '错误信息'
+             ]
+             const filterVal = [
+               '栏舍名称', '实际牛头数', '系数(%)', '配方模板', '补料配方', '第一班比例(%)', '第二班比例(%)', '第三班比例(%)', 'error_msg'
+             ]
+             const data1 = this.formatJson(filterVal, list1)
+             excel.export_json_to_excel({ header: tHeader, data: data1, filename: '栏舍配方导入报错信息', autoWidth: true, bookType: 'xlsx' })
+           })
+        }
+      } else {
+        this.$notify({ title: '失败', message: '上传失败', type: 'danger', duration: 2000 })
+      }
+    },
+    formatJson(filterVal, jsonData) {
+      return jsonData.map(v =>
+        filterVal.map(j => {
+          if (j === 'timestamp') {
+            return parseTime(v[j])
+          } else {
+            return v[j]
+          }
+        })
+      )
+    },
+    // 干物质调节
+    handleDryMatterRegulation() {
+      console.log('干物质调节')
+      this.isShowDialog = true
+      this.$refs.mychild.getBalconicFormula()
+      this.$refs.mychild.restTemp()
+    },
+    blurBw(row) {
+      console.log(row)
+    },
+    focusBw(row) {
+      console.log(row)
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+  .search {
+    clear: both;
+  }
+
+  .table {
+    margin-top: 10px;
+  }
+</style>
+<style lang="scss">
+  .red-row{
+    background: #fde2e2 !important;
+  }
+</style>

+ 26 - 3
src/views/formulationPlan/dhedFormula/index.vue

@@ -1222,7 +1222,7 @@ export default {
             if (response.data.list[i].supplyweight == undefined) {
               this.$set(response.data.list[i], 'supplyweight', '')
             }
-            if (response.data.list[i].feedweight == undefined) {
+            if (response.data.list[i].feedweight == undefined || parseFloat(response.data.list[i].feedweight) == 0) {
               this.$set(response.data.list[i], 'feedweight', '')
             }
             this.$set(response.data.list[i], 'dailyWeight', '')
@@ -2482,6 +2482,11 @@ export default {
       if (row.w2 == '') { row.w2 = 0 }
       if (row.w3 == '') { row.w3 = 0 }
       if (row.w4 == '') { row.w4 = 0 }
+      if (isNaN(row.r1)) { row.r1 = 0 }
+      if (isNaN(row.r2)) { row.r2 = 0 }
+      if (isNaN(row.r3)) { row.r3 = 0 }
+      if (isNaN(row.r4)) { row.r4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1)+parseFloat(row.r2)+parseFloat(row.r3)+parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
       this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
       row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
     },
@@ -2851,7 +2856,6 @@ export default {
             this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
             row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
             if (parseFloat(row.dailyWeight) > parseFloat(this.focusWRow2.dailyWeight)) {
-              console.log('huijia;')
               row.w1 = formatNum((parseFloat(this.focusWRow2.dailyWeight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3) + parseFloat(row.r4)), parseInt(Cookies.get('decimal')))
               row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, parseInt(Cookies.get('decimal')))
             }
@@ -3084,6 +3088,11 @@ export default {
       if (row.w2 == '') { row.w2 = 0 }
       if (row.w3 == '') { row.w3 = 0 }
       if (row.w4 == '') { row.w4 = 0 }
+      if (isNaN(row.r1)) { row.r1 = 0 }
+      if (isNaN(row.r2)) { row.r2 = 0 }
+      if (isNaN(row.r3)) { row.r3 = 0 }
+      if (isNaN(row.r4)) { row.r4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1)+parseFloat(row.r2)+parseFloat(row.r3)+parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
       this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
       row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
     },
@@ -3674,6 +3683,11 @@ export default {
       if (row.w2 == '') { row.w2 = 0 }
       if (row.w3 == '') { row.w3 = 0 }
       if (row.w4 == '') { row.w4 = 0 }
+      if (isNaN(row.r1)) { row.r1 = 0 }
+      if (isNaN(row.r2)) { row.r2 = 0 }
+      if (isNaN(row.r3)) { row.r3 = 0 }
+      if (isNaN(row.r4)) { row.r4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1)+parseFloat(row.r2)+parseFloat(row.r3)+parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
       this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
       row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
     },
@@ -4164,6 +4178,11 @@ export default {
       if (row.w2 == '') { row.w2 = 0 }
       if (row.w3 == '') { row.w3 = 0 }
       if (row.w4 == '') { row.w4 = 0 }
+      if (isNaN(row.r1)) { row.r1 = 0 }
+      if (isNaN(row.r2)) { row.r2 = 0 }
+      if (isNaN(row.r3)) { row.r3 = 0 }
+      if (isNaN(row.r4)) { row.r4 = 0 }
+      this.$set(row, 'sumr', formatNum(parseFloat(row.r1)+parseFloat(row.r2)+parseFloat(row.r3)+parseFloat(row.r4), parseInt(Cookies.get('decimal'))))
       this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4))
       row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
     },
@@ -4253,9 +4272,13 @@ export default {
       console.log(row, '============')
       this.$set(row, 'ratio', Math.floor(parseFloat(row.ratio) * 100) / 100)
       this.$set(row, 'ccountratio', Math.floor(parseFloat(row.ccountratio) * 100) / 100)
-      row.ratio = String(row.ratio)
       row.ccountratio = String(row.ccountratio)
       row.sumr = Math.round(row.sumr)
+      // for(let i=0;i<arr.length;i++){
+      //   if(arr[i].tratio == undefined ||arr[i].tratio =='' || arr[i].tratio == null){
+      //     arr[i].tratio = 0
+      //   }
+      // }
       this.table.rwList = arr
       console.log('点击了编辑保存', row)
       this.table.temp.pastureid = row.pastureid

+ 36 - 9
src/views/formulationPlan/materialIssuancePlan/index.vue

@@ -95,6 +95,7 @@
                 <div slot="content">
                   <div> 栏舍全称:{{ element.barname }} </div>
                   <div> 饲料重量:{{ element.weight }} </div>
+                  <div> 撒料车:{{ element.tmrname }} </div>
                 </div>
                 <div :style="{'background':element.background}" class="tmrname">{{ element.barname }}</div>
               </el-tooltip>
@@ -286,13 +287,20 @@
                   </div>
                   <div class="arr-l-b">
                     <el-tooltip placement="top" class="list-group-item1 item" style="height: 18px;line-height: 18px;">
-                      <div slot="content">{{ element.barname }}</div>
-                      <div class="tmrname">{{ element.barname }}</div>
+                      <div slot="content">{{ element.tmrname }}</div>
+                      <div class="tmrname">{{ element.tmrname }}</div>
                     </el-tooltip>
                   </div>
                   <div v-if="element.fttype==0" style="background: #009C69;position:absolute;bottom: 0;left: 0;">补</div>
                 </div>
                 <div class="arr-r">
+                  <div class="arr-r-l">
+                    <el-tooltip placement="top">
+                      <div slot="content">{{ element.barname }}</div>
+                      <div class="barname">{{ element.barname }}</div>
+                    </el-tooltip>
+                  </div>
+                  <div class="arr-r-c">-</div>
                   <div class="arr-r-r">
                     <el-tooltip placement="top">
                       <div slot="content">{{ element.weight }}</div>
@@ -453,6 +461,9 @@ export default {
       postJson(url, data2).then(response => {
         if (response.data !== null) {
           this.equipmentList = response.data.list
+          if(this.create.dialogStatus == 'update'){
+            this.create.temp.tclassname = this.equipmentList.find(obj => obj.id ==  this.create.temp.tmrid).tclassname
+          }
         } else {
           this.equipmentList = []
         }
@@ -602,6 +613,8 @@ export default {
           this.create.temp.tmrname = this.equipmentList.find(obj => obj.id === item).eqcode
           this.create.temp.maxweight = this.equipmentList.find(obj => obj.id === item).maxstirfeed
           this.create.temp.tclassname = this.equipmentList.find(obj => obj.id === item).tclassname
+          this.create.temp.mytmrid = this.create.temp.tmrid
+          this.create.temp.mytmrname = this.create.temp.tmrname
           console.log('tmrname==>', this.create.temp)
           if (this.isDispaly || this.create.dialogStatus == 'update') {
             this.getClearList()
@@ -611,6 +624,8 @@ export default {
           this.create.temp.tmrname = this.equipmentList.find(obj => obj.id === this.create.temp.tmrid2).eqcode
           this.create.temp.maxweight = this.equipmentList.find(obj => obj.id === this.create.temp.tmrid2).maxstirfeed
           this.create.temp.tclassname = this.equipmentList.find(obj => obj.id === this.create.temp.tmrid2).tclassname
+          this.create.temp.mytmrid = this.create.temp.tmrid2
+          this.create.temp.mytmrname = this.create.temp.tmrname
           console.log(this.create.temp)
           this.$message({ type: 'info', message: '已取消' })
         })
@@ -619,9 +634,11 @@ export default {
         this.create.temp.tmrname = this.equipmentList.find(obj => obj.id === item).eqcode
         this.create.temp.maxweight = this.equipmentList.find(obj => obj.id === item).maxstirfeed
         this.create.temp.tclassname = this.equipmentList.find(obj => obj.id === item).tclassname
+        this.create.temp.mytmrid = this.create.temp.tmrid
+        this.create.temp.mytmrname = this.create.temp.tmrname
         console.log('TMR编号item==>', item)
-        console.log('tmrname==>', this.create.temp)
       }
+        console.log('tmrname==>', this.create.temp)
     },
     getClearList() {
       const url = 'authdata/lpplandtl/del'
@@ -853,7 +870,7 @@ export default {
       console.log('temp==>',this.create.temp)
       console.log('this.equipmentList==>',this.equipmentList)
       if(this.create.temp.tclassname == '固定式'){
-        console.log(this.equipmentList.find(obj => obj.tclassname == '撒料设备'))
+        // console.log(this.equipmentList.find(obj => obj.tclassname == '撒料设备'))
         if(this.equipmentList.find(obj => obj.tclassname == '撒料设备') !== undefined){
           this.create.temp.tmrname = this.equipmentList.find(obj => obj.tclassname == '撒料设备').eqcode
           this.create.temp.tmrid = this.equipmentList.find(obj => obj.tclassname == '撒料设备').id
@@ -864,7 +881,6 @@ export default {
           this.$message({ type: 'error', message: '请先在TMR设备中创建撒料设备', duration: 2000 })
           return
         }
-        console.log('temp',this.create.temp)
       }
       var evt = this.create.temp
       if (parseFloat(evt.maxweight) - parseFloat(evt.sumweight) < parseFloat(item.weight)) {
@@ -907,13 +923,17 @@ export default {
     },
     handleUpdate(row) {
       console.log(row)
+      console.log(this.equipmentList)
       this.getDownList()
       this.dialogFull = false
       this.create.dialogStatus = 'update'
       this.create.dialogFormVisible = true
       row.tmrid2 = row.tmrid
       this.create.temp = Object.assign({}, row)
+      this.create.temp.mytmrname = row.tmrname
+      this.create.temp.mytmrid = row.tmrid
       this.create.checkBarList = []
+      console.log(this.create.temp,'this.create.temp')
       this.getCreateList1()
     },
     updateData() {
@@ -928,6 +948,8 @@ export default {
           this.create.temp.pastureid = Cookies.get('pastureid')
           this.create.temp.times = parseInt(this.create.temp.times)
           data.parammaps = this.create.temp
+          data.parammaps.tmrid = this.create.temp.mytmrid
+          data.parammaps.tmrname = this.create.temp.mytmrname
           postJson(url, data).then(response => {
             console.log('新增保存发送参数', this.requestParam)
             if (response.msg !== 'fail') {
@@ -992,6 +1014,7 @@ export default {
       console.log('fttype==>',fttype)
       console.log('myid==>',myid)
       let tclassname = this.equipmentList.find(obj => obj.id == item).tclassname
+      let maxstirfeed = this.equipmentList.find(obj => obj.id == item).maxstirfeed
       if(tclassname == '固定式'){
         this.$message({ type: 'error', message: '固定式设备无法撒料,请选择撒料设备', duration: 2000 })
         this.getCreateList2()
@@ -999,9 +1022,12 @@ export default {
       }
       var objList = {}
       for (let i = 0; i < this.create.list2.length; i++) {
-        this.create.list2[i].tmrname = this.equipmentList.find(obj => obj.id === item).tname
         if (this.create.list2[i].fttype == fttype && this.create.list2[i].id == myid) {
+          this.create.list2[i].tmrname = this.equipmentList.find(obj => obj.id === item).tname
           objList = this.create.list2[i]
+          if(parseFloat(this.create.list2[i].weight) > parseFloat(maxstirfeed)){
+            objList.weight = maxstirfeed
+          }
         }
       }
       this.requestParam = {}
@@ -1032,6 +1058,7 @@ export default {
         if (response.msg === 'fail') {
           this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
         } else {
+          this.getCreateList2()
           this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
         }
       })
@@ -1359,7 +1386,7 @@ export default {
       }
       .spreadingMaterialList{height: 100%;overflow: auto;}
       .list-group-item2 {
-        width: 145px;
+        width: 220px;
         height: 50px;
         overflow: hidden;
         float: left;
@@ -1432,14 +1459,14 @@ export default {
 
         .arr-r {
           float: right;
-          width: 80px;
+          width: 160px;
           height: 50px;
           overflow: hidden;
           line-height: 50px;
 
           .arr-r-l {
             float: left;
-            width: 85px;
+            width: 70px;
 
             .barname {
               width: 95%;

+ 27 - 14
src/views/statisticalAnalysis/errorAnalysis/pasture/see.vue

@@ -64,12 +64,7 @@
                   <el-table-column label="操作编号" min-width="50px" align="center" prop="sort" />
                   <el-table-column label="饲料名称" min-width="50px" align="center" prop="fname" />
                   <el-table-column label="计划重量" min-width="50px" align="center" prop="lweight" />
-                  <el-table-column label="实际重量" min-width="50px" align="center" prop="actualweightminus">
-                    <template slot-scope="scope">
-                      <span v-if="scope.row.lweight == scope.row.actualweightminus">{{ scope.row.actualweightminus }}</span>
-                      <span v-else style="color: red;">{{ scope.row.actualweightminus }}</span>
-                    </template>
-                  </el-table-column>
+                  <el-table-column label="实际重量" min-width="50px" align="center" prop="actualweightminus" />
                   <el-table-column label="误差值" min-width="50px" align="center" prop="diff" />
                   <el-table-column label="准确率" min-width="50px" align="center" prop="diffRate" />
                   <el-table-column label="完成时间" min-width="50px" align="center" prop="intime" />
@@ -100,12 +95,7 @@
                   <el-table-column label="操作编号" min-width="50px" align="center" prop="sort" />
                   <el-table-column label="饲料名称" min-width="50px" align="center" prop="fname" />
                   <el-table-column label="计划重量" min-width="50px" align="center" prop="lweight" />
-                  <el-table-column label="实际重量" min-width="50px" align="center" prop="actualweightminus">
-                    <template slot-scope="scope">
-                      <span v-if="scope.row.lweight == scope.row.actualweightminus">{{ scope.row.actualweightminus }}</span>
-                      <span v-else style="color: red;">{{ scope.row.actualweightminus }}</span>
-                    </template>
-                  </el-table-column>
+                  <el-table-column label="实际重量" min-width="50px" align="center" prop="actualweightminus" />
                   <el-table-column label="误差值" min-width="50px" align="center" prop="diff" />
                   <el-table-column label="准确率" min-width="50px" align="center" prop="diffRate" />
                   <el-table-column label="完成时间" min-width="50px" align="center" prop="intime" />
@@ -178,7 +168,7 @@ export default {
         tableKey: 0, list: [], total: 0, listLoading: false, chartLine_data: []
       },
       chartLine: null, chartLine_data: {}, chartName: '',
-      rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
+      // rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
       cellStyle: { padding: 0 + 'px' },
       myHeight: document.documentElement.clientHeight - 85 - 200
     }
@@ -377,6 +367,17 @@ export default {
           { type: 'category' }
         ],
         yAxis: [{ type: 'value' }],
+        toolbox: {
+          show: false,
+          feature: {
+            dataZoom: { realtime: false, yAxisIndex: 'none', },
+            restore: {},
+          }
+        },
+        dataZoom:  [
+          {type: 'inside'},        //用于添加滚轮缩放
+          {type:'slider' },  //用于添加滑动条缩放,
+        ],
         series: [
           { symbol: 'none', name: '实际重量', type: 'line', data: chartLine_data.data3, itemStyle: { normal: { lineStyle: { color: '#38c193' }}}},
           { symbol: 'none', name: '设计重量', type: 'line', step: 'middle', data: chartLine_data.data2 },
@@ -391,7 +392,19 @@ export default {
     },
     rowClick(row, column, event) {
 
-    }
+    },
+    rowStyle({ row, rowIndex }) {
+        let stylejson = {};
+        if (row.lweight !== row.actualweightminus) {
+            stylejson.background = "#fb8072";// 背景颜色
+            stylejson.maxHeight = '30px';// 背景颜色
+            stylejson.height = '30px';// 背景颜色
+            // 也可以修改文字颜色
+            return stylejson;
+        } else {
+            return "";
+        }
+    },
   }
 }
 </script>

+ 136 - 128
src/views/statisticalAnalysis/inventoryManagement/pasture/index.vue

@@ -69,29 +69,26 @@
           <el-input v-if="tab2.isRadio6" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="车次" />
           <el-button class="successBorder" @click="handleSearch('second')">查询</el-button>
           <el-button class="export" style="float: right;margin-right: 5px;margin-top:10px;" icon="el-icon-upload2" @click="handleExport('tab2')">导出</el-button>
-        </div>
+        </div>
+        <div v-if="tab2.table.tableConfig.length > 8">
+          <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
+            <u-table-column v-for="(item,index) in tab2.table.tableConfig" :key="index" :label="item.label" :show-overflow-tooltip="item.showOverflow"  :prop="item.prop" align="center" :fixed="index==0">
+              <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" :label="item1.label" :prop="item1.prop" align="center">
+                <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
+              </u-table-column>
+            </u-table-column>
+          </u-table>
+        </div>
+        <div v-else>
+          <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
+            <u-table-column v-for="(item,index) in tab2.table.tableConfig" :key="index" :label="item.label" :show-overflow-tooltip="item.showOverflow"  :prop="item.prop" align="center">
+              <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" :label="item1.label" :prop="item1.prop" align="center">
+                <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
+              </u-table-column>
+            </u-table-column>
+          </u-table>
+        </div>
 
-        <el-table
-          :key="tab2.table.tableKey"
-          ref="elTable1"
-          v-loading="tab2.table.listLoading"
-          element-loading-text="给我一点时间"
-          :data="tab2.table.list"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable table-fixed"
-          :max-height="myHeight2"
-        >
-          <el-table-column v-for="(item,key) in tab2.table.tableConfig" :key="key" align="center" :label="item.label" :prop="item.prop" :fixed="key==0">
-            <el-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" align="center" :label="item1.label" :prop="item1.prop" :min-width="item1.width">
-              <el-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
-            </el-table-column>
-          </el-table-column>
-        </el-table>
         <span v-if="tab2.table.listLoading == false && tab2.table.list.length>0" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab2.table.total }}条</span>
       </el-tab-pane>
       <el-tab-pane label="价格分析" name="third">
@@ -110,28 +107,25 @@
           <el-input v-if="tab3.isRadio4" v-model="tab3.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 185px;" placeholder="TMR设备编号" />
           <el-button class="successBorder" @click="handleSearch('third')">查询</el-button>
           <el-button class="export filter-item1" style="float: right;margin-right: 5px;" icon="el-icon-upload2" @click="handleExport('tab3')">导出</el-button>
+        </div>
+        <div v-if="tab3.table.tableConfig.length>2">
+        <u-table v-if="isDispayTable3" ref="plTable3" v-loading="tab3.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable3">
+          <u-table-column v-for="(item,key) in tab3.table.tableConfig" :key="key" :label="item.label" :show-overflow-tooltip="item.showOverflow" align="center" :prop="item.prop" :fixed="key==0">
+              <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" align="center" :label="item1.label" :prop="item1.prop" :min-width="item1.width">
+                <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
+              </u-table-column>
+            </u-table-column>
+          </u-table>
+        </div>
+        <div v-else>
+          <u-table v-if="isDispayTable3" ref="plTable3" v-loading="tab3.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable3">
+            <u-table-column v-for="(item,key) in tab3.table.tableConfig" :key="key" :label="item.label" :show-overflow-tooltip="item.showOverflow" align="center" :prop="item.prop>
+              <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" align="center" :label="item1.label" :prop="item1.prop" :min-width="item1.width">
+                <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
+              </u-table-column>
+            </u-table-column>
+          </u-table>
         </div>
-        <el-table
-          :key="tab3.table.tableKey"
-          ref="elTable2"
-          v-loading="tab3.table.listLoading"
-          element-loading-text="给我一点时间"
-          :data="tab3.table.list"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable table-fixed"
-          :max-height="myHeight2"
-        >
-          <el-table-column v-for="(item,key) in tab3.table.tableConfig" :key="key" align="center" :label="item.label" :prop="item.prop" :fixed="key==0">
-            <el-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" align="center" :label="item1.label" :prop="item1.prop" :min-width="item1.width">
-              <el-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
-            </el-table-column>
-          </el-table-column>
-        </el-table>
         <span v-if="tab3.table.listLoading == false && tab3.table.list.length>0" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab3.table.total }}条</span>
       </el-tab-pane>
     </el-tabs>
@@ -270,17 +264,13 @@ export default {
       downLoad: {},
       rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
       cellStyle: { padding: 0 + 'px' },
-      myHeight2: document.documentElement.clientHeight - 85 - 200
-
+      myHeight2: document.documentElement.clientHeight -85 -200,
+      rowHeight: 30,
+      isDispayTable2:false,
+      isDispayTable3:false
     }
   },
-
-  updated() {
-    this.$refs['elTable1'].doLayout()
-    this.$refs['elTable2'].doLayout()
-  },
   created() {
-    this.getTabList()
     this.getTimeFn()
   },
   methods: {
@@ -290,27 +280,24 @@ export default {
       const end = new Date()
       start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
       end.setTime(end.getTime() - 3600 * 1000 * 24 * 1)
-      that.tab.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
-      that.tab.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
       that.tab.table.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
       that.tab.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
       that.tab.table.getdataListParm.parammaps.inputDatetime = [start, end]
-      that.tab2.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
-      that.tab2.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
-      that.tab2.table.getdataListParm.parammaps.inputDatetime = [start, end]
-      that.tab2.table.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
+
+      that.tab2.table.getdataListParm.parammaps.startTime = parseTime(end, '{y}-{m}-{d}')
       that.tab2.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
-      that.tab3.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
-      that.tab3.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
-      that.tab3.table.getdataListParm.parammaps.inputDatetime = [start, end]
-      that.tab3.table.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
-      that.tab3.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
+      that.tab2.table.getdataListParm.parammaps.inputDatetime = [end, end]
+
+      that.tab3.table.getdataListParm.parammaps.startTime = parseTime(end, '{y}-{m}-{d}')
+      that.tab3.table.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
+      that.tab3.table.getdataListParm.parammaps.inputDatetime = [end, end]
+      this.getTabList()
     },
     handleTabClick() {
       if (this.activeName == 'first') {
         const start = new Date()
         const end = new Date()
-        start.setTime(start.getTime() - 3600 * 1000 * 24 * 1)
+        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
         end.setTime(end.getTime() - 3600 * 1000 * 24 * 1)
         this.tab.table.getdataListParm.parammaps.inputDatetime = [start, end]
         this.getTabList()
@@ -319,7 +306,7 @@ export default {
         const end2 = new Date()
         start2.setTime(start2.getTime() - 3600 * 1000 * 24 * 1)
         end2.setTime(end2.getTime() - 3600 * 1000 * 24 * 1)
-        this.tab2.table.getdataListParm.parammaps.inputDatetime = [start2, end2]
+        this.tab2.table.getdataListParm.parammaps.inputDatetime = [start2, end2]
         this.getTab2List()
       } else if (this.activeName == 'third') {
         const start3 = new Date()
@@ -381,45 +368,55 @@ export default {
 
     // 用料分析
     getTab2List() {
-      this.tab2.table.listLoading = true
-      GetReportform(this.tab2.table.getdataListParm).then(response => {
-        if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
-          this.tab2.table.data = response.data.data
-
-          for (let i = 0; i < response.data.list.data2.length; i++) {
-            for (let j = 0; j < response.data.list.data1.length; j++) {
-              for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
-                if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
-                  response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
-                }
-              }
-            }
-            if (response.data.list.data2[i].children.length > 1) {
-              for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
-                if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
-                  this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+      this.tab2.table.listLoading = true
+      this.isDispayTable2 = false
+      setTimeout(()=>{
+        this.isDispayTable2 = true
+        this.$nextTick(() => {
+          let myList = []
+          GetReportform(this.tab2.table.getdataListParm).then(response => {
+            if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
+              this.tab2.table.data = response.data.data
+              for (let i = 0; i < response.data.list.data2.length; i++) {
+                for (let j = 0; j < response.data.list.data1.length; j++) {
+                  for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
+                    if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
+                      response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+                    }
+                  }
+                }
+                if (response.data.list.data2[i].children.length > 1) {
+                  for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
+                    if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    } else {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    }
+                  }
                 } else {
-                  this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                  this.$set(response.data.list.data2[i].children[0], 'width', '80px')
                 }
-              }
+              }
+              myList = response.data.list.data1
+              this.tab2.table.list = response.data.list.data1
+              this.tab2.table.tableConfig = response.data.list.data2
+              this.tab2.table.total = response.data.list.data1.length
+              console.log('库存统计-用料分析this.tab2.table.data', response.data.data)
+              console.log('库存统计-用料分析this.tab2.table.list', response.data.list.data1)
+              console.log('库存统计-用料分析this.tab2.table.tableConfig',response.data.list.data2)
             } else {
-              this.$set(response.data.list.data2[i].children[0], 'width', '80px')
-            }
-          }
-          this.tab2.table.list = response.data.list.data1
-          this.tab2.table.tableConfig = response.data.list.data2
-          this.tab2.table.total = response.data.list.data1.length
-          console.log('库存统计-用料分析this.tab2.table.data', response.data.data)
-          console.log('库存统计-用料分析this.tab2.table.list', response.data.list.data1)
-          console.log('库存统计-用料分析this.tab2.table.tableConfig', response.data.data2)
-        } else {
-          this.tab2.table.list = []
-          this.tab2.table.data = []
-        }
-        console.log(this.tab2.table.list.length)
-        setTimeout(() => {
-          this.tab2.table.listLoading = false
-        }, 100)
+              myList = []
+              this.tab2.table.list = []
+              this.tab2.table.tableConfig = []
+            }
+
+            console.log(this.tab2.table.list.length)
+            this.$refs.plTable2.reloadData(myList)
+            setTimeout(() => {
+              this.tab2.table.listLoading = false
+            }, 100)
+          })
+        })
       })
     },
     changeRadio2() {
@@ -488,39 +485,50 @@ export default {
     },
     // 价格分析
     getTab3List() {
-      this.tab3.table.listLoading = true
-      GetReportform(this.tab3.table.getdataListParm).then(response => {
-        if (response.data !== null && response.data.list.data1 !== null && response.data.list.data2 !== null) {
-          console.log('库存统计-价格分析', response.data.list)
-          for (let i = 0; i < response.data.list.data2.length; i++) {
-            for (let j = 0; j < response.data.list.data1.length; j++) {
-              for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
-                if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
-                  response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+      this.tab3.table.listLoading = true
+      this.isDispayTable3 = false
+      setTimeout(()=>{
+        this.isDispayTable3 = true
+        this.$nextTick(() => {
+          let myList = []
+          GetReportform(this.tab3.table.getdataListParm).then(response => {
+            if (response.data !== null && response.data.list.data1 !== null && response.data.list.data2 !== null) {
+              console.log('库存统计-价格分析', response.data.list)
+              for (let i = 0; i < response.data.list.data2.length; i++) {
+                for (let j = 0; j < response.data.list.data1.length; j++) {
+                  for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
+                    if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
+                      response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+                    }
+                  }
                 }
-              }
-            }
-            if (response.data.list.data2[i].children.length > 1) {
-              for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
-                if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
-                  this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                if (response.data.list.data2[i].children.length > 1) {
+                  for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
+                    if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    } else {
+                      this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                    }
+                  }
                 } else {
-                  this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                  this.$set(response.data.list.data2[i].children[0], 'width', '80px')
                 }
               }
+              myList = response.data.list.data1
+              this.tab3.table.list = response.data.list.data1
+              this.tab3.table.tableConfig = response.data.list.data2
+              this.tab3.table.total = response.data.list.data1.length
             } else {
-              this.$set(response.data.list.data2[i].children[0], 'width', '80px')
+              this.tab3.table.tableConfig = []
+              this.tab3.table.list = []
+              myList = []
             }
-          }
-          this.tab3.table.list = response.data.list.data1
-          this.tab3.table.tableConfig = response.data.list.data2
-          this.tab3.table.total = response.data.list.data1.length
-        } else {
-          this.tab3.table.list = []
-        }
-        setTimeout(() => {
-          this.tab3.table.listLoading = false
-        }, 100)
+            this.$refs.plTable3.reloadData(myList)
+            setTimeout(() => {
+              this.tab3.table.listLoading = false
+            }, 100)
+          })
+        })
       })
     },
     handleBefore() {
@@ -844,6 +852,6 @@ export default {
   /deep/ .el-table td>.cell{
     padding-left: 0 !important;;
     padding-right: 0 !important;;
-  }
+  }
   // .el-radio{margin-right: 20px;}
 </style>

+ 95 - 0
src/views/statisticalAnalysis/inventoryManagement/pasture/index1.vue

@@ -0,0 +1,95 @@
+<template>
+  <div class="app-content">
+    <el-radio v-model="radio2" label="1" @change="changeRadio2">牲畜类别</el-radio>
+    <el-radio v-model="radio2" label="2" @change="changeRadio2">栏舍名称</el-radio>
+    <template v-if="aa">
+      <u-table  ref="plTable" v-loading="listLoading" :max-height="height" use-virtual @table-body-scroll="tableScroll" :data-changes-scroll-top="radio === 1" :row-height="rowHeight" border>
+        <u-table-column v-for="(item,key) in tableConfig" :key="'a'+key" :label="item.label" :show-overflow-tooltip="item.showOverflow" align="center" :prop="item.prop" :fixed="key==0">
+          <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="'B'+key1" align="center" :label="item1.label" :prop="item1.prop" :min-width="item1.width">
+            <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="'C'+key2" :label="item2.label" :prop="item2.prop" />
+          </u-table-column>
+        </u-table-column>
+      </u-table>
+    </template>
+    
+  </div>
+</template>
+
+<script>
+  import { postJson } from '@/api/common'
+  export default {
+    name: 'PastureInventoryManagement',
+    data() {
+      return {
+        radio: 1,
+        height: document.documentElement.clientHeight - 125,
+        rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
+        rowHeight: 30,
+        listLoading:false,
+        tableConfig:[],
+        radio2: '1',
+        aa:false
+      }
+    },
+    mounted() {
+      this.setData()
+    },
+    methods: {
+      setData() {
+          this.aa = false
+          
+          setTimeout(()=>{
+            this.aa = true
+            this.$nextTick(() => {
+              let list = []
+              let url = 'authdata/GetReportform'
+              let data = {
+                "name":"",
+                "page":1,
+                "offset":1,
+                "returntype":"Map",
+                "checked":0,
+                "parammaps":{
+                  "pastureid":"1647481173",
+                  "startTime":"2022-03-11",
+                  "stopTime":"2022-03-17",
+                  "fname":"",
+                  },
+                }
+                if(this.radio2 == '1'){
+                  data.name = 'getMaterialAnalysisLS'
+                }else if(this.radio2 == '2'){
+                  data.name = 'getMaterialAnalysisSC'
+                }
+              this.listLoading = true
+              postJson(url,data).then(response => {
+                this.listLoading = false
+                this.tableConfig = response.data.list.data2
+                list = response.data.list.data1
+                 this.$refs.plTable.reloadData(list)
+              })
+            })
+          },50)
+          
+          
+
+      },
+      tableScroll({ scrollTop, scrollLeft, table, judgeFlse }) {
+        // {scrollTop, scrollLeft, table, judgeFlse: 这个参数返回一个boolean值,为true则代表表格滚动到了底部了,false没有滚动到底部,必须开起大数据渲染模式才能有值哦}, event
+        // console.log(scrollTop, scrollLeft, table, judgeFlse)
+      },
+      changeRadio2() {
+        console.log(this.radio2)
+        if (this.radio2 == '1') {
+          this.setData()
+        } else if (this.radio2 == '2') {
+          this.setData()
+        }
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .app-content{padding: 20px 20px}
+</style>

+ 36 - 9
src/views/statisticalAnalysis/processAnalysis/pasture/index.vue

@@ -31,7 +31,7 @@
             :row-style="rowStyle"
             :cell-style="cellStyle"
             class="elTable table-fixed"
-            height="970px"
+            :height="myheight"
             @row-click="rowClick"
           >
             <el-table-column sortable label="开始时间" min-width="100px" align="center" prop="intime" />
@@ -71,7 +71,7 @@
           </div>
         </div>
         <div class="Mixture">
-          <h4>混料详情</h4>
+          <h4>混料详情1</h4>
           <el-table
             :key="table3.tableKey"
             v-loading="table3.listLoading"
@@ -488,6 +488,7 @@ export default {
   name: 'PastureProcessAnalysis',
   data() {
     return {
+      myheight:970,
       title: '',
       isPremixedPlan: '', // 预混计划
       isSpreadingPlan: '', // 撒料计划
@@ -629,7 +630,7 @@ export default {
       chartLine: null,
       chartLine_data: {},
       chartName: '',
-      rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
+      // rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
       cellStyle: { padding: 0 + 'px' }
     }
   },
@@ -637,12 +638,11 @@ export default {
     this.getList()
   },
   methods: {
-
     // TMR设备列表
     getList() {
       this.table.listLoading = true
       GetDataByName(this.table.getdataListParm).then(response => {
-        console.log('TMR设备列表table数据', response.data.list)
+        // console.log('TMR设备列表table数据', response.data.list)
         if (response.data.list !== null) {
           this.table.list = response.data.list
           this.table.total = response.data.total
@@ -1117,7 +1117,7 @@ export default {
         tooltip: {
           trigger: 'axis',
           formatter: function(params) {
-            console.log(params, 'params')
+            // console.log(params, 'params')
             var tip = params[0].name
             for (let i = 0; i < params.length; i++) {
               if (params[i].seriesName == '设计重量') {
@@ -1141,7 +1141,18 @@ export default {
           { type: 'category' }
           // { type: 'category', splitLine: { show: false }, name: '时间', data: chartLine_data.data1, axisLabel: { show: true, textStyle: { color: '#666' }}}
         ],
-        yAxis: [{ type: 'value' }],
+        yAxis: [{ type: 'value' }],
+        toolbox: {
+          show: false,
+          feature: {
+            dataZoom: { realtime: false, yAxisIndex: 'none', },
+            restore: {},
+          }
+        },
+        dataZoom:  [
+          {type: 'inside'},        //用于添加滚轮缩放
+          {type:'slider' },  //用于添加滑动条缩放,
+        ],
         series: [
           { symbol: 'none', name: '实际重量', type: 'line', data: chartLine_data.data3, itemStyle: { normal: { lineStyle: { color: '#38c193' }}}},
           { symbol: 'none', name: '设计重量', type: 'line', step: 'middle', data: chartLine_data.data2 },
@@ -1155,7 +1166,20 @@ export default {
       window.onresize = function() {
         this.chartLine.resize()
       }
-    }
+    },
+    rowStyle({ row, rowIndex }) {
+        console.log(row, rowIndex,'777777');
+        let stylejson = {};
+        if (row.abnormal == 1) {
+            stylejson.background = "#fb8072";// 背景颜色
+            stylejson.maxHeight = '30px';// 背景颜色
+            stylejson.height = '30px';// 背景颜色
+            // 也可以修改文字颜色
+            return stylejson;
+        } else {
+            return "";
+        }
+    },
 
   }
 }
@@ -1163,7 +1187,10 @@ export default {
 </script>
 <style lang="scss" scoped>
   .search{padding-top:10px;clear: both;}
-  .table{margin-top:10px;}
+  .table{margin-top:10px;}
+  /deep/.el-table--scrollable-y .el-table__body-wrapper{
+    bottom: 15px;
+  }
   .detail{
     height:84px;padding:0 10px;font:16px/32px '';color:#333;background: #F9F9F9;display: flex; align-items: center;text-align: center;
     div{