Эх сурвалжийг харах

Merge branch 'feature/fence_shed' of duanxiaoduan/tmr-admin into master

duanxiaoduan 1 жил өмнө
parent
commit
b4e69f7deb

BIN
dist.zip


+ 88 - 88
src/main.js

@@ -1,92 +1,92 @@
-import Vue from 'vue'
-import VueRouter from 'vue-router'
-import 'normalize.css/normalize.css' // A modern alternative to CSS resets
-
-import ElementUI from 'element-ui'
+import Vue from 'vue'
+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 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
-import iconfont from './assets/iconfont/iconfont.css'
-
-import '@/styles/index.scss' // global css
-
-import * as Sentry from '@sentry/browser'
-import {
-  Vue as VueIntegration
-} from '@sentry/integrations'
-
-import App from './App'
-import store from './store'
-import router from './router'
-import i18n from './i18n'
-import '@/icons' // icon
-import '@/permission' // permission control
-import './icons'
-import * as filters from './filters' // global filters
-
-Vue.config.productionTip = false
-/**
- * If you don't want to use mock-server
- * you want to use MockJs for mock api
- * you can execute: mockXHR()
- *
- * Currently MockJs will be used in the production environment,
- * please remove it before going online! ! !
- */
-// import { mockXHR } from '../mock'
-if (process.env.NODE_ENV === 'production') {
-  // mockXHR()
-}
-var pageCount = 50
-// console.log(process.env)
-if (process.env.NODE_ENV !== 'development') {
-  Sentry.init({
-    release: 'vislib@' + process.env.npm_package_version,
-    dsn: 'https://9d8ee0ea1a2749949dd1e641b0f7c071@o286322.ingest.sentry.io/5217806',
-    integrations: [new VueIntegration({
-      Vue,
-      attachProps: true
-    })]
-  })
-}
-
-
-// store.commit('app/SET_LANG', 'CN')
-Vue.use(VueRouter)
-Vue.use(pageCount)
-Vue.use(ElementUI, {
-  i18n: (key, value) => i18n.t(key, value)
+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
+import iconfont from './assets/iconfont/iconfont.css'
+
+import '@/styles/index.scss' // global css
+
+import * as Sentry from '@sentry/browser'
+import {
+  Vue as VueIntegration
+} from '@sentry/integrations'
+
+import App from './App'
+import store from './store'
+import router from './router'
+import i18n from './i18n'
+import '@/icons' // icon
+import '@/permission' // permission control
+import './icons'
+import * as filters from './filters' // global filters
+
+Vue.config.productionTip = false
+/**
+ * If you don't want to use mock-server
+ * you want to use MockJs for mock api
+ * you can execute: mockXHR()
+ *
+ * Currently MockJs will be used in the production environment,
+ * please remove it before going online! ! !
+ */
+// import { mockXHR } from '../mock'
+if (process.env.NODE_ENV === 'production') {
+  // mockXHR()
+}
+var pageCount = 50
+// console.log(process.env)
+if (process.env.NODE_ENV !== 'development') {
+  Sentry.init({
+    release: 'vislib@' + process.env.npm_package_version,
+    dsn: 'https://9d8ee0ea1a2749949dd1e641b0f7c071@o286322.ingest.sentry.io/5217806',
+    integrations: [new VueIntegration({
+      Vue,
+      attachProps: true
+    })]
+  })
+}
+
+
+// store.commit('app/SET_LANG', 'CN')
+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])
-})
-
-import echarts from 'echarts'
-Vue.use(echarts)
-// Vue.prototype.$echarts = echarts
-
-new Vue({
-  el: '#app',
-  router,
-  store,
-  i18n,
-  render: h => h(App)
-})
-
-Vue.directive('loadmore', {
-  bind(el, binding) {
-    const selectWrap = el.querySelector('.el-table__body-wrapper')
-    selectWrap.addEventListener('scroll', function() {
-      let sign = 0
-      const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight
-      if (scrollDistance <= sign) {
-        binding.value()
-      }
-    })
-  }
+Vue.use(UmyUi);
+// register global utility filters
+Object.keys(filters).forEach(key => {
+  Vue.filter(key, filters[key])
+})
+
+import echarts from 'echarts'
+Vue.use(echarts)
+// Vue.prototype.$echarts = echarts
+
+new Vue({
+  el: '#app',
+  router,
+  store,
+  i18n,
+  render: h => h(App)
+})
+
+Vue.directive('loadmore', {
+  bind(el, binding) {
+    const selectWrap = el.querySelector('.el-table__body-wrapper')
+    selectWrap.addEventListener('scroll', function() {
+      let sign = 0
+      const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight
+      if (scrollDistance <= sign) {
+        binding.value()
+      }
+    })
+  }
 })

+ 1 - 1
src/views/basicData/defaultParameter/function/index.vue

@@ -225,7 +225,7 @@ export default {
       decimalPlacesList: [{ id: '0', name: '整数' }, { id: '1', name: '一位小数' }, { id: '2', name: '两位小数' }, { id: '3', name: '三位小数' }], // 日计划报表小数点位数
       isLockBullsList: [{ id: '1', name: '是' }, { id: '0', name: '否' }], // 启用饲料锁定牛头数
       disposalList: [], // 剩料处理选项
-      numberList: [{ id: '0', name: '1' }, { id: '1', name: '2' }, { id: '2', name: '3' }, { id: '3', name: '4' }], // 班次数量
+      numberList: [{ id: '0', name: '1' }, { id: '1', name: '2' }, { id: '2', name: '3' }, { id: '3', name: '4' },{ id: '4', name: '5' },{ id: '5', name: '6' }], // 班次数量
       feedontractList: [{ id: '1', name: '是' }, { id: '0', name: '否' }], // 是否启用饲料合同
       leftoverMaterialList: [{ id: '0', name: '顶额分配' }, { id: '1', name: '剩料分配' }],
       weightDecimalPlacesList: [{ id: '0', name: '整数' }, { id: '1', name: '一位小数' }, { id: '2', name: '两位小数' }, { id: '3', name: '三位小数' }, { id: '4', name: '四位小数' }], // 重量小数点位数

+ 4 - 0
src/views/formulationPlan/dailyExecutionPlan/index.vue

@@ -1279,6 +1279,10 @@ export default {
           this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
         } else if (response.data.list[0].inforvalue == 4) {
           this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
+        } else if (response.data.list[0].inforvalue == 5) {
+          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }]
+        } else if (response.data.list[0].inforvalue == 6) {
+          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }, { id: '6', name: '第六班' }]
         }
       })
     },

+ 32 - 41
src/views/formulationPlan/dailyExecutionPlan/typePage/materialIssuancePlan.vue

@@ -674,51 +674,41 @@ export default {
       postJson(url, data).then(response => {
         console.log(response.data.list[0].inforvalue)
         if (response.data.list[0].inforvalue == 1) {
-          this.frequencyList = [{
-            id: 1,
-            name: '第一班'
-          }]
+          this.frequencyList = [{ id: 1, name: '第一班' }]
         } else if (response.data.list[0].inforvalue == 2) {
-          this.frequencyList = [{
-            id: 1,
-            name: '第一班'
-          },
-          {
-            id: 2,
-            name: '第二班'
-          }
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' }
           ]
         } else if (response.data.list[0].inforvalue == 3) {
-          this.frequencyList = [{
-            id: 1,
-            name: '第一班'
-          },
-          {
-            id: 2,
-            name: '第二班'
-          },
-          {
-            id: 3,
-            name: '第三班'
-          }
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' },
+            { id: 3, name: '第三班' }
           ]
         } else if (response.data.list[0].inforvalue == 4) {
-          this.frequencyList = [{
-            id: 1,
-            name: '第一班'
-          },
-          {
-            id: 2,
-            name: '第二班'
-          },
-          {
-            id: 3,
-            name: '第三班'
-          },
-          {
-            id: 4,
-            name: '第四班'
-          }
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' },
+            { id: 3, name: '第三班' },
+            { id: 4, name: '第四班' }
+          ]
+        }else if (response.data.list[0].inforvalue == 5) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' },
+            { id: 3, name: '第三班' },
+            { id: 4, name: '第四班' },
+            { id: 5, name: '第五班' }
+          ]
+        }else if (response.data.list[0].inforvalue == 6) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' },
+            { id: 3, name: '第三班' },
+            { id: 4, name: '第四班' },
+            { id: 5, name: '第五班' },
+            { id: 6, name: '第六班' }
           ]
         }
       })
@@ -798,7 +788,8 @@ export default {
       this.selectList = val
     },
     changeTemplateFormulation(item) {
-      this.create.temp.ftname = this.templateFormulationList.find(obj => obj.id === item).tname
+      this.create.temp.ftname = this.templateFormulationList.find(obj => obj.id === item).tname
+      this.create.temp.ftvolume = this.templateFormulationList.find(obj => obj.id === item).volume
       this.getCreateList1()
     },
     changeTimes(item) {

+ 1 - 1
src/views/formulationPlan/dhedFormula/dryMatterRegulation.vue

@@ -296,7 +296,7 @@ export default {
           for (let i = 1; i <= response.data.getSysoptEnable.list[0].inforvalue; i++) {
             const obj = {}
             obj.id = String(i)
-            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }
+            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }else if (i == 5) { obj.name = '第五班' }else if (i == 6) { obj.name = '第六班' }
             this.samplingSelection.frequencyList.push(obj)
           }
         } else {

+ 5169 - 0
src/views/formulationPlan/dhedFormula/index - 20230829备份.vue

@@ -0,0 +1,5169 @@
+<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="form_search">查询</el-button>
+        <el-button v-if="isRoleEdit" class="successBorder" @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>
+    <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="40" />
+        <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="60px" 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="60px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.softccount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="3" label="实际牛头数" min-width="80px" 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:100%;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:100%;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:100%;padding:10px 0;" @blur="blurCcountratio(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column :key="6" label="配方模板" min-width="100px" 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="100px" 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:100%;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="85px" 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:100%;padding:10px 0;"  @focus="focusR(scope.row)" @blur="blurR(scope.row,1)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW1" :key="9" label="第一班重量" min-width="100px" 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:100%;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="100px" 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:100%;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="85px" 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:100%;padding:10px 0;" @focus="focusR(scope.row)" @blur="blurR(scope.row,2)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW2" :key="12" label="第二班重量" min-width="100px" 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:100%;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="100px" 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:100%;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="85px" 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:100%;padding:10px 0;" @focus="focusR(scope.row)" @blur="blurR(scope.row,3)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW3" :key="15" label="第三班重量" min-width="100px" 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:100%;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="100px" 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:100%;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="85px" 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:100%;padding:10px 0;" @focus="focusR(scope.row)" @blur="blurR(scope.row,4)" />
+          </template>
+        </el-table-column>
+        <el-table-column v-if="table.isRW4" :key="18" label="第四班重量" min-width="100px" 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:100%;padding:10px 0;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="90px" 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:100%;padding:10px 0;" @blur="blurBw(scope.row)" @focus="focusBw(scope.row)" />
+          </template>
+        </el-table-column>
+        <el-table-column :key="20" label="饲喂总比例(%)" min-width="60px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.sumr }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="21" label="饲喂投喂量" min-width="60px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.todayweight }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="22" label="饲喂配方重量" min-width="60px" 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="60px" 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="60px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.todaysupplement }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="25" label="日投喂量" min-width="60px" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.todayfeed }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :key="26" label="配方干物质" min-width="60px" 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">
+          <u-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"
+            :max-height="500"
+          >
+            <u-table-column :key="1" label="序号" align="center" type="index" width="50px" class-name="small-padding fixed-width" fixed="left" />
+            <!-- <u-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>
+            </u-table-column> -->
+            <u-table-column :key="2" label="栏舍名称" prop="barname" min-width="90px" align="center" class-name="small-padding fixed-width" fixed="left" />
+            <u-table-column :key="3" label="班次" prop="times" min-width="90px" align="center" class-name="small-padding fixed-width" fixed="left" />
+            <u-table-column :key="4" label="软件牛头数" prop="softccount" min-width="70px" align="center" />
+            <u-table-column :key="5" label="实际牛头数" prop="ccount" min-width="70px" align="center" />
+            <u-table-column :key="6" label="系数(%)" prop="ratio" min-width="70px" align="center" />
+            <u-table-column :key="7" label="系数头数" prop="ccountratio" min-width="70px" align="center" />
+            <u-table-column :key="8" label="配方模板" prop="ptname" min-width="70px" align="center" />
+            <u-table-column v-if="table.isPtsfname" :key="9" label="补料配方" prop="ptsname" min-width="70px" align="center" />
+            <u-table-column :key="10" label="班次比例" prop="tratio" min-width="70px" align="center" />
+            <u-table-column :key="11" label="班次重量" prop="weight" min-width="70px" align="center" />
+            <u-table-column :key="12" label="配方重量" prop="pweight" min-width="70px" align="center" />
+            <u-table-column v-if="table.isPtsfname" :key="13" label="补料重量" prop="ptweight" min-width="70px" align="center" />
+            <u-table-column :key="14" label="配方干物质量" prop="dryweight" min-width="70px" align="center" />
+            <u-table-column :key="15" label="饲喂干物质量" prop="swdryw" min-width="70px" align="center" />
+            <u-table-column :key="16" label="采样干物质量" prop="cydryw" min-width="70px" align="center" />
+            <u-table-column :key="17" label="日投喂量" prop="sumweight" min-width="70px" align="center" />
+          </u-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: {
+          pastureid: Cookies.get('pastureid')
+        }
+      },
+      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,
+          pagecount: '',
+          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班重量得到焦点暂存
+      focusList1:{},  //比例失去焦点暂存
+
+      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,
+      oldRowList:{}
+    }
+  },
+  computed: {
+    // 设置请求头
+    headers() {
+      return {
+        token: getToken()
+      }
+    },
+    uploadData() {
+      return {
+        name: 'checkbarname,checkftsw,checkftbl',
+        importParams: '栏舍名称,实际牛头数,系数(%),配方模板,补料配方,第一班比例(%),第二班比例(%),第三班比例(%)',
+        sheetname: 'Sheet1',
+        // 登录牧场
+        pastureid: Cookies.get('pastureid'),
+        // 日期参数
+        dateParams: '',
+        // 必填参数
+        requiredParams: '栏舍名称,实际牛头数,系数(%),配方模板,',
+        // 为数值的参数
+        numParams: '实际牛头数,系数(%),第一班比例(%),第二班比例(%),第三班比例(%),,第四班比例(%)'
+      }
+    },
+    // 设置上传地址
+    uploadExcelUrl() {
+      return process.env.VUE_APP_BASE_API + 'authdata/fpdimportexcel'
+    }
+  },
+  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('decimalr')))
+            // 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)
+      })
+    },
+    form_search() {
+      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')))
+    },
+    // 总比例
+    focusR(row){
+      this.focusList1 = Object.assign({}, row)
+    },
+    blurR(row,item) {
+      if(item == 1){
+        if(this.focusList1.r1 == row.r1){
+          return false
+        }
+      }else if(item == 2){
+        if(this.focusList1.r2 == row.r2){
+          return false
+        }
+      }else if(item == 3){
+        if(this.focusList1.r3 == row.r3){
+          return false
+        }
+      }else if(item == 4){
+        if(this.focusList1.r4 == row.r4){
+          return false
+        }
+      }
+      if(item == 1){
+        row.r1 = parseFloat(row.r1).toFixed(parseInt(Cookies.get('decimalr')))
+      }
+      if(item == 2){
+        row.r2 = parseFloat(row.r2).toFixed(parseInt(Cookies.get('decimalr')))
+      }
+      if(item == 3){
+        row.r3 = parseFloat(row.r3).toFixed(parseInt(Cookies.get('decimalr')))
+      }
+      if(item == 4){
+        row.r4 = parseFloat(row.r4).toFixed(parseInt(Cookies.get('decimalr')))
+      }
+      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')))
+      }
+      if (row.r1 == '' || isNaN(row.r1)) { row.r1 = 0 }
+      if (row.r2 == '' || isNaN(row.r2)) { row.r2 = 0 }
+      if (row.r3 == '' || isNaN(row.r3)) { row.r3 = 0 }
+      if (row.r4 == '' || 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'))))
+      if (row.w1 == '' || isNaN(row.w1)) { row.w1 = 0 }
+      if (row.w2 == '' || isNaN(row.w2)) { row.w2 = 0 }
+      if (row.w3 == '' || isNaN(row.w3)) { row.w3 = 0 }
+      if (row.w4 == '' || isNaN(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) {
+          // 一班重量失去焦点
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if(isNaN(row.w4) || row.w4 == '' || row.w4 <= 0){
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            row.w2 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            row.r3 = 0
+            row.w3 = 0
+          }
+          if(isNaN(row.r4) || row.r4 == '' || row.r4 <= 0){
+            row.r4 = 0
+            row.w4 = 0
+          }
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow.r1) !== 0){
+            a = 1 / (parseFloat(row.r1) / 100) * parseFloat(row.w1)
+            if(parseFloat(row.w1)== 0){
+              row.r1 = 0
+              a = (parseFloat(this.focusWRow.dailyWeight) / parseFloat(this.focusWRow.sumr)*100).toFixed(2)
+              if(row.r2 === 0 && row.r3 === 0 && row.r4 === 0){
+                row.r2 = 0
+                row.r3 = 0
+                row.r4 = 0
+                console.log('234班比例都为0')
+              }else if(row.r2 === 0 && row.r3 === 0 && row.r4 !== 0){
+                row.r2 = 0
+                row.r3 = 0
+                row.r4 = parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r4)
+                console.log('23班比例为0,4班不为0')
+              }else if(row.r2 === 0 && row.r4 === 0 && row.r3 !== 0){
+                row.r2 = 0
+                row.r4 = 0
+                row.r3 = parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r3)
+                console.log('24班比例为0,3班不为0')
+              }else if(row.r3 === 0 && row.r4 === 0 && row.r2 !== 0){
+                row.r3 = 0
+                row.r4 = 0
+                row.r2 = parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2)
+                console.log('34班比例为0,2班不为0')
+              }else if(row.r4 === 0 && row.r2 !== 0 && row.r3 !== 0){
+                row.r4 = 0
+                // row.r2 = parseFloat(this.focusWRow.r1) / 2 + parseFloat(this.focusWRow.r2)
+                // row.r3 = parseFloat(this.focusWRow.r1) / 2 + parseFloat(this.focusWRow.r3)
+                let average1 = (parseFloat(this.focusWRow.r1) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow.r1) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average1) + parseFloat(this.focusWRow.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average2) + parseFloat(this.focusWRow.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('4班比例为0,23班不为0')
+              }else if(row.r2 === 0 && row.r4 !== 0 && row.r3 !== 0){
+                row.r2 = 0
+                // row.r3 = parseFloat(this.focusWRow.r1) / 2 + parseFloat(this.focusWRow.r3)
+                // row.r4 = parseFloat(this.focusWRow.r1) / 2 + parseFloat(this.focusWRow.r4)
+                let average1 = (parseFloat(this.focusWRow.r1) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow.r1) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average1) + parseFloat(this.focusWRow.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r4 = (parseFloat(average2) + parseFloat(this.focusWRow.r4)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('2班比例为0,34班不为0')
+              }else if(row.r3 === 0 && row.r4 !== 0 && row.r3 !== 0){
+                row.r3 = 0
+                // row.r2 = parseFloat(this.focusWRow.r1) / 2 + parseFloat(this.focusWRow.r2)
+                // row.r4 = parseFloat(this.focusWRow.r1) / 2 + parseFloat(this.focusWRow.r4)
+                let average1 = (parseFloat(this.focusWRow.r1) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow.r1) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average1) + parseFloat(this.focusWRow.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r4 = (parseFloat(average2) + parseFloat(this.focusWRow.r4)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('3班比例为0,24班不为0')
+              }else{
+                console.log('234班不为0')
+                let average1 = (parseFloat(this.focusWRow.r1) /3 ).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow.r1) - average1*2).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = parseFloat(average1) + parseFloat(this.focusWRow.r2)
+                row.r3 = parseFloat(average1) + parseFloat(this.focusWRow.r3)
+                row.r4 = parseFloat(average2) + parseFloat(this.focusWRow.r4)
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow.dailyWeight) / parseFloat(this.focusWRow.sumr)*100).toFixed(2)
+            row.r1 = parseFloat(row.w1) / a * 100
+          }
+          let b = (a * parseFloat(row.sumr) / 100).toFixed(2)
+          row.w2 = (a * (parseFloat(row.r2) / 100)).toFixed(2)
+          row.w3 = (a * (parseFloat(row.r3) / 100)).toFixed(2)
+          row.w4 = (a * (parseFloat(row.r4) / 100)).toFixed(2)
+          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')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))
+          row.sumr = formatNum(row.sumr, parseInt(Cookies.get('decimal')))
+          console.log(a,'aa')
+          console.log('b',b)
+          console.log('dailyWeight',row.dailyWeight)
+          console.log('row.sumr',row.sumr)
+          console.log('row.w1',row.w1)
+          console.log('row.w3',row.w3)
+          console.log('row.w4',row.w4)
+        }
+      } 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) {
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            row.w2 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            row.r3 = 0
+            row.w3 = 0
+          }
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+            // row.r1 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            // row.w1 = 0
+            row.r1 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow.r1) !== 0){
+            a = 1 / (parseFloat(row.r1) / 100) * parseFloat(row.w1)
+            if(row.w1 == 0){
+              row.r1 = 0
+              a = (parseFloat(this.focusWRow.dailyWeight) / parseFloat(this.focusWRow.sumr)*100).toFixed(2)
+              if(row.r2 === 0 && row.r3 === 0){
+                row.r2 = 0
+                row.r3 = 0
+                console.log('23班比例都为0')
+              }else if(row.r2 === 0 && row.r3 !== 0){
+                row.r2 = 0
+                row.r3 = parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r3)
+                console.log('2班比例为0,3班不为0')
+              }else if(row.r2 !== 0 && row.r3 === 0){
+                row.r2 = parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2)
+                row.r3 = 0
+                console.log('3班比例为0,2班不为0')
+              }else{
+                console.log('23班不为0')
+                let average1 = (parseFloat(this.focusWRow.r1) / 2 ).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow.r1) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average1) + parseFloat(this.focusWRow.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average2) + parseFloat(this.focusWRow.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log(average1,row.r2,row.r3)
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow.dailyWeight) / parseFloat(this.focusWRow.sumr)*100).toFixed(2)
+            row.r1 = parseFloat(row.w1) / a * 100
+          }
+          let b = (a * parseFloat(row.sumr) / 100).toFixed(2)
+          row.w2 = (a * (parseFloat(row.r2) / 100)).toFixed(2)
+          row.w3 = (a * (parseFloat(row.r3) / 100)).toFixed(2)
+          this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3))
+          row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3))
+          row.sumr = formatNum(row.sumr, 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 {
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            row.w2 = 0
+          }
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow.r1) !== 0){
+            a = 1 / (parseFloat(row.r1) / 100) * parseFloat(row.w1)
+            if(parseFloat(row.w1) == 0){
+              a = (parseFloat(this.focusWRow.dailyWeight) / parseFloat(this.focusWRow.sumr)*100).toFixed(2)
+              if(row.r2 === 0){
+                row.r2 = 0
+                console.log('2班为0')
+              }
+              if(row.r2 !== 0){
+                row.r2 = parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2)
+                console.log('2班不为0')
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow.dailyWeight) / parseFloat(this.focusWRow.sumr)*100).toFixed(2)
+            row.r1 = parseFloat(row.w1) / a * 100
+          }
+          let b = (a * parseFloat(this.focusWRow2.sumr) / 100).toFixed(2)
+          row.w2 = (a * (parseFloat(row.r2) / 100)).toFixed(2)
+          this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2))
+          row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2))
+          row.sumr = formatNum(row.sumr, parseInt(Cookies.get('decimal')))
+          // 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 }
+      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')))
+    },
+    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) {
+          // 二班重量失去焦点
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if(isNaN(row.w4) || row.w4 == '' || row.w4 <= 0){
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+            row.w1 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            row.r3 = 0
+            row.w3 = 0
+          }
+          if(isNaN(row.r4) || row.r4 == '' || row.r4 <= 0){
+            row.r4 = 0
+            row.w4 = 0
+          }
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            // row.r2 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            // row.w2 = 0
+            row.r2 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow2.r2) !== 0){
+            a = 1 / (parseFloat(row.r2) / 100) * parseFloat(row.w2)
+            if(parseFloat(row.w2) == 0){
+              a = (parseFloat(this.focusWRow2.dailyWeight) / parseFloat(this.focusWRow2.sumr)*100).toFixed(2)
+              if(row.r1 === 0 && row.r3 === 0 && row.r4 === 0){
+                row.r1 = 0
+                row.r3 = 0
+                row.r4 = 0
+                console.log('134班比例都为0')
+              }else if(row.r1 === 0 && row.r3 == 0 && row.r4 !== 0){
+                row.r1 = 0
+                row.r3 = 0
+                row.r4 = parseFloat(this.focusWRow2.r2) + parseFloat(this.focusWRow2.r4)
+                console.log('13班比例为0,4班不为0')
+              }else if(row.r1 === 0 && row.r4 === 0 && row.r3 !== 0){
+                row.r1 = 0
+                row.r4 = 0
+                row.r3 = parseFloat(this.focusWRow2.r2) + parseFloat(this.focusWRow2.r3)
+                console.log('14班比例为0,3班不为0')
+              }else if(row.r3 === 0 && row.r4 === 0 && row.r1 !== 0){
+                row.r3 = 0
+                row.r4 = 0
+                row.r1 = parseFloat(this.focusWRow2.r2) + parseFloat(this.focusWRow2.r1)
+                console.log('34班比例为0,1班不为0')
+              }else if(row.r1 === 0 && row.r3 !== 0 && row.r4 !== 0){
+                row.r1 = 0
+                // row.r3 = parseFloat(this.focusWRow2.r2) / 2 + parseFloat(this.focusWRow2.r3)
+                // row.r4 = parseFloat(this.focusWRow2.r2) / 2 + parseFloat(this.focusWRow2.r4)
+                let average1 = (parseFloat(this.focusWRow2.r2) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow2.r2) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average1) + parseFloat(this.focusWRow2.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r4 = (parseFloat(average2) + parseFloat(this.focusWRow2.r4)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('1班比例为0,34班不为0')
+              }else if(row.r3 === 0 && row.r1 !== 0 && row.r4 !== 0){
+                row.r3 = 0
+                // row.r1 = parseFloat(this.focusWRow2.r2) / 2 + parseFloat(this.focusWRow2.r1)
+                // row.r4 = parseFloat(this.focusWRow2.r2) / 2 + parseFloat(this.focusWRow2.r4)
+                let average1 = (parseFloat(this.focusWRow2.r2) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow2.r2) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow2.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r4 = (parseFloat(average2) + parseFloat(this.focusWRow2.r4)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('3班比例为0,14班不为0')
+              }else if(row.r4 === 0 && row.r1 !== 0 && row.r3 !== 0){
+                row.r4 = 0
+                // row.r1 = parseFloat(this.focusWRow2.r2) / 2 + parseFloat(this.focusWRow2.r1)
+                // row.r3 = parseFloat(this.focusWRow2.r2) / 2 + parseFloat(this.focusWRow2.r3)
+                let average1 = (parseFloat(this.focusWRow2.r2) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow2.r2) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow2.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average2) + parseFloat(this.focusWRow2.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('4班比例为0,13班不为0')
+              }else{
+                console.log('134班不为0')
+                let average1 = (parseFloat(this.focusWRow2.r2) /3 ).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow2.r2) - average1*2).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = parseFloat(average1) + parseFloat(this.focusWRow2.r1)
+                row.r3 = parseFloat(average1) + parseFloat(this.focusWRow2.r3)
+                row.r4 = parseFloat(average2) + parseFloat(this.focusWRow2.r4)
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow2.dailyWeight) / parseFloat(this.focusWRow2.sumr)*100).toFixed(2)
+            row.r2 = parseFloat(row.w2) / a * 100
+          }
+          let b = (a * parseFloat(this.focusWRow2.sumr) / 100).toFixed(2)
+          row.w1 = (a * (parseFloat(row.r1) / 100)).toFixed(2)
+          row.w3 = (a * (parseFloat(row.r3) / 100)).toFixed(2)
+          row.w4 = (a * (parseFloat(row.r4) / 100)).toFixed(2)
+          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')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))
+          row.sumr = formatNum(row.sumr, 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) {
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            // row.r2 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            // row.w2 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            row.r3 = 0
+            row.w3 = 0
+          }
+
+          let a = 0
+          if(parseFloat(this.focusWRow2.r2) !== 0){
+            a = 1 / (parseFloat(row.r2) / 100) * parseFloat(row.w2)
+            if(parseFloat(row.w2) == 0){
+              row.r2 = 0
+              a = (parseFloat(this.focusWRow2.dailyWeight) / parseFloat(this.focusWRow2.sumr)*100).toFixed(2)
+              if(row.r1 === 0 && row.r3 === 0){
+                row.r1 = 0
+                row.r3 = 0
+                console.log('13班比例都为0')
+              }else if(row.r1 === 0 && row.r3 !== 0){
+                row.r1 = 0
+                row.r3 = parseFloat(this.focusWRow2.r2) + parseFloat(this.focusWRow2.r3)
+                console.log('1班比例为0,3班不为0')
+              }else if(row.r1 !== 0 && row.r3 === 0){
+                row.r1 = parseFloat(this.focusWRow2.r2) + parseFloat(this.focusWRow2.r1)
+                row.r3 = 0
+                console.log('3班比例为0,1班不为0')
+              }else{
+                console.log('13班不为0')
+                let average1 = (parseFloat(this.focusWRow2.r2) / 2 ).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow2.r2) - parseFloat(average1) ).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow2.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average2) + parseFloat(this.focusWRow2.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow2.dailyWeight) / parseFloat(this.focusWRow2.sumr)*100).toFixed(2)
+            row.r2 = parseFloat(row.w2) / a * 100
+          }
+
+          let b = (a * parseFloat(row.sumr) / 100).toFixed(2)
+          row.w1 = (a * (parseFloat(row.r1) / 100)).toFixed(2)
+          row.w3 = (a * (parseFloat(row.r3) / 100)).toFixed(2)
+          this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3))
+          row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3))
+          row.sumr = formatNum(row.sumr, 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 {
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+            row.w1 = 0
+          }
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow2.r2) !== 0){
+            a = 1 / (parseFloat(row.r2) / 100) * parseFloat(row.w2)
+            if(parseFloat(row.w2) == 0){
+              row.r2 = 0
+              a = (parseFloat(this.focusWRow2.dailyWeight) / parseFloat(this.focusWRow2.sumr)*100).toFixed(2)
+              if(row.r1 === 0){
+                row.r1 = 0
+                console.log('1班为0')
+              }
+              if(row.r1 !== 0){
+                row.r1 = parseFloat(this.focusWRow2.r1) + parseFloat(this.focusWRow2.r2)
+                console.log('1班不为0')
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow2.dailyWeight) / parseFloat(this.focusWRow2.sumr)*100).toFixed(2)
+            row.r2 = parseFloat(row.w2) / a * 100
+          }
+          let b = (a * parseFloat(this.focusWRow2.sumr) / 100).toFixed(2)
+          row.w1 = (a * (parseFloat(row.r1) / 100)).toFixed(2)
+          this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2))
+          row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2))
+          row.sumr = formatNum(row.sumr, parseInt(Cookies.get('decimal')))
+          // 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 }
+      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')))
+    },
+    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) {
+          // 三班重量失去焦点
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if(isNaN(row.w4) || row.w4 == '' || row.w4 <= 0){
+            row.w4 = 0
+            row.r4 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+            row.w1 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            row.w2 = 0
+          }
+          if(isNaN(row.r4) || row.r4 == '' || row.r4 <= 0){
+            row.r4 = 0
+            row.w4 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            // row.r3 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            // row.w3 = 0
+            row.r3 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow3.r3) !== 0){
+            console.log(row.r4,'==r4')
+            console.log(this.focusWRow3.r4,'==r42')
+            a = 1 / (parseFloat(row.r3) / 100) * parseFloat(row.w3)
+            if(parseFloat(row.w3) == 0){
+              row.r3 = 0
+              a = (parseFloat(this.focusWRow3.dailyWeight) / parseFloat(this.focusWRow3.sumr)*100).toFixed(2)
+              if(row.r1 == 0 && row.r2 == 0 && row.r4 === 0){
+                row.r1 = 0
+                row.r2 = 0
+                row.r4 = 0
+                console.log('124班比例都为0')
+              }else if(row.r1 === 0 && row.r2 === 0 && row.r4 !== 0){
+                row.r1 = 0
+                row.r2 = 0
+                row.r4 = parseFloat(this.focusWRow3.r3) + parseFloat(this.focusWRow3.r4)
+                console.log('12班比例为0,4班不为0')
+              }else if(row.r1 === 0 && row.r4 === 0 && row.r2 !== 0){
+                row.r1 = 0
+                row.r4 = 0
+                row.r2 = parseFloat(this.focusWRow3.r3) + parseFloat(this.focusWRow3.r2)
+                console.log('14班比例为0,2班不为0')
+              }else if(row.r2 === 0 && row.r4 === 0 && row.r1 !== 0){
+                row.r2 = 0
+                row.r4 = 0
+                row.r1 = parseFloat(this.focusWRow3.r3) + parseFloat(this.focusWRow3.r1)
+                console.log('24班比例为0,1班不为0')
+              }else if(row.r1 === 0 && row.r2 !== 0 && row.r4 !== 0){
+                row.r1 = 0
+                // row.r2 = parseFloat(this.focusWRow3.r3) / 2 + parseFloat(this.focusWRow3.r2)
+                // row.r4 = parseFloat(this.focusWRow3.r3) / 2 + parseFloat(this.focusWRow3.r4)
+                let average1 = (parseFloat(this.focusWRow3.r3) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow3.r3) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average1) + parseFloat(this.focusWRow3.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r4 = (parseFloat(average2) + parseFloat(this.focusWRow3.r4)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('1班比例为0,24班不为0')
+              }else if(row.r2 === 0 && row.r1 !== 0 && row.r4 !== 0){
+                row.r2 = 0
+                // row.r1 = parseFloat(this.focusWRow3.r2) / 2 + parseFloat(this.focusWRow3.r1)
+                // row.r4 = parseFloat(this.focusWRow3.r2) / 2 + parseFloat(this.focusWRow3.r4)
+                let average1 = (parseFloat(this.focusWRow3.r3) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow3.r3) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow3.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r4 = (parseFloat(average2) + parseFloat(this.focusWRow3.r4)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('2班比例为0,14班不为0')
+              }else if(row.r4 === 0 && row.r1 !== 0 && row.r2 !== 0){
+                row.r4 = 0
+                // row.r1 = parseFloat(this.focusWRow3.r3) / 2 + parseFloat(this.focusWRow3.r1)
+                // row.r2 = parseFloat(this.focusWRow3.r3) / 2 + parseFloat(this.focusWRow3.r2)
+                let average1 = (parseFloat(this.focusWRow3.r3) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow3.r3) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow3.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average2) + parseFloat(this.focusWRow3.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('4班比例为0,12班不为0')
+              }else{
+                console.log('124班不为0')
+                let average1 = (parseFloat(this.focusWRow3.r3) / 3 ).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow3.r3) - average1*2).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = parseFloat(average1) + parseFloat(this.focusWRow3.r1)
+                row.r2 = parseFloat(average1) + parseFloat(this.focusWRow3.r2)
+                row.r4 = parseFloat(average2) + parseFloat(this.focusWRow3.r4)
+                console.log('row.r1',row.r1)
+                console.log('row.r2',row.r2)
+                console.log('row.r4',row.r4)
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow3.dailyWeight) / parseFloat(this.focusWRow3.sumr)*100).toFixed(2)
+            row.r3 = parseFloat(row.w3) / a *100
+          }
+          console.log(a,'aa==')
+          let b = (a * parseFloat(row.sumr) / 100).toFixed(2)
+          row.w1 = (a * (parseFloat(row.r1) / 100)).toFixed(2)
+          row.w2 = (a * (parseFloat(row.r2) / 100)).toFixed(2)
+          row.w4 = (a * (parseFloat(row.r4) / 100)).toFixed(2)
+          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')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))
+          row.sumr = formatNum(row.sumr, 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'))))
+        }
+        // 1班2班都不锁
+        if (row.isOneWeight == false && row.isTwoWeight == false) {
+          if(isNaN(row.w1) || row.w1== '' || row.w1 <= 0){
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+            row.w1 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            row.w2 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            // row.r3 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            // row.w3 = 0
+            row.r3 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow3.r3) !== 0){
+            a = 1 / (parseFloat(row.r3) / 100) * parseFloat(row.w3)
+            if(parseFloat(row.w3) == 0){
+              a = (parseFloat(this.focusWRow3.dailyWeight) / parseFloat(this.focusWRow3.sumr)*100).toFixed(2)
+              row.r3 = 0
+              if(row.r1 === 0 && row.r2 === 0){
+                row.r1 = 0
+                row.r2 = 0
+                console.log('12班比例都为0')
+              }else if(row.r1 === 0 && row.r2 !== 0){
+                row.r1 = 0
+                row.r2 = parseFloat(this.focusWRow3.r3) + parseFloat(this.focusWRow3.r2)
+                console.log('1班比例为0,2班不为0')
+              }else if(row.r1 !== 0 && row.r2 === 0){
+                row.r1 = parseFloat(this.focusWRow3.r3) + parseFloat(this.focusWRow3.r1)
+                row.r2 = 0
+                console.log('2班比例为0,1班不为0')
+              }else{
+                console.log('13班不为0')
+                let average1 = (parseFloat(this.focusWRow3.r3) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow3.r3) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow3.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average2) + parseFloat(this.focusWRow3.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow3.dailyWeight) / parseFloat(this.focusWRow3.sumr)*100).toFixed(2)
+            row.r3 = parseFloat(row.w3) / a *100
+          }
+          let b = (a * parseFloat(row.sumr) / 100).toFixed(2)
+          row.w1 = (a * (parseFloat(row.r1) / 100)).toFixed(2)
+          row.w2 = (a * (parseFloat(row.r2) / 100)).toFixed(2)
+          this.$set(row, 'dailyWeight', parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3))
+          row.dailyWeight = formatNum(row.dailyWeight, parseInt(Cookies.get('decimal')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3))
+          row.sumr = formatNum(row.sumr, 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 (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')))
+    },
+    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) {
+          // 四班重量失去焦点
+          if(isNaN(row.w1) || row.w1 == '' || row.w1 <= 0){
+            row.w1 = 0
+            row.r1 = 0
+          }
+          if(isNaN(row.w2) || row.w2 == '' || row.w2 <= 0){
+            row.w2 = 0
+            row.r2 = 0
+          }
+          if(isNaN(row.w3) || row.w3 == '' || row.w3 <= 0){
+            row.w3 = 0
+            row.r3 = 0
+          }
+          if(isNaN(row.r1) || row.r1 == '' || row.r1 <= 0){
+            row.r1 = 0
+            row.w1 = 0
+          }
+          if(isNaN(row.r2) || row.r2 == '' || row.r2 <= 0){
+            row.r2 = 0
+            row.w2 = 0
+          }
+          if(isNaN(row.r3) || row.r3 == '' || row.r3 <= 0){
+            row.r3 = 0
+            row.w3 = 0
+          }
+          if(isNaN(row.w4) || row.w4 == '' || row.w4 <= 0){
+            row.w4 = 0
+            // row.r4 = 0
+          }
+          if(isNaN(row.r4) || row.r4 == '' || row.r4 <= 0){
+            // row.w4 = 0
+            row.r4 = 0
+          }
+          let a = 0
+          if(parseFloat(this.focusWRow4.r4) !== 0){
+            console.log(124556)
+            a = 1 / (parseFloat(row.r4) / 100) * parseFloat(row.w4)
+            if(parseFloat(row.w4) == 0){
+              row.r4 = 0
+              a = (parseFloat(this.focusWRow4.dailyWeight) / parseFloat(this.focusWRow4.sumr) *100).toFixed(2)
+              if(row.r1 === 0 && row.r2 === 0 && row.r3 === 0){
+                row.r1 = 0
+                row.r2 = 0
+                row.r3 = 0
+                console.log('123班比例都为0')
+              }else if(row.r1 === 0 && row.r2 === 0 && row.r3 !== 0){
+                row.r1 = 0
+                row.r2 = 0
+                row.r3 = parseFloat(this.focusWRow4.r4) + parseFloat(this.focusWRow4.r3)
+                console.log('12班比例为0,3班不为0')
+              }else if(row.r1 === 0 && row.r3 === 0 && row.r2 !== 0){
+                row.r1 = 0
+                row.r3 = 0
+                row.r2 = parseFloat(this.focusWRow4.r4) + parseFloat(this.focusWRow4.r2)
+                console.log('13班比例为0,2班不为0')
+              }else if(row.r2 === 0 && row.r3 === 0 && row.r1 !== 0){
+                row.r2 = 0
+                row.r3 = 0
+                row.r1 = parseFloat(this.focusWRow4.r4) + parseFloat(this.focusWRow4.r1)
+                console.log('23班比例为0,1班不为0')
+              }else if(row.r1 === 0 && row.r2 !== 0 && row.r3 !== 0){
+                row.r1 = 0
+                // row.r2 = parseFloat(this.focusWRow4.r4) / 2 + parseFloat(this.focusWRow4.r2)
+                // row.r3 = parseFloat(this.focusWRow4.r4) / 2 + parseFloat(this.focusWRow4.r3)
+                let average1 = (parseFloat(this.focusWRow4.r4) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow4.r4) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average1) + parseFloat(this.focusWRow4.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average2) + parseFloat(this.focusWRow4.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('1班比例为0,23班不为0')
+              }else if(row.r2 === 0 && row.r1 !== 0 && row.r3 !== 0){
+                row.r2 = 0
+                // row.r1 = parseFloat(this.focusWRow4.r4) / 2 + parseFloat(this.focusWRow4.r1)
+                // row.r3 = parseFloat(this.focusWRow4.r4) / 2 + parseFloat(this.focusWRow4.r3)
+                let average1 = (parseFloat(this.focusWRow4.r4) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow4.r4) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow4.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r3 = (parseFloat(average2) + parseFloat(this.focusWRow4.r3)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('2班比例为0,13班不为0')
+              }else if(row.r3 === 0 && row.r1 !== 0 && row.r2 !== 0){
+                row.r3 = 0
+                row.w3 = 0
+                // row.r1 = parseFloat(this.focusWRow4.r4) / 2 + parseFloat(this.focusWRow4.r1)
+                // row.r2 = parseFloat(this.focusWRow4.r4) / 2 + parseFloat(this.focusWRow4.r2)
+                let average1 = (parseFloat(this.focusWRow4.r4) / 2).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow4.r4) - parseFloat(average1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = (parseFloat(average1) + parseFloat(this.focusWRow4.r1)).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r2 = (parseFloat(average2) + parseFloat(this.focusWRow4.r2)).toFixed(parseInt(Cookies.get('decimalr')))
+                console.log('3班比例为0,12班不为0')
+              }else{
+                console.log('123班不为0')
+                let average1 = (parseFloat(this.focusWRow4.r4) / 3 ).toFixed(parseInt(Cookies.get('decimalr')))
+                let average2 = (parseFloat(this.focusWRow4.r4) - average1*2).toFixed(parseInt(Cookies.get('decimalr')))
+                row.r1 = parseFloat(average1) + parseFloat(this.focusWRow4.r1)
+                row.r2 = parseFloat(average1) + parseFloat(this.focusWRow4.r2)
+                row.r3 = parseFloat(average2) + parseFloat(this.focusWRow4.r3)
+              }
+            }
+          }else{
+            a = (parseFloat(this.focusWRow4.dailyWeight) / parseFloat(this.focusWRow4.sumr) *100).toFixed(2)
+            row.r4 = parseFloat(row.w4) / a * 100
+          }
+          let b = (a * parseFloat(row.sumr) / 100).toFixed(2)
+          row.w1 = (a * (parseFloat(row.r1) / 100)).toFixed(2)
+          row.w2 = (a * (parseFloat(row.r2) / 100)).toFixed(2)
+          row.w3 = (a * (parseFloat(row.r3) / 100)).toFixed(2)
+          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')))
+          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))
+          row.sumr = formatNum(row.sumr, parseInt(Cookies.get('decimal')))
+        }
+      }
+    },
+    celldblclick(row, column, cell, event) {
+      console.log(row, '=====')
+      this.handleUpdate(row)
+    },
+    // 编辑
+    handleUpdate(row) {
+      console.log(row)
+      this.oldRowList = {...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['tratio'] = (parseFloat(row['r' + i])).toFixed(parseInt(Cookies.get('decimalr')))
+        // obj['tratio'] = Math.round(row['r' + 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
+
+      var obj = {}
+      obj.pastureid = row.pastureid
+      obj.id = row.id
+      obj.data = []
+      if(this.oldRowList.w1 !== row.w1){
+        obj.data.push({'old':this.oldRowList.w1,'new':row.w1,times:1,'ptid':row.ftid,'ptsid':row.ptsfid})
+      }
+      if(this.oldRowList.w2 !== row.w2){
+        obj.data.push({'old':this.oldRowList.w2,'new':row.w2,times:2,'ptid':row.ftid,'ptsid':row.ptsfid})
+      }
+      if(this.oldRowList.w3 !== row.w3){
+        obj.data.push({'old':this.oldRowList.w3,'new':row.w3,times:3,'ptid':row.ftid,'ptsid':row.ptsfid})
+      }
+      if(this.oldRowList.bw1 !== row.bw1){
+        obj.data.push({'old':this.oldRowList.bw1,'new':row.bw1,times:1,'ptid':row.ftid,'ptsid':row.ptsfid})
+      }
+      if(this.oldRowList.bw2 !== row.bw2){
+        obj.data.push({'old':this.oldRowList.bw2,'new':row.bw2,times:2,'ptid':row.ftid,'ptsid':row.ptsfid})
+      }
+      if(this.oldRowList.bw3 !== row.bw3){
+        obj.data.push({'old':this.oldRowList.bw3,'new':row.bw3,times:3,'ptid':row.ftid,'ptsid':row.ptsfid})
+      }
+      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)
+      let createdate = parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
+      // 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
+      }}
+      this.requestParam.data[3] = { 'name': 'insertFeedphistory', 'type': 'e', 'parammaps': {
+        createdate:createdate,
+        pastureid:row.pastureid,
+        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,
+        feedweight:row.feedweight,
+        ftweight:row.ftweight,
+        supplyweight:row.supplyweight
+      }}
+      this.requestParam.data[4] = { 'name': 'insertSpotList2', 'resultmaps': { 'list': this.table.rwList }}
+      this.requestParam.data[4].children = []
+      this.requestParam.data[4].children[0] = { 'name': 'insertFpdetailhistory', 'type': 'e', 'parammaps': {
+        createdate:createdate,
+        pastureid: '@insertSpotList2.pastureid',
+        barname: row.barname,
+        barid: '@insertSpotList2.barid',
+        times: '@insertSpotList2.times',
+        tratio: '@insertSpotList2.tratio',
+        weight: '@insertSpotList2.weight',
+        cowcount: '@insertSpotList2.cowcount',
+        ccountradio: row.ccountratio,
+        ptid: '@insertSpotList2.ptid',
+        ptsid: '@insertSpotList2.ptsid',
+        supplement: '@insertSpotList2.supplement',
+        feedweight: row.feedweight,
+        supplyweight: row.supplyweight,
+        ratio: row.ratio
+      }}
+      ExecDataByConfig(this.requestParam).then(response => {
+        console.log('编辑保存发送参数', this.requestParam)
+        if (response.msg === 'fail') {
+          this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
+        } else {
+          if(obj.data.length>0){
+            const url = 'authdata/fpdetail/edit'
+            const data = obj
+            postJson(url, data).then(response => {
+              if(response.msg !== 'fail'){
+                this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
+              }
+            })
+          }else{
+            this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
+          }
+          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('decimalr')))
+              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;
+  }
+  /deep/ .el-input__inner{
+    padding:0 5px;
+  }
+  /deep/ .el-table .cell{
+    padding-left: 5px;
+    padding-right: 5px;
+  }
+</style>
+<style lang="scss">
+  .red-row{
+    background: #fde2e2 !important;
+  }
+</style>

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 347 - 2425
src/views/formulationPlan/dhedFormula/index.vue


+ 19 - 0
src/views/formulationPlan/materialIssuancePlan/index.vue

@@ -699,6 +699,23 @@ export default {
             { id: 3, name: '第三班' },
             { id: 4, name: '第四班' }
           ]
+        }else if (response.data.list[0].inforvalue == 5) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' },
+            { id: 3, name: '第三班' },
+            { id: 4, name: '第四班' },
+            { id: 5, name: '第五班' }
+          ]
+        }else if (response.data.list[0].inforvalue == 6) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' },
+            { id: 2, name: '第二班' },
+            { id: 3, name: '第三班' },
+            { id: 4, name: '第四班' },
+            { id: 5, name: '第五班' },
+            { id: 6, name: '第六班' },
+          ]
         }
       })
     },
@@ -770,6 +787,7 @@ export default {
     },
     changeTemplateFormulation(item) {
       this.create.temp.ftname = this.templateFormulationList.find(obj => obj.id === item).tname
+      this.create.temp.ftvolume = this.templateFormulationList.find(obj => obj.id === item).volume
       this.getCreateList1()
     },
     changeTimes(item) {
@@ -1103,6 +1121,7 @@ export default {
           if(parseFloat(this.create.temp.ftvolume) !== 0 &&  parseFloat(this.create.temp.sumweight) !== 0){
             this.create.temp.volume = (parseFloat(this.create.temp.sumweight) / parseFloat(this.create.temp.ftvolume)).toFixed(2)
           }else{
+            console.log(22)
             this.create.temp.volume = 0
           }
         } else {

+ 4 - 0
src/views/formulationPlan/premixedPlan/index.vue

@@ -330,6 +330,10 @@ export default {
           this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
         } else if (response.data.list[0].inforvalue == 4) {
           this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
+        } else if (response.data.list[0].inforvalue == 5) {
+          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }]
+        } else if (response.data.list[0].inforvalue == 6) {
+          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }, { id: '6', name: '第六班' }]
         }
       })
     },

+ 26 - 10
src/views/formulationPlan/recipeTemplate/index.vue

@@ -784,6 +784,7 @@
             </el-table-column>
             <!-- <el-table-column label="序号" width="60px" align="center" prop="sort" /> -->
             <el-table-column label="修改时间" width="100px" align="center" prop="datetime1" />
+            <el-table-column label="修改用户" width="130px" align="center" prop="empname" />
             <el-table-column label="饲料名称(单位:kg)" min-width="800px" align="center">
               <template slot-scope="scope">
                 <div v-for="element in scope.row.arrList" :key="element.name" class="list-group-item2 item" style="width:150px;float: left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin: 5px 5px;padding: 0;height: 30px;">
@@ -1537,6 +1538,7 @@ export default {
           this.requestParam3.parammaps = {}
           this.requestParam3.parammaps.id = this.table.temp.id
           this.requestParam3.parammaps.createdate = parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
+          this.requestParam3.parammaps.userId = Cookies.get('employeid')
           PostDataByName(this.requestParam3).then(response => {
             console.log('新增保存发送参数', this.requestParam)
             if (response.msg !== 'fail') {
@@ -2357,6 +2359,7 @@ export default {
       let dateTime = parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
       this.requestParam.common = { 'returnmap': '0' }
       this.requestParam.createdate = dateTime
+      this.requestParam.userId = Cookies.get('employeid')
       this.requestParam.data = []
       this.requestParam.data[0] = { 'name': 'insertFTdetail', 'type': 'e', 'parammaps': {
         pastureid: this.table2.temp.pastureid,
@@ -2389,11 +2392,13 @@ export default {
         dateTime: dateTime,
         slid: 0,
         fid: row.fid,
-        autosecond: row.autosecond
+        autosecond: row.autosecond,
+        userId: Cookies.get('employeid')
       }}
       this.requestParam.data[4] = { 'name': 'insertFTHistory', 'type': 'e', 'parammaps': {
         id:this.table2.getdataListParm.parammaps.ftid,
-        createdate:dateTime
+        createdate:dateTime,
+        userId: Cookies.get('employeid')
       }}
       const url = 'authdata/ftdetail/edit'
       const data = this.requestParam
@@ -2566,6 +2571,7 @@ export default {
           let dateTime = parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
           this.requestParam.common = { 'returnmap': '0' }
           this.requestParam.createdate = dateTime
+          this.requestParam.userId = Cookies.get('employeid')
           this.requestParam.data = []
           this.requestParam.data[0] = { 'name': 'insertFitHistory', 'type': 'e', 'parammaps': {
             pastureid: row.pastureid,
@@ -2575,7 +2581,8 @@ export default {
             dateTime: dateTime,
             slid: this.table2.temp.id,
             fid: row.fid,
-            autosecond: row.autosecond
+            autosecond: row.autosecond,
+            userId: Cookies.get('employeid')
           }}
           this.requestParam.data[1] = { 'name': 'updateFTdetail', 'type': 'e', 'parammaps': {
             pastureid: row.pastureid,
@@ -2609,7 +2616,8 @@ export default {
           }}
           this.requestParam.data[5] = { 'name': 'insertFTHistory', 'type': 'e', 'parammaps': {
             id:this.table2.getdataListParm.parammaps.ftid,
-            createdate:dateTime
+            createdate:dateTime,
+            userId: Cookies.get('employeid')
           }}
           const url = 'authdata/ftdetail/edit'
           const data = this.requestParam
@@ -2671,7 +2679,8 @@ export default {
             dateTime: dateTime,
             slid: row.id,
             fid: row.fid,
-            autosecond: row.autosecond
+            autosecond: row.autosecond,
+            userId: Cookies.get('employeid')
           }}
           this.requestParam.data[1] = { 'name': 'deleteFTdetail', 'type': 'e', 'parammaps': {
             pastureid: row.pastureid,
@@ -2689,11 +2698,13 @@ export default {
           }}
           this.requestParam.data[4] = { 'name': 'insertFTHistory', 'type': 'e', 'parammaps': {
             id:this.table2.getdataListParm.parammaps.ftid,
-            createdate:dateTime
+            createdate:dateTime,
+            userId: Cookies.get('employeid')
           }}
         } else {
           this.requestParam.common = { 'returnmap': '0' }
           this.requestParam.createdate = dateTime
+          this.requestParam.userId = Cookies.get('employeid')
           this.requestParam.data = []
           // this.requestParam.data[1] = { 'name': 'checkdeleteFT', 'type': 'v', 'parammaps': {
           //   pastureid: this.table2.getdataListParm.parammaps.pastureid,
@@ -2707,7 +2718,8 @@ export default {
             dateTime: dateTime,
             slid: row.id,
             fid: row.fid,
-            autosecond: row.autosecond
+            autosecond: row.autosecond,
+            userId: Cookies.get('employeid')
           }}
           this.requestParam.data[1] = { 'name': 'deleteFTdetail', 'type': 'e', 'parammaps': {
             pastureid: row.pastureid,
@@ -2725,7 +2737,8 @@ export default {
           }}
           this.requestParam.data[4] = { 'name': 'insertFTHistory', 'type': 'e', 'parammaps': {
             id:this.table2.getdataListParm.parammaps.ftid,
-            createdate:dateTime
+            createdate:dateTime,
+            userId: Cookies.get('employeid')
           }}
         }
         const url = 'authdata/ftdetail/edit'
@@ -2774,6 +2787,7 @@ export default {
           if (this.table2.list.length - this.selectList2.length > 0) {
             this.requestParam.common = { 'returnmap': '0' }
             this.requestParam.createdate = dateTime
+            this.requestParam.userId = Cookies.get('employeid')
             this.requestParam.data = []
             this.requestParam.data[0] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.selectList2 }}
             this.requestParam.data[0].children = []
@@ -2785,7 +2799,8 @@ export default {
               dateTime: dateTime,
               slid: '@insertSpotList.id',
               fid: '@insertSpotList.fid',
-              autosecond: '@insertSpotList.autosecond'
+              autosecond: '@insertSpotList.autosecond',
+              userId: Cookies.get('employeid')
             }}
             this.requestParam.data[0].children[1] = { 'name': 'deleteFTdetail', 'type': 'e', 'parammaps': {
               id: '@insertSpotList.id',
@@ -2803,7 +2818,8 @@ export default {
             }}
             this.requestParam.data[3] = { 'name': 'insertFTHistory', 'type': 'e', 'parammaps': {
               id:this.table2.getdataListParm.parammaps.ftid,
-              createdate:dateTime
+              createdate:dateTime,
+              userId: Cookies.get('employeid')
             }}
             const url = 'authdata/ftdetail/edit'
             const data = this.requestParam

+ 37 - 0
src/views/formulationPlan/surplusMaterialPlan/index.vue

@@ -585,6 +585,43 @@
               id: '4',
               name: '第四班'
             }]
+          }else if (response.data.list[0].inforvalue == 5) {
+            this.frequencyList = [{
+              id: '1',
+              name: '第一班'
+            }, {
+              id: '2',
+              name: '第二班'
+            }, {
+              id: '3',
+              name: '第三班'
+            }, {
+              id: '4',
+              name: '第四班'
+            }, {
+              id: '5',
+              name: '第五班'
+            }]
+          }else if (response.data.list[0].inforvalue == 6) {
+            this.frequencyList = [{
+              id: '1',
+              name: '第一班'
+            }, {
+              id: '2',
+              name: '第二班'
+            }, {
+              id: '3',
+              name: '第三班'
+            }, {
+              id: '4',
+              name: '第四班'
+            }, {
+              id: '5',
+              name: '第五班'
+            }, {
+              id: '6',
+              name: '第六班'
+            }]
           }
         })
       },

+ 1 - 1
src/views/shedProduction/dungScores/index.vue

@@ -423,7 +423,7 @@ export default {
           for (let i = 1; i <= response.data.getSysoptEnable.list[0].inforvalue; i++) {
             const obj = {}
             obj.id = String(i)
-            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }
+            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }else if (i == 5) { obj.name = '第五班' }else if (i == 6) { obj.name = '第六班' }
             this.frequencyList.push(obj)
           }
         } else {

+ 1 - 1
src/views/shedProduction/dutyRecord/index.vue

@@ -338,7 +338,7 @@ export default {
           for (let i = 1; i <= response.data.getSysoptEnable.list[0].inforvalue; i++) {
             const obj = {}
             obj.id = String(i)
-            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }
+            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }else if (i == 5) { obj.name = '第五班' }else if (i == 6) { obj.name = '第六班' }
             this.frequencyList.push(obj)
           }
         } else {

+ 1 - 1
src/views/shedProduction/fecalScreen/index.vue

@@ -394,7 +394,7 @@ export default {
           for (let i = 1; i <= response.data.getSysoptEnable.list[0].inforvalue; i++) {
             const obj = {}
             obj.id = String(i)
-            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }
+            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }else if (i == 5) { obj.name = '第五班' }else if (i == 6) { obj.name = '第六班' }
             this.frequencyList.push(obj)
           }
         } else {

+ 1 - 1
src/views/shedProduction/formulaDryMatter/index.vue

@@ -378,7 +378,7 @@ export default {
           for (let i = 1; i <= response.data.getSysoptEnable.list[0].inforvalue; i++) {
             const obj = {}
             obj.id = String(i)
-            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }
+            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }else if (i == 5) { obj.name = '第五班' }else if (i == 6) { obj.name = '第六班' }
             this.frequencyList.push(obj)
           }
         } else {

+ 1 - 1
src/views/shedProduction/materialRemainingRecord/index.vue

@@ -355,7 +355,7 @@ export default {
           for (let i = 1; i <= response.data.getSysoptEnable.list[0].inforvalue; i++) {
             const obj = {}
             obj.id = String(i)
-            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }
+            if (i == 1) { obj.name = '第一班' } else if (i == 2) { obj.name = '第二班' } else if (i == 3) { obj.name = '第三班' } else if (i == 4) { obj.name = '第四班' }else if (i == 5) { obj.name = '第五班' }else if (i == 6) { obj.name = '第六班' }
             this.frequencyList.push(obj)
           }
         } else {

+ 1 - 1
src/views/shedProduction/performance/index.vue

@@ -193,7 +193,7 @@
                 <!-- <el-select v-if="create.dialogStatus=='create'" v-model="create.temp.cowclassid" filterable placeholder="牲畜类别" class="filter-item" style="width: 100%;" @change="changeCowclass">
                   <el-option v-for="item in livestockList" :key="item.id" :label="item.mixname" :value="item.id" />
                 </el-select> -->
-              <el-select v-if="create.dialogStatus=='create'"  v-model="create.temp.cowclassid" filterable placeholder="牲畜类别" class="filter-item" style="width:95%;padding:10px 0;" @change="changeParent">
+              <el-select v-if="create.dialogStatus=='create'"  v-model="create.temp.cowclassid" filterable placeholder="牲畜类别" class="filter-item" style="width: 100%;" @change="changeParent">
                 <el-option v-for="item in parentList" :key="item.value" :label="item.label" :value="item.value" />
               </el-select>
                 <!-- <el-input v-else ref="cowclass" v-model="create.temp.cowclass" disabled class="filter-item" placeholder="牲畜类别" /> -->

+ 10 - 0
src/views/statisticalAnalysis/errorAnalysis/pasture/index.vue

@@ -840,6 +840,7 @@
           >
             <el-table-column label="序号" align="center" type="index" width="50px" />
             <el-table-column label="修改时间" width="130px" align="center" prop="createdate" />
+            <el-table-column label="修改用户" width="130px" align="center" prop="empname" />
             <el-table-column label="配方名称" min-width="70px" align="center"  prop="tname">
               <template slot-scope="{row}">
                 <span v-if="row.tname !==undefined &&row.tname.indexOf('/') !== -1" style="color: red;">
@@ -979,6 +980,7 @@
               </template>
             </el-table-column>
             <el-table-column label="修改时间" min-width="100px" align="center" prop="updateTime" />
+            <el-table-column label="修改用户" width="130px" align="center" prop="empname" />
             <el-table-column label="饲料重量(KG)" min-width="100px" align="center">
               <template slot-scope="{row}">
                 <span v-if="row.weight !==undefined &&row.weight.indexOf('/') !== -1" style="color: red;">
@@ -1021,6 +1023,7 @@
                 >
                   <u-table-column label="序号" width="50px" align="center" type="index" />
                   <u-table-column label="修改时间" width="100px" align="center" prop="createdate" />
+                  <u-table-column label="修改用户" width="130px" align="center" prop="empname" />
                   <u-table-column label="班次" min-width="100px" align="center" prop="times" />
                   <u-table-column label="实际牛头数" min-width="100px" align="center" prop="ccount">
                     <template slot-scope="{row}">
@@ -1081,6 +1084,7 @@
                   >
                   <u-table-column label="序号" width="50px" align="center" type="index" />
                   <u-table-column label="修改时间" width="100px" align="center" prop="createdate" />
+                  <u-table-column label="修改用户" width="130px" align="center" prop="empname" />
                   <u-table-column label="班次" width="100px" align="center" prop="times" />
                   <!-- <u-table-column v-for="(item, index) in fenceTemp.tab2.tableLabel" :key="index" align="center" :min-width="item.width" :prop="item.prop" :label="item.label"> -->
                   <u-table-column v-for="(item, index) in fenceTemp.tab2.tableLabel" :key="index" align="center" :min-width="item.width" :prop="item.prop"  :label="item.label">
@@ -2511,6 +2515,12 @@ export default {
         } else if (response.data.list[0].inforvalue == 4) {
           this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
           this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
+        } else if (response.data.list[0].inforvalue == 5) {
+          this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }]
+          this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }]
+        } else if (response.data.list[0].inforvalue == 6) {
+          this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }, { id: '6', name: '第六班' }]
+          this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }, { id: '5', name: '第五班' }, { id: '6', name: '第六班' }]
         }
       })
     },

+ 4 - 0
src/views/statisticalAnalysis/feedingEfficiency/pasture/index.vue

@@ -984,6 +984,10 @@ export default {
           this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }]
         } else if (response.data.list[0].inforvalue == 4) {
           this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }]
+        } else if (response.data.list[0].inforvalue == 5) {
+          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' },{ id: '5', name: '第五班' }]
+        } else if (response.data.list[0].inforvalue == 6) {
+          this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' },{ id: '5', name: '第五班' },{ id: '6', name: '第六班' }]
         }
       })
     },

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно