<template>
  <div class="app-container">
    <div class="operation">
      <el-button class="success" style="float: left;" @click="handleNutritional">营养评估</el-button>
      <el-button class="import" style="float: right;">导入</el-button>
      <el-dropdown style="float: right;margin-right: 10px;">
        <el-button class="export">导出</el-button>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item @click.native="form_export(1)">导出模板</el-dropdown-item>
          <el-dropdown-item @click.native="form_export(2)">导出数据</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
      <el-button class="export" style="float: right;margin-right: 10px;" @click="handleHistoryRecords">历史记录</el-button>
    </div>
    <div class="search" />
    <div class="table">
      <el-table :key="table.tableKey" 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" @header-click="headerClick" @cell-click="cellClick" @selection-change="handleSelect">
        <el-table-column type="selection" width="50" />
        <el-table-column :key="1" label="序号" align="center" type="index" width="50px">
          <template slot-scope="scope">
            <span>{{ scope.$index + (table.pageNum-1) * table.pageSize + 1 }}</span>
          </template>
        </el-table-column>
        <el-table-column :key="2" label="栏舍名称" min-width="100px" align="center">
          <template slot-scope="scope">
            <span>{{ scope.row.barname }}</span>
          </template>
        </el-table-column>
        <el-table-column :key="3" label="软件牛头数" min-width="100px" align="center">
          <template slot-scope="scope">
            <span>{{ scope.row.softccount }}</span>
          </template>
        </el-table-column>
        <el-table-column :key="4" label="实际牛头数" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.ccount }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.ccount" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurCcount(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column :key="5" label="系数（%）" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.ratio }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.ratio" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurRatio(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column :key="6" label="系数头数" min-width="130px" 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" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurCcountratio(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column :key="7" label="配方模板" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.ftname }}</span>
            <el-select v-if="scope.row.Edit" v-model="scope.row.ftid" filterable placeholder="配方模板" class="filter-item" style="width:95%;padding:10px 0;" @change="(value)=> {changeRecipeTemplate(value, scope.row)}">
              <el-option v-for="(item,index) in recipeTemplateList" :key="index" :label="item.tname" :value="item.id" />
            </el-select>
          </template>
        </el-table-column>
        <el-table-column v-if="table.isPtsfname" :key="8" label="补料配方" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.ptsfname }}</span>
            <el-select v-if="scope.row.Edit" v-model="scope.row.ptsfid" clearable filterable placeholder="补料配方" class="filter-item" style="width:95%;padding:10px 0;" @change="(value)=> {changeFeedingFormula(value, scope.row)}">
              <el-option v-for="(item,index) in feedingFormulaList" :key="index" :label="item.tname" :value="item.id" />
            </el-select>
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW1" :key="9" label="第一班比例(%)" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.r1 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.r1" :disabled="scope.row.isOneWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW1" :key="10" label="第一班重量" min-width="130px" align="center" :render-header="renderHeader">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.w1 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.w1" :disabled="scope.row.isOneWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW(scope.row)" @focus="focusW(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW2" :key="11" label="第二班比例(%)" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.r2 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.r2" step="0.01" type="number" :disabled="scope.row.isTwoWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW2" :key="12" label="第二班重量" min-width="130px" align="center" :render-header="renderHeader">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.w2 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.w2" :disabled="scope.row.isTwoWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW2(scope.row)" @focus="focusW2(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW3" :key="13" label="第三班比例(%)" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.r3 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.r3" step="0.01" type="number" :disabled="scope.row.isThreeWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW3" :key="14" label="第三班重量" min-width="130px" align="center" :render-header="renderHeader">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.w3 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.w3" :disabled="scope.row.isThreeWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW3(scope.row)" @focus="focusW3(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW4" :key="15" label="第四班比例(%)" min-width="130px" align="center">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.r4 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.r4" step="0.01" type="number" :disabled="scope.row.isFourWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column v-if="table.isRW4" :key="16" label="第四班重量" min-width="130px" align="center" :render-header="renderHeader">
          <template slot-scope="scope">
            <span v-if="scope.row.NoEdit">{{ scope.row.w4 }}</span>
            <el-input v-if="scope.row.Edit" v-model="scope.row.w4" :disabled="scope.row.isFourWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW4(scope.row)" @focus="focusW4(scope.row)" />
          </template>
        </el-table-column>
        <el-table-column :key="17" label="总比例(%)" min-width="130px" align="center">
          <template slot-scope="scope">
            <span>{{ scope.row.sumr }}</span>
          </template>
        </el-table-column>
        <el-table-column :key="18" label="投喂量" min-width="130px" align="center">
          <template slot-scope="scope">
            <span>{{ scope.row.feedweight }}</span>
          </template>
        </el-table-column>
        <el-table-column :key="19" label="配方重量" min-width="130px" align="center">
          <template slot-scope="scope">
            <span>{{ scope.row.ftweight }}</span>
          </template>
        </el-table-column>
        <el-table-column v-if="table.isPtsfname" :key="20" label="补料重量" min-width="130px" align="center">
          <template slot-scope="scope">
            <span>{{ scope.row.supplyweight }}</span>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
          <template slot-scope="{row,column,event}">
            <!-- 编辑 -->
            <el-button v-if="row.isUpdate" class="miniSuccess" @click="form_edit(row)">编辑</el-button>
            <!-- 编辑保存 -->
            <el-button v-if="row.isUpdateSave" class="miniSuccess" :disabled="isokDisable" @click="form_edit_save(row)">保存</el-button>
            <el-button v-if="row.isUpdateSave" class="minCancel" @click="edit_cancel(row)">取消</el-button>
          </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="get_table_data" />
    </div>
    <!-- 历史记录 -->
    <el-dialog :title="textMap[history.dialogStatus]" :destroy-on-close="true" :visible.sync="history.dialogFormVisible" :close-on-click-modal="false" width="90%">
      <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-button class="successBorder" @click="handleApplication">应用</el-button>
        </div>
        <div class="table">
          <el-table :key="history.tableKey" v-loading="history.listLoading" element-loading-text="给我一点时间" :data="history.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
            <el-table-column type="selection" width="50" />
            <el-table-column label="序号" align="center" type="index" width="50px">
              <template slot-scope="scope">
                <span>{{ scope.$index + (history.pageNum-1) * history.pageSize + 1 }}</span>
              </template>
            </el-table-column>
            <el-table-column label="栏舍名称" min-width="100px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.barname }}</span>
              </template>
            </el-table-column>
            <el-table-column label="软件牛头数" min-width="100px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.softccount }}</span>
              </template>
            </el-table-column>
            <el-table-column label="实际牛头数" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.ccount }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.ccount" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurCcount(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column label="系数（%）" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.ratio }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.ratio" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurRatio(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column label="系数头数" min-width="130px" 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" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurCcountratio(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column label="配方模板" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.ftname }}</span>
                <el-select v-if="scope.row.Edit" v-model="scope.row.ftid" filterable placeholder="配方模板" class="filter-item" style="width:95%;padding:10px 0;" @change="(value)=> {changeRecipeTemplate(value, scope.row)}">
                  <el-option v-for="(item,index) in recipeTemplateList" :key="index" :label="item.tname" :value="item.id" />
                </el-select>
              </template>
            </el-table-column>
            <el-table-column v-if="history.isPtsfname" label="补料配方" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.ptsfname }}</span>
                <el-select v-if="scope.row.Edit" v-model="scope.row.ptsfid" filterable placeholder="补料配方" class="filter-item" style="width:95%;padding:10px 0;" @change="(value)=> {changeFeedingFormula(value, scope.row)}">
                  <el-option v-for="(item,index) in feedingFormulaList" :key="index" :label="item.tname" :value="item.id" />
                </el-select>
              </template>
            </el-table-column>
            <el-table-column v-if="history.isRW1" label="第一班比例(%)" min-width="130px" 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" step="0.01" type="number" :disabled="scope.row.isOneWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="history.isRW1" label="第一班重量" min-width="130px" align="center">
              <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.isTwoWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="table.isRW2" label="第二班比例(%)" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.r2 }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.r2" step="0.01" type="number" :disabled="scope.row.isTwoWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="history.isRW2" label="第二班重量" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.w2 }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.w2" :disabled="scope.row.isTwoWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW2(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="history.isRW3" label="第三班比例(%)" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.r3 }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.r3" step="0.01" type="number" :disabled="scope.row.isThreeWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="history.isRW3" label="第三班重量" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.w3 }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.w3" :disabled="scope.row.isThreeWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW3(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="table.isRW4" label="第四班比例(%)" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.r4 }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.r4" step="0.01" type="number" disabled="scope.row.isFourWeight" style="width:95%;padding:10px 0;" @blur="blurR(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column v-if="history.isRW4" label="第四班重量" min-width="130px" align="center">
              <template slot-scope="scope">
                <span v-if="scope.row.NoEdit">{{ scope.row.w4 }}</span>
                <el-input v-if="scope.row.Edit" v-model="scope.row.w4" :disabled="scope.row.isFourWeight" step="0.01" type="number" style="width:95%;padding:10px 0;" @blur="blurW4(scope.row)" />
              </template>
            </el-table-column>
            <el-table-column label="总比例(%)" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.sumr }}</span>
              </template>
            </el-table-column>
            <el-table-column label="投喂量" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.feedweight }}</span>
              </template>
            </el-table-column>
            <el-table-column label="配方重量" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.ftweight }}</span>
              </template>
            </el-table-column>
            <el-table-column v-if="history.isPtsfname" label="补料重量" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.supplyweight }}</span>
              </template>
            </el-table-column>
          </el-table>
          <pagination v-show="history.total>0" :total="history.total" :page.sync="history.getdataListParm.offset" :limit.sync="history.getdataListParm.pagecount" @pagination="getHistoryList" />
        </div>
        <div slot="footer" class="dialog-footer">
          <el-button class="cancelClose" @click="history.dialogFormVisible = false; ">关闭</el-button>
        </div>
      </div>
    </el-dialog>

    <!-- 营养评估 -->
    <el-dialog :title="textMap[nutritional.dialogStatus]" :destroy-on-close="true" :visible.sync="nutritional.dialogFormVisible" :close-on-click-modal="false" width="90%">
      <div class="app-nutritional">
        <h4 style="position: absolute;top:-5px;left:140px;font:18px/24px '' ;color:#303133;">栏舍：{{ nutritional.temp.barname }}</h4>
        <el-form ref="temp" :rules="rules" :model="nutritional.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.temp.cowclassid" :disabled="nutritional.disabledCowclass" filterable placeholder="" class="filter-item" style="width:100%;">
                  <el-option v-for="(item,index) in livestockTypeList" :key="index" :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.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.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.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.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.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.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.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.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.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.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.temp.tem" class="filter-item" placeholder="" style="width:100%;" />
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div style="position: relative;height: 50px;">
          <el-button class="success" :disabled="isokDisable" style="position: absolute;left: 0;right: 0;margin:0 auto;" @click="assessmentData()">评估</el-button>
        </div>
        <div class="table">
          <el-table :key="nutritional.tableKey" v-loading="nutritional.listLoading" element-loading-text="给我一点时间" :data="nutritional.list" border fit highlight-current-row style="width: 100%;margin-bottom:60px;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
            <el-table-column type="selection" width="50" />
            <el-table-column label="序号" align="center" type="index" width="50px">
              <template slot-scope="scope">
                <span>{{ scope.$index + (nutritional.pageNum-1) * nutritional.pageSize + 1 }}</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-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.feedprov }}</span>
              </template>
            </el-table-column>
            <el-table-column label="实际执行" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.actprov }}</span>
              </template>
            </el-table-column>
            <el-table-column label="相差" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.diff }}</span>
              </template>
            </el-table-column>
            <el-table-column label="粗料提供" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.cprov }}</span>
              </template>
            </el-table-column>
            <el-table-column label="精料提供" min-width="130px" align="center">
              <template slot-scope="scope">
                <span>{{ scope.row.jprov }}</span>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <div slot="footer" class="dialog-footer">
          <el-button class="cancelClose" @click="nutritional.dialogFormVisible = false; ">关闭</el-button>
        </div>
      </div>
    </el-dialog>

  </div>
</template>

<script>
import { GetDataByName, GetDataByNames, ExecDataByConfig, failproccess, PostDataByName } from '@/api/common'
import Pagination from '@/components/Pagination'
import { parseTime } from '@/utils/index.js'
import { MessageBox } from 'element-ui'
import Cookies from 'js-cookie'
export default {
  inject: ['reload'],
  name: 'DhedFormula',
  components: { Pagination },
  data() {
    return {
      send_select_list: [
        { name: 'getFTSWList', 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') } }
      ],
      recipeTemplateList: [], // 配方模板
      feedingFormulaList: [], // 补料配方
      livestockTypeList: [], // 类别
      rules: {
        cowclassid: [{ type: 'string', required: true, message: '必填', trigger: 'blur' }]
      },
      table: {
        getdataListParm: {
          name: 'getFPList',
          page: 1,
          offset: 1,
          pagecount: 10,
          returntype: 'Map',
          parammaps: {
            pastureid: Cookies.get('pastureid'),
            enable: ''
          }
        },
        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: '',
        listLoading1: true,
        getdataListParm1: {
          name: 'getnurj',
          page: 1,
          offset: 1,
          pagecount: 10,
          returntype: 'Map',
          parammaps: {
            pastureid: '',
            barid: ''
          }
        },
        disabledCowclass: false,
        temp: {},
        tableKey: 0,
        list: [],
        total2: 0,
        listLoading2: true,
        getdataListParm2: {
          name: 'judgenurV2',
          page: 1,
          offset: 1,
          pagecount: 10,
          returntype: 'Map',
          parammaps: {
            pastureid: '',
            cowclassid: ''
          }
        }
      },
      history: {
        dialogFormVisible: false,
        dialogStatus: '',
        temp: {},
        rules: {},
        tableKey: 0,
        list: [],
        total: 0,
        listLoading: true,
        getdataListParm: {
          name: 'getFPListDate',
          page: 1,
          offset: 1,
          pagecount: 10,
          returntype: 'Map',
          parammaps: {
            pastureid: Cookies.get('pastureid'),
            date: ''
          }
        },
        isPtsfname: false, // 补料配方/补料重量
        getdataListParm2: {
          name: 'getSysoptEnable',
          page: 1,
          offset: 1,
          pagecount: 1,
          returntype: 'Map',
          parammaps: {
            pastureid: Cookies.get('pastureid'),
            inforname: 'isEnableSupplyFeed'
          }
        },
        isRW1: false, // 第一班
        isRW2: false, // 第二班
        isRW3: false, // 第三班
        isRW4: false, // 第四班
        getdataListParm3: {
          name: 'getSysoptEnable1',
          page: 1,
          offset: 1,
          pagecount: 1,
          returntype: 'Map',
          parammaps: {
            pastureid: Cookies.get('pastureid'),
            inforname: 'times'
          }
        },
        getdataDateParm: {
          name: 'getFPMaxDate',
          page: 1,
          offset: 1,
          pagecount: 10,
          returntype: 'Map',
          parammaps: {
            pastureid: Cookies.get('pastureid')
          }
        }
      },
      textMap: {
        Nutritional: '营养评估',
        history: '历史记录'
      },
      focusWRow: {}, // 一班重量得到焦点暂存
      focusWRow2: {}, // 2班重量得到焦点暂存
      focusWRow3: {}, // 3班重量得到焦点暂存
      focusWRow4: {}, // 4班重量得到焦点暂存

      requestParam: {},
      isokDisable: false,
      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
      cellStyle: { padding: 0 + 'px' }
    }
  },

  created() {
    this.getIsDisplay()
    this.get_select_list()
  },

  methods: {
    get_select_list() {
      GetDataByNames(this.send_select_list).then(response => {
        this.recipeTemplateList = response.data.getFTSWList.list
        this.feedingFormulaList = response.data.getFTBLList.list
        this.livestockTypeList = response.data.getCowclassListEnable.list
      })
    },

    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.get_table_data()
    },
    get_table_data() {
      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].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) {
              this.$set(response.data.list[i], 'feedweight', '')
            }
            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]
              }
            }
          }
          // 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
            }
            if (response.data.list[i].r2 == '') {
              response.data.list[i].r2 = 0
            }
            if (response.data.list[i].r3 == '') {
              response.data.list[i].r3 = 0
            }
            if (response.data.list[i].r4 == '') {
              response.data.list[i].r4 = 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 = response.data.list[i].sumr.toFixed(2)
          }
          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)
      })
    },

    renderHeader(h, { column, $index }) { // h即为cerateElement的简写，具体可看vue官方文档
      // console.log(column)
      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)
      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) {
      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
      // 补料重量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', (parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)).toFixed(2))
      } 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 = parseFloat(row.ftweight).toFixed(2)
      } else {
        if (row.supplyweight == 'NaN') {
          row.supplyweight = 0
        }
        console.log(row.supplyweight)
        if (row.supplyweight !== '' && row.ftweight !== '') {
          row.feedweight = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
        } else if (row.supplyweight == '' && row.ftweight !== '') {
          row.feedweight = parseFloat(row.ftweight).toFixed(2)
        } else if (row.supplyweight !== '' && row.ftweight !== '') {
          row.feedweight = parseFloat(row.supplyweight).toFixed(2)
        }

        if (row.ccountratio !== '' && row.ftweight !== '') {
          row.ftweight = (parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)).toFixed(2)
        }
        // if (row.ccountratio !== '' && row.BLweight !== '') {
        //   row.supplyweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio)).toFixed(2)
        // }
        // console.log(row.BLweight, row.ccountratio)
        if (row.Sfweight !== '' && row.ccount !== '') {
          this.$set(row, 'ftweight', (parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)).toFixed(2))
        } else {
          row.ftweight = ''
        }
      }
      console.log(row.supplyweight)
      if (row.supplyweight == 'NaN') { row.supplyweight = 0 }
      if (row.r1 !== '') { this.$set(row, 'w1', (parseFloat(row.feedweight) * (parseFloat(row.r1) / 100)).toFixed(2)) }
      if (row.r2 !== '') { this.$set(row, 'w2', (parseFloat(row.feedweight) * (parseFloat(row.r2) / 100)).toFixed(2)) }
      if (row.r3 !== '') { this.$set(row, 'w3', (parseFloat(row.feedweight) * (parseFloat(row.r3) / 100)).toFixed(2)) }
      if (row.r4 !== '') { this.$set(row, 'w4', (parseFloat(row.feedweight) * (parseFloat(row.r4) / 100)).toFixed(2)) }
    },
    // 补料配方
    changeFeedingFormula(item, row) {
      console.log(item, '=========')
      // 补料重量supplyweight
      // 配方重量ftweight
      // 系数头数ccountratio
      // 投喂量feedweight
      // 实际牛头数ccount
      // 投喂量 = 配方重量 + 补料重量
      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 {
        console.log(123)
        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', (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLSfweightLock) * parseFloat(row.ccount)).toFixed(2))
      } else {
        row.supplyweight = ''
      }
      // if (row.Sfweight !== '' && row.ccount !== '') {
      //   this.$set(row, 'ftweight', (parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)).toFixed(2))
      // } else {
      //   row.ftweight = ''
      // }

      if (this.table.isPtsfname == false) {
        row.feedweight = parseFloat(row.ftweight)
      } else {
        if (row.supplyweight !== '' && row.ftweight !== '') {
          row.feedweight = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
        } else if (row.supplyweight == '' && row.ftweight !== '') {
          row.feedweight = parseFloat(row.ftweight).toFixed(2)
        } else if (row.supplyweight !== '' && row.ftweight == '') {
          row.feedweight = parseFloat(row.supplyweight).toFixed(2)
        }
        // if (row.ccountratio !== '' && row.ftweight !== '') {
        //   row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)
        // }
        // if (row.ccountratio !== '' && row.BLweight !== '') {
        //   row.supplyweight = parseFloat(row.BLweight) * parseFloat(row.ccountratio)
        // }
      }
      if (row.r1 !== '') { this.$set(row, 'w1', (parseFloat(row.feedweight) * (parseFloat(row.r1) / 100)).toFixed(2)) }
      if (row.r2 !== '') { this.$set(row, 'w2', (parseFloat(row.feedweight) * (parseFloat(row.r2) / 100)).toFixed(2)) }
      if (row.r3 !== '') { this.$set(row, 'w3', (parseFloat(row.feedweight) * (parseFloat(row.r3) / 100)).toFixed(2)) }
      if (row.r4 !== '') { this.$set(row, 'w4', (parseFloat(row.feedweight) * (parseFloat(row.r4) / 100)).toFixed(2)) }
    },
    // 实际牛头数失去焦点计算
    // 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 = parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight)
        row.BLweightLock = parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock)
      }
      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 = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
      }
      // 系数牛头数 = 实际牛头数 * 系数/100
      if (row.ccount !== '' && row.ratio !== '') {
        row.ccountratio = parseFloat(row.ccount) * parseFloat(row.ratio) / 100
      } else if (row.ratio !== '' && row.ccountratio !== '') {
        row.ccount = parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100
      } 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 = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
      } 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 = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
      } 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 = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
        } else if (row.supplyweight !== '' && row.ftweight == '') {
          row.feedweight = parseFloat(row.supplyweight).toFixed(2)
        } else if (row.supplyweight == '' && row.ftweight !== '') {
          row.feedweight = parseFloat(row.ftweight).toFixed(2)
        }
        // 配方重量 = 系数头数 * Sfweight
        if (row.ccountratio !== '' && row.ftweight !== '') {
          row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
        }
        // 补料重量 = 系数头数 * BLweight
        if (row.ccountratio !== '' && row.BLweight !== '') {
          row.supplyweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
        }
      }
      if (row.r1 !== '') { this.$set(row, 'w1', (parseFloat(row.feedweight) * (parseFloat(row.r1) / 100)).toFixed(2)) }
      if (row.r2 !== '') { this.$set(row, 'w2', (parseFloat(row.feedweight) * (parseFloat(row.r2) / 100)).toFixed(2)) }
      if (row.r3 !== '') { this.$set(row, 'w3', (parseFloat(row.feedweight) * (parseFloat(row.r3) / 100)).toFixed(2)) }
      if (row.r4 !== '') { this.$set(row, 'w4', (parseFloat(row.feedweight) * (parseFloat(row.r4) / 100)).toFixed(2)) }
    },
    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 = parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight)
        row.BLweightLock = parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock)
      }
      if (row.ptsfid == '') {
        row.BLweight = 0
        row.BLweightLock = 0
      }
      // 系数
      if (row.ccount !== '' && row.ratio !== '' && row.ccountratio !== '') {
        row.ccountratio = parseFloat(row.ccount) * parseFloat(row.ratio) / 100
      } else if (row.ccount !== '' && row.ccountratio !== '') {
        row.ratio = (parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount)).toFixed(2)
      } else if (row.ccount !== '' || row.ccountratio !== '') {
        row.ratio = ''
      }
      // 补料重量
      if (row.ccountratio !== '' && row.BLweight !== '') {
        row.supplyweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
      } else if (row.ccountratio !== '' && row.BLweight == '' || row.ccountratio == '' && row.BLweight !== '') {
        row.supplyweight = ''
        row.feedweight = ''
      }
      // 配方重量
      if (row.ccountratio !== '' && row.Sfweight !== '') {
        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
      } else if (row.ccountratio !== '' && row.Sfweight == '' || row.ccountratio == '' && row.Sfweight !== '') {
        row.ftweight = ''
        row.feedweight = ''
      }
      // 投喂量
      if (row.supplyweight !== '' && row.ftweight !== '') {
        // row.feedweight = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
        row.feedweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
      } else if (row.supplyweight == '' && row.ftweight !== '') {
        row.feedweight = parseFloat(row.ftweight).toFixed(2)
      } else if (row.supplyweight !== '' && row.ftweight == '') {
        row.feedweight = parseFloat(row.supplyweight).toFixed(2)
      }
      console.log(row.supplyweight, '补料重量')
      console.log(row.ftweight, '配方重量')
      if (this.table.isPtsfname == false) {
        row.feedweight = parseFloat(row.ftweight).toFixed(2)
      } else {
        // 投喂量
        if (row.supplyweight !== '' && row.ftweight !== '') {
          row.feedweight = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
        } else if (row.supplyweight == '' && row.ftweight !== '') {
          row.feedweight = parseFloat(row.ftweight).toFixed(2)
        } else if (row.supplyweight !== '' && row.ftweight == '') {
          row.feedweight = parseFloat(row.supplyweight).toFixed(2)
        }
        // 补料重量
        if (row.ccountratio !== '' && row.BLweight !== '') {
          row.supplyweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
        } 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 = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
        } else if (row.ccountratio !== '' && row.Sfweight == '') {
          row.ftweight = ''
          row.feedweight = ''
        } else if (row.ccountratio == '' && row.Sfweight !== '') {
          row.ftweight = ''
          row.feedweight = ''
        }
      }
      if (row.r1 !== '') { this.$set(row, 'w1', (parseFloat(row.feedweight) * (parseFloat(row.r1) / 100)).toFixed(2)) }
      if (row.r2 !== '') { this.$set(row, 'w2', (parseFloat(row.feedweight) * (parseFloat(row.r2) / 100)).toFixed(2)) }
      if (row.r3 !== '') { this.$set(row, 'w3', (parseFloat(row.feedweight) * (parseFloat(row.r3) / 100)).toFixed(2)) }
      if (row.r4 !== '') { this.$set(row, 'w4', (parseFloat(row.feedweight) * (parseFloat(row.r4) / 100)).toFixed(2)) }
    },
    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 = parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight)
        row.BLweightLock = parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock)
      }
      if (row.ptsfid == '') {
        row.BLweight = 0
        row.BLweightLock = 0
      }
      if (row.ptsfid == '') {
        row.BLweight = 0
        row.BLweightLock = 0
      }
      // 系数头数
      if (row.ccountratio !== '' && row.ccount !== '' && row.ratio !== '') {
        row.ratio = (parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount)).toFixed(2)
      } else if (row.ccount !== '' && row.ratio !== '') {
        row.ccountratio = parseFloat(row.ccount) * parseFloat(row.ratio) / 100
      } else if (row.ccountratio !== '' && row.ccount !== '') {
        row.ratio = (parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount)).toFixed(2)
      } else if (row.ccountratio !== '' && row.ratio !== '') {
        row.ccount = parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100
      }
      // 补料重量
      if (row.ccountratio !== '' && row.BLweight !== '') {
        row.supplyweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
      } 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 = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
      } 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 = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
      } else if (row.supplyweight == '' && row.ftweight !== '') {
        row.feedweight = parseFloat(row.ftweight).toFixed(2)
      } else if (row.supplyweight !== '' && row.ftweight == '') {
        row.feedweight = parseFloat(row.supplyweight).toFixed(2)
      }
      if (this.table.isPtsfname == false) {
        console.log(row)
        row.feedweight = parseFloat(row.ftweight).toFixed(2)
      } else {
        // 投喂量
        if (row.supplyweight !== '' && row.ftweight !== '') {
          row.feedweight = (parseFloat(row.supplyweight) + parseFloat(row.ftweight)).toFixed(2)
        } else if (row.supplyweight == '' && row.ftweight !== '') {
          row.feedweight = parseFloat(row.ftweight).toFixed(2)
        } else if (row.supplyweight !== '' && row.ftweight == '') {
          row.feedweight = parseFloat(row.supplyweight).toFixed(2)
        }
        // 补料重量
        if (row.ccountratio !== '' && row.BLweight !== '') {
          row.supplyweight = (parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount)).toFixed(2)
        } 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 = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)
        } else if (row.ccountratio !== '' && row.Sfweight == '') {
          row.ftweight = ''
          row.feedweight = ''
        } else if (row.ccountratio == '' && row.Sfweight !== '') {
          row.ftweight = ''
          row.feedweight = ''
        }
      }
      if (row.r1 !== '') { this.$set(row, 'w1', (parseFloat(row.feedweight) * (parseFloat(row.r1) / 100)).toFixed(2)) }
      if (row.r2 !== '') { this.$set(row, 'w2', (parseFloat(row.feedweight) * (parseFloat(row.r2) / 100)).toFixed(2)) }
      if (row.r3 !== '') { this.$set(row, 'w3', (parseFloat(row.feedweight) * (parseFloat(row.r3) / 100)).toFixed(2)) }
      if (row.r4 !== '') { this.$set(row, 'w4', (parseFloat(row.feedweight) * (parseFloat(row.r4) / 100)).toFixed(2)) }
    },
    // 总比例
    blurR(row) {
      if (row.r1 == '') { row.r1 = 0 }
      if (row.r2 == '') { row.r2 = 0 }
      if (row.r3 == '') { row.r3 = 0 }
      if (row.r4 == '') { row.r4 = 0 }
      if (row.r1 !== '') {
        row.w1 = parseFloat(row.feedweight) * parseFloat(row.r1) / 100
        row.w1 = row.w1.toFixed(2)
      }
      if (row.r2 !== '') {
        row.w2 = parseFloat(row.feedweight) * parseFloat(row.r2) / 100
        row.w2 = row.w2.toFixed(2)
      }
      if (row.r3 !== '') {
        row.w3 = parseFloat(row.feedweight) * parseFloat(row.r3) / 100
        row.w3 = row.w3.toFixed(2)
      }
      if (row.r4 !== '') {
        row.w4 = parseFloat(row.feedweight) * parseFloat(row.r4) / 100
        row.w4 = row.w4.toFixed(2)
      }
      this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
    },
    // 一班重量得到焦点
    focusW(row) {
      console.log(row)
      this.focusWRow = Object.assign({}, row)
    },
    // 1班重量得到焦点
    focusW2(row) {
      console.log(row)
      this.focusWRow2 = Object.assign({}, row)
    },
    // 3班重量得到焦点
    focusW3(row) {
      console.log(row)
      this.focusWRow3 = Object.assign({}, row)
    },
    // 4班重量得到焦点
    focusW4(row) {
      console.log(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) {
        // 2班3班4班都锁定
        if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == true) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))
        }
        // 2班3班锁定4班未锁定
        if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班4班锁定3班未锁定
        if (row.isTwoWeight == true && row.isFourWeight == true && row.isThreeWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 3班4班锁定2班未锁定
        if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == true) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)
          row.r2 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }

        // 2班锁定，3班4班未锁
        if (row.isTwoWeight == true && row.isThreeWeight == false && row.isFourWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 3班锁定，2班4班未锁
        if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 4班锁定，2班3班未锁
        if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == true) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班3班4班未锁
        if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
      } else if (this.table.RWLength == 3) {
        // 三班
        // 2班/3班锁定
        if (row.isTwoWeight == true && row.isThreeWeight == true) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 2班不锁3班锁
        if (row.isTwoWeight == false && row.isThreeWeight == true) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 3班不锁2班锁
        if (row.isTwoWeight == true && row.isThreeWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 2班3班都不锁
        if (row.isTwoWeight == false && row.isThreeWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
      } 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 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1)).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))
        } else {
          row.r1 = parseFloat(row.w1) / parseFloat(row.feedweight) * 100
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))
        }
      }
    },
    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 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班3班锁定4班未锁定
        if (row.isOneWeight == true && row.isThreeWeight == true && row.isFourWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)

          row.w4 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班4班锁定3班未锁定
        if (row.isOneWeight == true && row.isFourWeight == true && row.isThreeWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 3班4班锁定1班未锁定
        if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == true) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)

          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)
          row.r1 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }

        // 1班锁定，3班4班未锁
        if (row.isOneWeight == true && row.isThreeWeight == false && row.isFourWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)

          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 3班锁定，1班4班未锁
        if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r2))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 4班锁定，1班3班未锁
        if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == true) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r3))).toFixed(2)
          row.r1 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r3))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班3班4班未锁
        if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
      } else if (this.table.RWLength == 3) {
        // 三班
        // 1班/3班锁定
        if (row.isOneWeight == true && row.isThreeWeight == true) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 1班不锁3班锁
        if (row.isOneWeight == false && row.isThreeWeight == true) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 3班不锁1班锁
        if (row.isOneWeight == true && row.isThreeWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 1班3班都不锁
        if (row.isOneWeight == false && row.isThreeWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r3))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
      } else if (this.table.RWLength == 2) {
        // 两班
        if (row.isTwoWeight == false) {
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2))
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))
        } else {
          row.r2 = parseFloat(row.w2) / parseFloat(row.feedweight) * 100
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))
        }
      }
    },
    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 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班2班锁定4班未锁定
        if (row.isOneWeight == true && row.isTwoWeight == true && row.isFourWeight == false) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班4班锁定1班未锁定
        if (row.isOneWeight == false && row.isTwoWeight == true && row.isFourWeight == true) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班4班锁定2班未锁定
        if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == true) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100)
          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)
          row.r2 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }

        // 2班锁定，1班4班未锁
        if (row.isTwoWeight == true && row.isOneWeight == false && row.isFourWeight == false) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班锁定，2班4班未锁
        if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == false) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 4班锁定，2班1班未锁
        if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == true) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r2))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班1班4班未锁
        if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == false) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w4 <= 0) {
            row.w4 = 0
            row.r4 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
      } else if (this.table.RWLength == 3) {
        // 三班
        // 1班/2班锁定
        if (row.isOneWeight == true && row.isTwoWeight == true) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 1班不锁2班锁
        if (row.isOneWeight == false && row.isTwoWeight == true) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 3班不锁2班锁
        // 2班不锁1班锁
        if (row.isOneWeight == true && row.isTwoWeight == false) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
        // 2班3班都不锁
        // 1班2班都不锁
        if (row.isOneWeight == false && row.isTwoWeight == false) {
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))
        }
      }
    },
    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 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班3班锁定1班未锁定
        if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == true) {
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班1班锁定3班未锁定
        if (row.isOneWeight == true && row.isTwoWeight == true && row.isThreeWeight == false) {
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 3班1班锁定2班未锁定
        if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == true) {
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)
          row.r2 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }

        // 2班锁定，3班1班未锁
        if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == false) {
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r1))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 3班锁定，2班1班未锁
        if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == true) {
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r1))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 1班锁定，2班3班未锁
        if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == false) {
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
        // 2班3班1班未锁
        if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == false) {
          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)
          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)
          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)
          if (row.w1 <= 0) {
            row.w1 = 0
            row.r1 = 0
          }
          if (row.w2 <= 0) {
            row.w2 = 0
            row.r2 = 0
          }
          if (row.w3 <= 0) {
            row.w3 = 0
            row.r3 = 0
          }
          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))
        }
      }
    },
    // 编辑
    form_edit(row) {
      console.log(row)
      for (let i = 0; i < this.table.list.length; i++) {
        if (this.table.list[i].Edit == true) {
          this.$message({
            type: 'error',
            message: '当前内容未保存，请点击取消或保存继续进行操作',
            duration: 2000
          })
          return false
        }
      }
      // 编辑true,不可编辑false
      row.Edit = true
      row.NoEdit = false
      // 编辑false,编辑保存true
      row.isUpdate = false
      row.isUpdateSave = true
      row.ftid = String(row.ftid)
      if (row.ptsfid == '-1') {
        row.ptsfid = ''
      }
      row.ptsfid = String(row.ptsfid)
      this.table.temp.ftid = row.ftid
      this.table.temp.ftname = row.ftname
      this.table.temp.ptsfid = row.ptsfid
      this.table.temp.ptsfname = row.ptsfname
    },
    form_edit_save(row) {
      console.log(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) }
      console.log(row)
      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]
        obj['tratio'] = Math.round(row['r' + i])
        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.ratio = String(row.ratio)
      row.ccountratio = String(row.ccountratio)
      row.sumr = Math.round(row.sumr)
      this.table.rwList = arr
      console.log('点击了编辑保存', row)
      this.table.temp.pastureid = row.pastureid
      this.table.temp.id = row.id
      this.table.temp.barname = row.barname
      this.table.temp.barid = row.barid
      this.table.temp.ccount = row.ccount
      this.table.temp.ratio = row.ratio
      this.table.temp.ccountratio = row.ccountratio
      this.table.temp.ftid = row.ftid
      this.table.temp.ftname = row.ftname
      this.table.temp.ptsfid = row.ptsfid
      this.table.temp.ptsfname = row.ptsfname
      this.table.temp.ftweight = row.ftweight
      this.table.temp.supplyweight = row.supplyweight
      this.table.temp.feedweight = row.feedweight
      this.table.temp.owner = row.owner
      this.table.temp.sumr = row.sumr
      if (row.softccount == '') {
        row.softccount = 0
      }
      if (row.r1 == '') {
        row.r1 = 0
      }
      if (row.r2 == '') {
        row.r2 = 0
      }
      if (row.r3 == '') {
        row.r3 = 0
      }
      if (row.r4 == '') {
        row.r4 = 0
      }
      if (row.w1 == '') {
        row.w1 = 0
      }
      if (row.w2 == '' || row.w4 == NaN) {
        row.w2 = 0
      }
      if (row.w3 == '' || row.w4 == NaN) {
        row.w3 = 0
      }
      if (row.w4 == '' || row.w4 == NaN) {
        row.w4 = 0
      }
      console.log(row, '===========')
      this.table.temp.softccount = row.softccount
      this.table.temp.r1 = Math.round(row.r1)
      this.table.temp.r2 = Math.round(row.r2)
      this.table.temp.r3 = Math.round(row.r3)
      this.table.temp.r4 = Math.round(row.r4)
      this.table.temp.w1 = row.w1
      this.table.temp.w2 = row.w2
      this.table.temp.w3 = row.w3
      this.table.temp.w4 = row.w4

      if (this.table.temp.ccount == '' && this.table.temp.ratio == '' && this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {
        this.$message({
          type: 'error',
          message: '实际牛头数/系数/系数头数/配方模版不能为空',
          duration: 2000
        })
        return false
      }
      if (this.table.temp.ratio == '' && this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {
        this.$message({
          type: 'error',
          message: '系数/系数头数/配方模版不能为空',
          duration: 2000
        })
        return false
      }
      if (this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {
        this.$message({
          type: 'error',
          message: '系数头数/配方模版不能为空',
          duration: 2000
        })
        return false
      }
      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 = /^[1-9]\d*$/
      if (!positiveInteger.test(parseFloat(this.table.temp.ccount))) {
        this.$message({
          type: 'error',
          message: '实际牛头数请输入正整数',
          duration: 2000
        })
        return false
      }
      this.isokDisable = true
      setTimeout(() => {
        this.isokDisable = false
      }, 1000)
      // this.requestParam.parammaps = this.table.temp
      this.requestParam.common = {
        'returnmap': '0'
      }
      this.requestParam.data = []
      this.requestParam.data[0] = {        'name': 'updateBigFP', 'type': 'e', 'parammaps': {
          pastureid: row.pastureid,
          id: row.id,
          barname: row.barname,
          barid: row.barid,
          softccount: row.softccount,
          ccount: row.ccount,
          ratio: row.ratio,
          ccountratio: row.ccountratio,
          ftid: row.ftid,
          ftname: row.ftname,
          ptsfid: row.ptsfid,
          ptsfname: row.ptsfname,
          ftweight: row.ftweight,
          supplyweight: row.supplyweight,
          feedweight: row.feedweight,
          owner: row.owner,
          sumr: row.sumr
        }      }
      this.requestParam.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.table.rwList } }
      this.requestParam.data[1].children = []
      this.requestParam.data[1].children[0] = {        'name': 'updateBigFPDetail', 'type': 'e', 'parammaps': {
          pastureid: '@insertSpotList.pastureid',
          barname: row.barname,
          barid: '@insertSpotList.barid',
          times: '@insertSpotList.times',
          tratio: '@insertSpotList.tratio',
          weight: '@insertSpotList.weight',
          cowcount: '@insertSpotList.cowcount',
          ccountradio: row.ccountratio,
          ptid: '@insertSpotList.ptid',
          ptsid: '@insertSpotList.ptsid',
          feedweight: row.feedweight,
          supplyweight: row.supplyweight,
          ratio: row.ratio
        }      }
      this.requestParam.data[2] = {        'name': 'updateLPPbyFPChange', 'type': 'e', 'parammaps': {
          pastureid: row.pastureid,
          fpid: row.id
        }      }
      ExecDataByConfig(this.requestParam).then(response => {
        console.log('编辑保存发送参数', this.requestParam)
        if (response.msg === 'fail') {
          this.$notify({
            title: '保存失败',
            message: response.data,
            type: 'warning',
            duration: 2000
          })
        } else {
          this.$notify({
            title: '成功',
            message: '保存成功',
            type: 'success',
            duration: 2000
          })
          this.get_table_data()
        }
      })
    },
    edit_cancel(row) {
      console.log('点击了编辑取消')
      // 编辑false,不可编辑true
      row.Edit = false
      row.NoEdit = true
      // 编辑true,编辑保存false
      row.isUpdate = true
      row.isUpdateSave = false
      this.get_table_data()
      this.reload()
      // this.$router.push('/formulationPlan/dhedFormula')
    },
    cellClick(row, column, event) {
      console.log(column)
    },
    handleSelect(val) {
      console.log('勾选数据', val)
      this.selectList = val
    },
    // 营养评估
    handleNutritional() {
      console.log('点击了营养评估')
      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.dialogFormVisible = true
        this.nutritional.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid
        this.nutritional.getdataListParm1.parammaps.barid = this.selectList[0].barid
        this.getNutritionalList()
      }
    },
    getNutritionalList() {
      this.nutritional.listLoading1 = true
      GetDataByName(this.nutritional.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.temp = response.data.list[0]
          this.nutritional.disabledCowclass = true
        } else {
          this.nutritional.temp = []
          this.nutritional.disabledCowclass = false
        }
        setTimeout(() => {
          this.nutritional.listLoading = false
        }, 100)
      })
    },
    assessmentData() {
      console.log('评估保存')
      this.$refs['temp'].validate(valid => {
        if (valid) {
          this.nutritional.getdataListParm2.parammaps.pastureid = this.selectList[0].pastureid
          this.nutritional.getdataListParm2.parammaps.cowclassid = this.nutritional.temp.cowclassid
          this.getNutritionalList2()
        }
      })
    },
    getNutritionalList2() {
      this.nutritional.listLoading2 = true
      GetDataByName(this.nutritional.getdataListParm2).then(response => {
        console.log('评估下方数据', response.data.list)
        if (response.data.list !== null) {
          this.nutritional.list = response.data.list
          this.nutritional.pageNum = response.data.pageNum
          this.nutritional.pageSize = response.data.pageSize
          this.nutritional.total = response.data.total
        } else {
          this.nutritional.list = []
        }
        setTimeout(() => {
          this.nutritional.listLoading2 = false
        }, 100)
      })
    },
    // 历史记录
    handleHistoryRecords() {
      console.log('点击了历史记录')
      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++) {
            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].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].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].feedweight == undefined) {
              this.$set(response.data.list[i], 'feedweight', '')
            }
            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].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]
              }
            }
          }
          this.history.list = response.data.list
          for (let i = 0; i < response.data.list.length; i++) {
            if (response.data.list[i].r1 == '') { response.data.list[i].r1 = 0 }
            if (response.data.list[i].r2 == '') { response.data.list[i].r2 = 0 }
            if (response.data.list[i].r3 == '') { response.data.list[i].r3 = 0 }
            if (response.data.list[i].r4 == '') { response.data.list[i].r4 = 0 }
            this.$set(response.data.list[i], 'sumr', Math.round(parseFloat(response.data.list[i].r1) + parseFloat(response.data.list[i].r2) + parseFloat(response.data.list[i].r3) + parseFloat(response.data.list[i].r4)))
          }
          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)
      })
    },
    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.get_table_data()
          }
        })
      }).catch(() => {
        this.$message({ type: 'info', message: '已取消应用' })
      })
    },
    // 导出
    form_export(item) {
      if (item == 1) {
        console.log('点击了导出模板')
      } else {
        console.log('点击了导出数据')
      }
    },

    // 导入
    form_inport() {
      console.log('点击了导入')
    }
  }
}
</script>
<style lang="scss" scoped>
.search {
  clear: both;
}

.table {
  margin-top: 10px;
}
</style>
