<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="handleExport(1)">导出模板</el-dropdown-item> <el-dropdown-item @click.native="handleExport(2)">导出数据</el-dropdown-item> </el-dropdown-menu> </el-dropdown> <el-button class="export" style="float: right;margin-right: 10px;" @click="handleHistoryRecords">历史记录</el-button> </div> <div class="search" /> <div class="table"> <el-table :key="table.tableKey" 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 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 in recipeTemplateList" :key="item.id" :label="item.tname" :value="item.id" /> </el-select> </template> </el-table-column> <el-table-column v-if="table.isPtsfname" :key="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 in feedingFormulaList" :key="item.id" :label="item.tname" :value="item.id" /> </el-select> </template> </el-table-column> <el-table-column v-if="table.isRW1" :key="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}"> <!-- 编辑 --> <el-button v-if="row.isUpdate" class="miniSuccess" @click="handleUpdate(row)">编辑</el-button> <!-- 编辑保存 --> <el-button v-if="row.isUpdateSave" class="miniSuccess" :disabled="isokDisable" @click="updateData(row)">保存</el-button> <el-button v-if="row.isUpdateSave" class="minCancel" @click="updateCancel(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="getList" /> </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 in recipeTemplateList" :key="item.id" :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 in feedingFormulaList" :key="item.id" :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]" :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.tab1.temp.barname }}</h4> <el-tabs v-model="nutritional.activeName" @tab-click="handleNutritionalTab"> <el-tab-pane label="营养评估" name="first"> <el-form ref="temp" :rules="rules" :model="nutritional.tab1.temp" label-position="right" label-width="95px" style="width: 100%;margin-bottom:30px"> <el-row> <el-col :span="4"> <el-form-item label="类别" prop="cowclassid"> <el-select v-model="nutritional.tab1.temp.cowclassid" :disabled="nutritional.tab1.disabledCowclass" filterable placeholder="" class="filter-item" style="width:100%;"> <el-option v-for="item in livestockTypeList" :key="item.id" :label="item.mixname" :value="item.id" /> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="月龄" prop="avgmonthage"> <el-input ref="avgmonthage" v-model="nutritional.tab1.temp.avgmonthage" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="体重(kg)" prop="bw"> <el-input ref="bw" v-model="nutritional.tab1.temp.bw" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="日增重(kg)" prop="dayw"> <el-input ref="dayw" v-model="nutritional.tab1.temp.dayw" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="胎次(次)" prop="fetal"> <el-input ref="fetal" v-model="nutritional.tab1.temp.fetal" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="泌乳天数(天)" prop="avgdim"> <el-input ref="avgdim" v-model="nutritional.tab1.temp.avgdim" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="4"> <el-form-item label="怀孕天数(天)" prop="dayspre"> <el-input ref="dayspre" v-model="nutritional.tab1.temp.dayspre" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="产奶量(kg)" prop="product"> <el-input ref="product" v-model="nutritional.tab1.temp.product" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="乳脂率(%)" prop="fat"> <el-input ref="fat" v-model="nutritional.tab1.temp.fat" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="乳蛋白率(%)" prop="pro"> <el-input ref="pro" v-model="nutritional.tab1.temp.pro" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="乳糖率(%)" prop="lactose"> <el-input ref="lactose" v-model="nutritional.tab1.temp.lactose" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="温度(℃)" prop="tem"> <el-input ref="tem" v-model="nutritional.tab1.temp.tem" class="filter-item" placeholder="" style="width:100%;" /> </el-form-item> </el-col> </el-row> </el-form> <div style="height: 50px;"> <el-date-picker v-model="nutritional.tab1.inputDatetime" :picker-options="pickerOptions" class="inputDatetime filter-item" :clearable="false" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;margin-right: 10px;" /> <el-button class="el-icon-arrow-left elIconArrowLeft" @click="handleBefore" /> <el-button class="el-icon-arrow-right elIconArrowRight" @click="handleNext" /> <el-button class="success" :disabled="isokDisable" @click="assessmentData()">评估</el-button> </div> <div class="table"> <el-table :key="nutritional.tab1.tableKey" v-loading="nutritional.tab1.listLoading" element-loading-text="给我一点时间" :data="nutritional.tab1.list" border fit highlight-current-row style="width: 100%;margin-bottom:60px;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="序号" align="center" type="index" width="50px" /> <el-table-column label="指标" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.standard }}</span> </template> </el-table-column> <el-table-column label="奶牛需要" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.cowneed }}</span> </template> </el-table-column> <el-table-column label="配方量" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.ftpro }}</span> </template> </el-table-column> <el-table-column label="TMR料" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.hprov }}</span> </template> </el-table-column> <el-table-column label="采食量" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.sprov }}</span> </template> </el-table-column> </el-table> </div> </el-tab-pane> <el-tab-pane label="牛群评估" name="second"> <el-date-picker v-model="nutritional.tab2.inputDatetime" :picker-options="pickerOptions" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;margin-right: 10px;" @change="changeTab2Date" /> <el-button class="el-icon-arrow-left elIconArrowLeft" @click="handleBefore" /> <el-button class="el-icon-arrow-right elIconArrowRight" @click="handleNext" /> <el-row> <el-col :span="24"> <h3 style="text-align: center;">宾州筛分析</h3> <div class="table"> <el-table :key="nutritional.tab2.tableKey1" v-loading="nutritional.tab2.listLoading1" element-loading-text="给我一点时间" :data="nutritional.tab2.list1" border fit highlight-current-row style="width: 100%;margin-bottom:60px;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.operatetime }}</span> </template> </el-table-column> <el-table-column label="第一层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.oneweight }}</span> </template> </el-table-column> <el-table-column label="第一层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.onerate }}</span> </template> </el-table-column> <el-table-column label="第二层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.twoweight }}</span> </template> </el-table-column> <el-table-column label="第二层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.tworate }}</span> </template> </el-table-column> <el-table-column label="第三层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.threeweight }}</span> </template> </el-table-column> <el-table-column label="第三层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.threerate }}</span> </template> </el-table-column> <el-table-column label="第四层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.fourweight }}</span> </template> </el-table-column> <el-table-column label="第四层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.fourrate }}</span> </template> </el-table-column> <el-table-column label="参考标准" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.standard }}</span> </template> </el-table-column> </el-table> </div> </el-col> </el-row> <el-row> <el-col :span="24"> <h3 style="text-align: center;">粪便筛分析</h3> <div class="table"> <el-table :key="nutritional.tab2.tableKey2" v-loading="nutritional.tab2.listLoading2" element-loading-text="给我一点时间" :data="nutritional.tab2.list2" border fit highlight-current-row style="width: 100%;margin-bottom:60px;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.operatetime }}</span> </template> </el-table-column> <el-table-column label="第一层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.oneweight }}</span> </template> </el-table-column> <el-table-column label="第一层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.onerate }}</span> </template> </el-table-column> <el-table-column label="第二层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.twoweight }}</span> </template> </el-table-column> <el-table-column label="第二层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.tworate }}</span> </template> </el-table-column> <el-table-column label="第三层重量(g)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.threeweight }}</span> </template> </el-table-column> <el-table-column label="第三层百分比" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.threerate }}</span> </template> </el-table-column> <el-table-column label="参考标准" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.standard }}</span> </template> </el-table-column> </el-table> </div> </el-col> </el-row> <el-row> <el-col :span="24"> <h3 style="text-align: center;">BCS评分</h3> <div class="table"> <el-table :key="nutritional.tab2.tableKey3" v-loading="nutritional.tab2.listLoading3" element-loading-text="给我一点时间" :data="nutritional.tab2.list3" border fit highlight-current-row style="width: 100%;margin-bottom:60px;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.operatetime }}</span> </template> </el-table-column> <el-table-column label="抽查样本数" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.sumcowcount }}</span> </template> </el-table-column> <el-table-column label="单产(kg/头)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.product }}</span> </template> </el-table-column> <el-table-column label="物质采食量(kg/头)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.cowneed }}</span> </template> </el-table-column> <el-table-column label="泌乳天数" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.avgdim }}</span> </template> </el-table-column> <el-table-column label="标准分数" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.standardscore }}</span> </template> </el-table-column> <el-table-column label="2.5-分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score25 }}</span> </template> </el-table-column> <el-table-column label="2.75分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score275 }}</span> </template> </el-table-column> <el-table-column label="3分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score3 }}</span> </template> </el-table-column> <el-table-column label="3.25分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score325 }}</span> </template> </el-table-column> <el-table-column label="3.5分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.feedprov }}</span> </template> </el-table-column> <el-table-column label="3.75分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score375 }}</span> </template> </el-table-column> <el-table-column label="4+分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score4 }}</span> </template> </el-table-column> </el-table> </div> </el-col> </el-row> <el-row> <el-col :span="24"> <h3 style="text-align: center;">粪便评分</h3> <div class="table"> <el-table :key="nutritional.tab2.tableKey4" v-loading="nutritional.tab2.listLoading4" element-loading-text="给我一点时间" :data="nutritional.tab2.list4" border fit highlight-current-row style="width: 100%;margin-bottom:60px;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.operatetime }}</span> </template> </el-table-column> <el-table-column label="抽查样本数" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.sumcowcount }}</span> </template> </el-table-column> <el-table-column label="单产(kg/头)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.product }}</span> </template> </el-table-column> <el-table-column label="干物质采食量(kg/头)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.cowneed }}</span> </template> </el-table-column> <el-table-column label="泌乳天数" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.avgdim }}</span> </template> </el-table-column> <el-table-column label="标准分数" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.cowneed }}</span> </template> </el-table-column> <el-table-column label="1分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score1 }}</span> </template> </el-table-column> <el-table-column label="2分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score2 }}</span> </template> </el-table-column> <el-table-column label="3分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score3 }}</span> </template> </el-table-column> <el-table-column label="4分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score4 }}</span> </template> </el-table-column> <el-table-column label="5分(数量、百分比)" min-width="130px" align="center"> <template slot-scope="scope"> <span>{{ scope.row.score5 }}</span> </template> </el-table-column> </el-table> </div> </el-col> </el-row> </el-tab-pane> </el-tabs> <div slot="footer" class="dialog-footer" style="bottom: 0;"> <el-button class="cancelClose" @click="nutritional.dialogFormVisible = false; ">关闭</el-button> </div> </div> </el-dialog> </div> </template> <script> import { GetDataByName, GETNurJudge, GetDataByNames, compareSort, ExecDataByConfig, failproccess, PostDataByName, formatNum } 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 { pickerMinDate: '', pickerOptions: { onPick: ({ maxDate, minDate }) => { this.pickerMinDate = minDate.getTime() if (maxDate) { this.pickerMinDate = '' } }, // 限制不能选择今天之后的日期 disabledDate: (time) => { if (this.pickerMinDate !== '') { const one = 31 * 24 * 3600 * 1000 const minTime = this.pickerMinDate - one let maxTime = this.pickerMinDate + one if (maxTime > new Date()) { maxTime = new Date() } return time.getTime() < minTime - 8.64e7 || time.getTime() > maxTime - 8.64e7 } return time.getTime() > Date.now() - 8.64e7 } }, requestParams: [ { name: '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: '', activeName: 'first ', tab1: { inputDatetime: [new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1), new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1)], listLoading1: true, getdataListParm1: { name: 'getnurj', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', barid: '' } }, disabledCowclass: false, temp: {}, tableKey: 0, list: [], total: 0, listLoading2: true, getdataListParm2: { name: 'GETNurJudge', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', cowclassid: '' } } }, tab2: { inputDatetime: [new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1), new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 1)], listLoading1: true, tableKey1: 0, list1: [], total1: 0, getdataListParm1: { name: 'getPennsieveList', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', barid: '', startTime: '', stopTime: '', inputDatetime: '' } }, listLoading2: true, tableKey2: 0, list2: [], total2: 0, getdataListParm2: { name: 'getDungsieveList', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', barid: '', startTime: '', stopTime: '', inputDatetime: '' } }, listLoading3: true, tableKey3: 0, list3: [], total3: 0, getdataListParm3: { name: 'getBodyscoreList', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', barid: '', startTime: '', stopTime: '', inputDatetime: '' } }, listLoading4: true, tableKey4: 0, list4: [], total4: 0, getdataListParm4: { name: 'getDungscoreList', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { pastureid: '', barid: '', startTime: '', stopTime: '', inputDatetime: '' } } } }, history: { dialogFormVisible: false, dialogStatus: '', temp: {}, rules: {}, tableKey: 0, list: [], total: 0, listLoading: true, getdataListParm: { name: '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.getDownList() }, methods: { getDownList() { GetDataByNames(this.requestParams).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.getList() }, getList() { this.table.listLoading = true GetDataByName(this.table.getdataListParm).then(response => { console.log('table数据', response.data.list) if (response.data.list !== null) { for (let i = 0; i < response.data.list.length; i++) { this.$set(response.data.list[i], 'Edit', false) // 编辑 this.$set(response.data.list[i], 'NoEdit', true) // 不可编辑/输入 this.$set(response.data.list[i], 'isUpdate', true) // 编辑操作 this.$set(response.data.list[i], 'isUpdateSave', false) // 编辑保存 if (response.data.list[i].ftid == undefined || response.data.list[i].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 = formatNum(response.data.list[i].sumr, 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', formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 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 = formatNum(parseFloat(row.ftweight), 2) } else { if (row.supplyweight == 'NaN') { row.supplyweight = 0 } console.log(row.supplyweight) if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 2) } if (row.ccountratio !== '' && row.ftweight !== '') { row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } if (row.Sfweight !== '' && row.ccount !== '') { this.$set(row, 'ftweight', formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2)) } else { row.ftweight = '' } } console.log(row.supplyweight) if (row.supplyweight == 'NaN') { row.supplyweight = 0 } if (row.r1 !== '') { this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), 2)) } if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), 2)) } if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), 2)) } if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), 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 { row.ptsfname = '' row.BLweight = 0 row.BLSfweightLock = 0 } // 配方重量 = 系数头数 * Sfweight // if (row.ccountratio !== '' && row.ftweight !== '') { // row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) // } // 补料重量 = 系数头数 * BLweight // console.log(row.ccountratio) // console.log(row.ccount) // console.log(row.BLweight) // console.log(row.BLSfweightLock) if (row.ccountratio !== '' && row.ccount !== '' && row.ccount.BLweight !== '' && row.BLSfweightLock !== '') { this.$set(row, 'supplyweight', formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLSfweightLock) * parseFloat(row.ccount), 2)) } else { row.supplyweight = '' } if (this.table.isPtsfname == false) { row.feedweight = parseFloat(row.ftweight) } else { if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight == '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 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', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), 2)) } if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), 2)) } if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), 2)) } if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), 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 = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight), 2) row.BLweightLock = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock), 2) } if (row.ptsfid == '') { row.BLweight = 0 row.BLweightLock = 0 } if (row.Sfweight !== '' && row.ccount !== '') { // console.log(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)) row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } // 系数牛头数 = 实际牛头数 * 系数/100 if (row.ccount !== '' && row.ratio !== '') { row.ccountratio = formatNum(parseFloat(row.ccount) * parseFloat(row.ratio) / 100, 2) } else if (row.ratio !== '' && row.ccountratio !== '') { row.ccount = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100, 2) } else if (row.ccount !== '' || row.ratio !== '') { row.ccountratio = '' } // 补料重量 console.log(row.ccountratio, row.BLweight) if (row.BLweight == 'undefined') { this.$set(row, 'BLweight', '') } console.log('BLweight', row.BLweight) console.log('ccountratio', row.ccountratio) console.log('BLweightLock', row.BLweightLock) console.log('ccount', row.ccount) if (row.ccountratio !== '' && row.BLweight !== '') { row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 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 = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } else if (row.ccountratio !== '' && row.Sfweight == '') { row.ftweight = '' row.feedweight = '' } else if (row.ccountratio == '' && row.Sfweight !== '') { row.ftweight = '' row.feedweight = '' } if (this.table.isPtsfname == false) { row.feedweight = parseFloat(row.ftweight) } else { if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight == '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } // 配方重量 = 系数头数 * Sfweight if (row.ccountratio !== '' && row.ftweight !== '') { row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } // 补料重量 = 系数头数 * BLweight if (row.ccountratio !== '' && row.BLweight !== '') { row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 2) } } if (row.r1 !== '') { this.$set(row, 'w1', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), 2)) } if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), 2)) } if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), 2)) } if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), 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 = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight), 2) row.BLweightLock = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock), 2) } if (row.ptsfid == '') { row.BLweight = 0 row.BLweightLock = 0 } // 系数 if (row.ccount !== '' && row.ratio !== '' && row.ccountratio !== '') { row.ccountratio = formatNum(parseFloat(row.ccount) * parseFloat(row.ratio) / 100, 2) } else if (row.ccount !== '' && row.ccountratio !== '') { row.ratio = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount), 2) } else if (row.ccount !== '' || row.ccountratio !== '') { row.ratio = '' } // 补料重量 if (row.ccountratio !== '' && row.BLweight !== '') { row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 2) } else if (row.ccountratio !== '' && row.BLweight == '' || row.ccountratio == '' && row.BLweight !== '') { row.supplyweight = '' row.feedweight = '' } // 配方重量 if (row.ccountratio !== '' && row.Sfweight !== '') { row.ftweight = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } else if (row.ccountratio !== '' && row.Sfweight == '' || row.ccountratio == '' && row.Sfweight !== '') { row.ftweight = '' row.feedweight = '' } // 投喂量 if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight == '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 2) } console.log(row.supplyweight, '补料重量') console.log(row.ftweight, '配方重量') if (this.table.isPtsfname == false) { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else { // 投喂量 if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight == '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 2) } // 补料重量 if (row.ccountratio !== '' && row.BLweight !== '') { row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 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 = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } 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', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), 2)) } if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), 2)) } if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), 2)) } if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), 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 = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight), 2) row.BLweightLock = formatNum(parseFloat(this.feedingFormulaList.find(obj => obj.id == row.ptsfid).SfweightLock), 2) } 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 = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount), 2) } else if (row.ccount !== '' && row.ratio !== '') { row.ccountratio = formatNum(parseFloat(row.ccount) * parseFloat(row.ratio) / 100, 2) } else if (row.ccountratio !== '' && row.ccount !== '') { row.ratio = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount), 2) } else if (row.ccountratio !== '' && row.ratio !== '') { row.ccount = formatNum(parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100, 2) } // 补料重量 if (row.ccountratio !== '' && row.BLweight !== '') { row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 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 = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } else if (row.ccountratio !== '' && row.Sfweight == '') { row.ftweight = '' row.feedweight = '' } else if (row.ccountratio == '' && row.Sfweight !== '') { row.ftweight = '' row.feedweight = '' } // 投喂量 if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight == '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 2) } if (this.table.isPtsfname == false) { console.log(row) row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else { // 投喂量 if (row.supplyweight !== '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.supplyweight) + parseFloat(row.ftweight), 2) } else if (row.supplyweight == '' && row.ftweight !== '') { row.feedweight = formatNum(parseFloat(row.ftweight), 2) } else if (row.supplyweight !== '' && row.ftweight == '') { row.feedweight = formatNum(parseFloat(row.supplyweight), 2) } // 补料重量 if (row.ccountratio !== '' && row.BLweight !== '') { row.supplyweight = formatNum(parseFloat(row.BLweight) * parseFloat(row.ccountratio) + parseFloat(row.BLweightLock) * parseFloat(row.ccount), 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 = formatNum(parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount), 2) } 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', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r1) / 100), 2)) } if (row.r2 !== '') { this.$set(row, 'w2', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r2) / 100), 2)) } if (row.r3 !== '') { this.$set(row, 'w3', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r3) / 100), 2)) } if (row.r4 !== '') { this.$set(row, 'w4', formatNum(parseFloat(row.feedweight) * (parseFloat(row.r4) / 100), 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 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r1) / 100, 2) } if (row.r2 !== '') { row.w2 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r2) / 100, 2) } if (row.r3 !== '') { row.w3 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r3) / 100, 2) } if (row.r4 !== '') { row.w4 = formatNum(parseFloat(row.feedweight) * parseFloat(row.r4) / 100, 2) } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) }, // 一班重量得到焦点 focusW(row) { console.log(row) this.focusWRow = Object.assign({}, row) }, // 1班重量得到焦点 focusW2(row) { this.focusWRow2 = Object.assign({}, row) }, // 3班重量得到焦点 focusW3(row) { this.focusWRow3 = Object.assign({}, row) }, // 4班重量得到焦点 focusW4(row) { this.focusWRow4 = Object.assign({}, row) }, // 一班重量 blurW(row) { if (row.w1 == '') { row.w1 = 0 } if (row.w2 == '') { row.w2 = 0 } if (row.w3 == '') { row.w3 = 0 } if (row.w4 == '') { row.w4 = 0 } if (row.r1 == '') { row.r1 = 0 } if (row.r2 == '') { row.r2 = 0 } if (row.r3 == '') { row.r3 = 0 } if (row.r4 == '') { row.r4 = 0 } // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4) console.log(row, '=======投喂量feedweight') // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight if (this.table.RWLength == 4) { // 2班3班4班都锁定 if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == true) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班3班锁定4班未锁定 if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) if (row.w4 <= 0) { row.w4 = 0 row.r4 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班4班锁定3班未锁定 if (row.isTwoWeight == true && row.isFourWeight == true && row.isThreeWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w3 <= 0) { row.w3 = 0 row.r3 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 3班4班锁定2班未锁定 if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == true) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4), 2) row.r2 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w2 <= 0) { row.w2 = 0 row.r2 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班锁定,3班4班未锁 if (row.isTwoWeight == true && row.isThreeWeight == false && row.isFourWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100) if (row.w3 <= 0) { row.w3 = 0 row.r3 = 0 } if (row.w4 <= 0) { row.w4 = 0 row.r4 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 3班锁定,2班4班未锁 if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 4班锁定,2班3班未锁 if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == true) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班3班4班未锁 if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } } else if (this.table.RWLength == 3) { // 三班 // 2班/3班锁定 if (row.isTwoWeight == true && row.isThreeWeight == true) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 2班不锁3班锁 if (row.isTwoWeight == false && row.isThreeWeight == true) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) if (row.w2 <= 0) { row.w2 = 0 row.r2 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 3班不锁2班锁 if (row.isTwoWeight == true && row.isThreeWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w3 <= 0) { row.w3 = 0 row.r3 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 2班3班都不锁 if (row.isTwoWeight == false && row.isThreeWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 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 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), 2)) } else { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), 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 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班3班锁定4班未锁定 if (row.isOneWeight == true && row.isThreeWeight == true && row.isFourWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) if (row.w4 <= 0) { row.w4 = 0 row.r4 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班4班锁定3班未锁定 if (row.isOneWeight == true && row.isFourWeight == true && row.isThreeWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w3 <= 0) { row.w3 = 0 row.r3 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 3班4班锁定1班未锁定 if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == true) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4), 2) row.r1 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w1 <= 0) { row.w1 = 0 row.r1 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班锁定,3班4班未锁 if (row.isOneWeight == true && row.isThreeWeight == false && row.isFourWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 3班锁定,1班4班未锁 if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r2)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 4班锁定,1班3班未锁 if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == true) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r3)), 2) row.r1 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r3)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班3班4班未锁 if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } } else if (this.table.RWLength == 3) { // 三班 // 1班/3班锁定 if (row.isOneWeight == true && row.isThreeWeight == true) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 1班不锁3班锁 if (row.isOneWeight == false && row.isThreeWeight == true) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) if (row.w1 <= 0) { row.w1 = 0 row.r1 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 3班不锁1班锁 if (row.isOneWeight == true && row.isThreeWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w3 <= 0) { row.w3 = 0 row.r3 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 1班3班都不锁 if (row.isOneWeight == false && row.isThreeWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r3)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } } else if (this.table.RWLength == 2) { // 两班 if (row.isTwoWeight == false) { row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w2), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), 2)) } else { row.r2 = parseFloat(row.w2) / parseFloat(row.feedweight) * 100 this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2), 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 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班2班锁定4班未锁定 if (row.isOneWeight == true && row.isTwoWeight == true && row.isFourWeight == false) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) if (row.w4 <= 0) { row.w4 = 0 row.r4 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班4班锁定1班未锁定 if (row.isOneWeight == false && row.isTwoWeight == true && row.isFourWeight == true) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) if (row.w1 <= 0) { row.w1 = 0 row.r1 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班4班锁定2班未锁定 if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == true) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4), 2) row.r2 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w2 <= 0) { row.w2 = 0 row.r2 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班锁定,1班4班未锁 if (row.isTwoWeight == true && row.isOneWeight == false && row.isFourWeight == false) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r4)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班锁定,2班4班未锁 if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == false) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 4班锁定,2班1班未锁 if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == true) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r2)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班1班4班未锁 if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == false) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w4 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4)), 2) row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } } else if (this.table.RWLength == 3) { // 三班 // 1班/2班锁定 if (row.isOneWeight == true && row.isTwoWeight == true) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 1班不锁2班锁 if (row.isOneWeight == false && row.isTwoWeight == true) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) if (row.w1 <= 0) { row.w1 = 0 row.r1 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 3班不锁2班锁 // 2班不锁1班锁 if (row.isOneWeight == true && row.isTwoWeight == false) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) if (row.w2 <= 0) { row.w2 = 0 row.r2 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 2)) } // 2班3班都不锁 // 1班2班都不锁 if (row.isOneWeight == false && row.isTwoWeight == false) { row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3), 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 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班3班锁定1班未锁定 if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == true) { row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) if (row.w1 <= 0) { row.w1 = 0 row.r1 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班1班锁定3班未锁定 if (row.isOneWeight == true && row.isTwoWeight == true && row.isThreeWeight == false) { row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w3 <= 0) { row.w3 = 0 row.r3 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 3班1班锁定2班未锁定 if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == true) { row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum(parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4), 2) row.r2 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) if (row.w2 <= 0) { row.w2 = 0 row.r2 = 0 } this.$set(row, 'sumr', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班锁定,3班1班未锁 if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == false) { row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r1)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 3班锁定,2班1班未锁 if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == true) { row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r1)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r1)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 1班锁定,2班3班未锁 if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == false) { row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } // 2班3班1班未锁 if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == false) { row.r4 = formatNum(parseFloat(row.w4) / parseFloat(row.feedweight) * 100, 2) row.w1 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r1 = formatNum(parseFloat(row.w1) / parseFloat(row.feedweight) * 100, 2) row.w2 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r2 = formatNum(parseFloat(row.w2) / parseFloat(row.feedweight) * 100, 2) row.w3 = formatNum((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1)), 2) row.r3 = formatNum(parseFloat(row.w3) / parseFloat(row.feedweight) * 100, 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', formatNum(parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4), 2)) } } }, // 编辑 handleUpdate(row) { console.log(row) for (let i = 0; i < this.table.list.length; i++) { if (this.table.list[i].Edit == true) { this.$message({ type: 'error', message: '当前内容未保存,请点击取消或保存继续进行操作', duration: 2000 }) return false } } // 编辑true,不可编辑false row.Edit = true row.NoEdit = false // 编辑false,编辑保存true row.isUpdate = false row.isUpdateSave = true row.ftid = String(row.ftid) if (row.ptsfid == '-1') { row.ptsfid = '' } row.ptsfid = String(row.ptsfid) this.table.temp.ftid = row.ftid this.table.temp.ftname = row.ftname this.table.temp.ptsfid = row.ptsfid this.table.temp.ptsfname = row.ptsfname }, updateData(row) { 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 } console.log(this.table.temp.ccount, '实际牛头数不能为空') if (this.table.temp.ccount == '') { this.$message({ type: 'error', message: '实际牛头数不能为空', duration: 2000 }) return false } if (this.table.temp.ratio == '') { this.$message({ type: 'error', message: '系数不能为空', duration: 2000 }) return false } if (this.table.temp.ccountratio == '') { this.$message({ type: 'error', message: '系数头数不能为空', duration: 2000 }) return false } if (this.table.temp.ftid == '') { this.$message({ type: 'error', message: '配方模版不能为空', duration: 2000 }) return false } const positiveInteger = /^[0-9]\d*$/ if (!positiveInteger.test(parseFloat(this.table.temp.ccount))) { this.$message({ type: 'error', message: '实际牛头数请输入正整数', duration: 2000 }) return false } this.isokDisable = true setTimeout(() => { this.isokDisable = false }, 1000) // this.requestParam.parammaps = this.table.temp this.requestParam.common = { 'returnmap': '0' } this.requestParam.data = [] this.requestParam.data[0] = { 'name': 'updateBigFP', 'type': 'e', 'parammaps': { pastureid: row.pastureid, id: row.id, barname: row.barname, barid: row.barid, softccount: row.softccount, ccount: row.ccount, ratio: row.ratio, ccountratio: row.ccountratio, ftid: row.ftid, ftname: row.ftname, ptsfid: row.ptsfid, ptsfname: row.ptsfname, ftweight: row.ftweight, supplyweight: row.supplyweight, feedweight: row.feedweight, owner: row.owner, sumr: row.sumr }} this.requestParam.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.table.rwList }} this.requestParam.data[1].children = [] this.requestParam.data[1].children[0] = { 'name': 'updateBigFPDetail', 'type': 'e', 'parammaps': { pastureid: '@insertSpotList.pastureid', barname: row.barname, barid: '@insertSpotList.barid', times: '@insertSpotList.times', tratio: '@insertSpotList.tratio', weight: '@insertSpotList.weight', cowcount: '@insertSpotList.cowcount', ccountradio: row.ccountratio, ptid: '@insertSpotList.ptid', ptsid: '@insertSpotList.ptsid', 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.getList() } }) }, updateCancel(row) { console.log('点击了编辑取消') // 编辑false,不可编辑true row.Edit = false row.NoEdit = true // 编辑true,编辑保存false row.isUpdate = true row.isUpdateSave = false this.getList() 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.activeName = 'first' this.nutritional.dialogFormVisible = true this.nutritional.tab1.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid this.nutritional.tab1.getdataListParm1.parammaps.barid = this.selectList[0].barid this.getNutritionalList() this.nutritional.tab1.list = [] } }, handleNutritionalTab(item) { if (item == 'first ') { this.nutritional.tab1.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid this.nutritional.tab1.getdataListParm1.parammaps.barid = this.selectList[0].barid this.getNutritionalList() this.nutritional.tab1.list = [] } else { console.log('牛群评估') this.nutritional.tab2.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid this.nutritional.tab2.getdataListParm1.parammaps.barid = this.selectList[0].barid this.nutritional.tab2.getdataListParm1.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}') this.nutritional.tab2.getdataListParm1.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}') this.nutritional.tab2.getdataListParm2.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid this.nutritional.tab2.getdataListParm2.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid this.nutritional.tab2.getdataListParm2.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime this.nutritional.tab2.getdataListParm2.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime this.nutritional.tab2.getdataListParm3.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid this.nutritional.tab2.getdataListParm3.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid this.nutritional.tab2.getdataListParm3.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime this.nutritional.tab2.getdataListParm3.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime this.nutritional.tab2.getdataListParm4.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid this.nutritional.tab2.getdataListParm4.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid this.nutritional.tab2.getdataListParm4.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime this.nutritional.tab2.getdataListParm4.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime this.getTab2NutritionalList1() this.getTab2NutritionalList2() this.getTab2NutritionalList3() this.getTab2NutritionalList4() } }, changeTab2Date() { this.nutritional.tab2.getdataListParm1.parammaps.pastureid = this.selectList[0].pastureid this.nutritional.tab2.getdataListParm1.parammaps.barid = this.selectList[0].barid this.nutritional.tab2.getdataListParm1.parammaps.startTime = parseTime(this.nutritional.tab2.inputDatetime[0], '{y}-{m}-{d}') this.nutritional.tab2.getdataListParm1.parammaps.stopTime = parseTime(this.nutritional.tab2.inputDatetime[1], '{y}-{m}-{d}') this.nutritional.tab2.getdataListParm2.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid this.nutritional.tab2.getdataListParm2.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid this.nutritional.tab2.getdataListParm2.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime this.nutritional.tab2.getdataListParm2.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime this.nutritional.tab2.getdataListParm3.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid this.nutritional.tab2.getdataListParm3.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid this.nutritional.tab2.getdataListParm3.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime this.nutritional.tab2.getdataListParm3.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime this.nutritional.tab2.getdataListParm4.parammaps.pastureid = this.nutritional.tab2.getdataListParm1.parammaps.pastureid this.nutritional.tab2.getdataListParm4.parammaps.barid = this.nutritional.tab2.getdataListParm1.parammaps.barid this.nutritional.tab2.getdataListParm4.parammaps.startTime = this.nutritional.tab2.getdataListParm1.parammaps.startTime this.nutritional.tab2.getdataListParm4.parammaps.stopTime = this.nutritional.tab2.getdataListParm1.parammaps.stopTime this.getTab2NutritionalList1() this.getTab2NutritionalList2() this.getTab2NutritionalList3() this.getTab2NutritionalList4() }, handleBefore() { if (this.nutritional.activeName == 'first') { if (this.nutritional.tab1.inputDatetime !== '' && this.nutritional.tab1.inputDatetime !== null) { var start = new Date(this.nutritional.tab1.inputDatetime[0].setDate(this.nutritional.tab1.inputDatetime[0].getDate() - 1)) var stop = new Date(this.nutritional.tab1.inputDatetime[1].setDate(this.nutritional.tab1.inputDatetime[1].getDate() - 1)) this.nutritional.tab1.inputDatetime.length = 0 this.nutritional.tab1.inputDatetime.push(start, stop) this.$forceUpdate() } } else { var start2 = new Date(this.nutritional.tab2.inputDatetime[0].setDate(this.nutritional.tab2.inputDatetime[0].getDate() - 1)) var stop2 = new Date(this.nutritional.tab2.inputDatetime[1].setDate(this.nutritional.tab2.inputDatetime[1].getDate() - 1)) this.nutritional.tab2.inputDatetime.length = 0 this.nutritional.tab2.inputDatetime.push(start2, stop2) this.$forceUpdate() } }, handleNext() { if (this.nutritional.activeName == 'first') { if (this.nutritional.tab1.inputDatetime !== '' && this.nutritional.tab1.inputDatetime !== null) { console.log(this.nutritional.tab1.inputDatetime) var start3 = new Date(this.nutritional.tab1.inputDatetime[0].setDate(this.nutritional.tab1.inputDatetime[0].getDate() + 1)) var stop3 = new Date(this.nutritional.tab1.inputDatetime[1].setDate(this.nutritional.tab1.inputDatetime[1].getDate() + 1)) this.nutritional.tab1.inputDatetime.length = 0 this.nutritional.tab1.inputDatetime.push(start3, stop3) this.$forceUpdate() } } else { if (this.nutritional.tab2.inputDatetime !== '' && this.nutritional.tab2.inputDatetime !== null) { var start4 = new Date(this.nutritional.tab2.inputDatetime[0].setDate(this.nutritional.tab2.inputDatetime[0].getDate() + 1)) var stop4 = new Date(this.nutritional.tab2.inputDatetime[1].setDate(this.nutritional.tab2.inputDatetime[1].getDate() + 1)) this.nutritional.tab2.inputDatetime.length = 0 this.nutritional.tab2.inputDatetime.push(start4, stop4) this.$forceUpdate() } } }, getNutritionalList() { this.nutritional.tab1.listLoading1 = true GetDataByName(this.nutritional.tab1.getdataListParm1).then(response => { console.log('评估上方数据', response.data.list) if (response.data.list !== null) { response.data.list[0].cowclassid = String(response.data.list[0].cowclassid) this.nutritional.tab1.temp = response.data.list[0] this.nutritional.tab1.disabledCowclass = true } else { this.nutritional.tab1.temp = [] this.nutritional.tab1.disabledCowclass = false } setTimeout(() => { this.nutritional.tab1.listLoading = false }, 100) }) }, assessmentData() { console.log('评估保存') this.$refs['temp'].validate(valid => { if (valid) { if (this.nutritional.tab1.inputDatetime == '' || this.nutritional.tab1.inputDatetime == null) { this.$message({ type: 'error', message: '开始日期结束日期不能为空', duration: 2000 }) return false } else { this.nutritional.tab1.getdataListParm2.parammaps.name = 'judgenurFT' this.nutritional.tab1.getdataListParm2.parammaps.name1 = 'judgenurBarHSL' this.nutritional.tab1.getdataListParm2.parammaps.startTime = parseTime(this.nutritional.tab1.inputDatetime[0], '{y}-{m}-{d}') this.nutritional.tab1.getdataListParm2.parammaps.stopTime = parseTime(this.nutritional.tab1.inputDatetime[1], '{y}-{m}-{d}') this.nutritional.tab1.getdataListParm2.parammaps.bw = parseFloat(this.nutritional.tab1.temp.bw) this.nutritional.tab1.getdataListParm2.parammaps.dayw = parseFloat(this.nutritional.tab1.temp.dayw) this.nutritional.tab1.getdataListParm2.parammaps.fetal = parseFloat(this.nutritional.tab1.temp.fetal) this.nutritional.tab1.getdataListParm2.parammaps.avgdim = parseFloat(this.nutritional.tab1.temp.avgdim) this.nutritional.tab1.getdataListParm2.parammaps.dayspre = parseFloat(this.nutritional.tab1.temp.dayspre) this.nutritional.tab1.getdataListParm2.parammaps.product = parseFloat(this.nutritional.tab1.temp.product) this.nutritional.tab1.getdataListParm2.parammaps.fat = parseFloat(this.nutritional.tab1.temp.fat) this.nutritional.tab1.getdataListParm2.parammaps.pro = parseFloat(this.nutritional.tab1.temp.pro) this.nutritional.tab1.getdataListParm2.parammaps.lactose = parseFloat(this.nutritional.tab1.temp.lactose) this.nutritional.tab1.getdataListParm2.parammaps.source = parseFloat(this.nutritional.tab1.temp.source) this.nutritional.tab1.getdataListParm2.parammaps.tem = parseFloat(this.nutritional.tab1.temp.tem) this.nutritional.tab1.getdataListParm2.parammaps.cowsum = parseFloat(this.nutritional.tab1.temp.cowsum) this.nutritional.tab1.getdataListParm2.parammaps.cowclass = this.nutritional.tab1.temp.cowclass this.nutritional.tab1.getdataListParm2.parammaps.cowclassid = this.nutritional.tab1.temp.cowclassid this.nutritional.tab1.getdataListParm2.parammaps.bigcowclass = this.nutritional.tab1.temp.bigcowclass this.nutritional.tab1.getdataListParm2.parammaps.pastureid = this.selectList[0].pastureid this.nutritional.tab1.getdataListParm2.parammaps.barid = this.nutritional.tab1.temp.barid this.nutritional.tab1.getdataListParm2.parammaps.date = this.nutritional.tab1.temp.date this.getNutritionalList2() } } }) }, getNutritionalList2() { this.nutritional.tab1.listLoading2 = true GETNurJudge(this.nutritional.tab1.getdataListParm2).then(response => { console.log('评估下方数据', response.data) if (response.data.list !== null) { // response.data = response.data.sort(compareSort('sort')) console.log(response.data) this.nutritional.tab1.list = response.data this.nutritional.tab1.total = response.data.total } else { this.nutritional.tab1.list = [] } setTimeout(() => { this.nutritional.tab1.listLoading2 = false }, 100) }) }, // 牛群评估 getTab2NutritionalList1() { this.nutritional.tab2.listLoading1 = true GetDataByName(this.nutritional.tab2.getdataListParm1).then(response => { console.log('宾州筛分析', response.data.list) if (response.data.list !== null) { this.nutritional.tab2.list1 = response.data.list this.nutritional.tab2.pageNum1 = response.data.pageNum this.nutritional.tab2.pageSize1 = response.data.pageSize this.nutritional.tab2.total1 = response.data.total } else { this.nutritional.tab2.list1 = [] } setTimeout(() => { this.nutritional.tab2.listLoading1 = false }, 100) }) }, getTab2NutritionalList2() { this.nutritional.tab2.listLoading2 = true GetDataByName(this.nutritional.tab2.getdataListParm2).then(response => { console.log('粪便筛分析', response.data.list) if (response.data.list !== null) { this.nutritional.tab2.list2 = response.data.list this.nutritional.tab2.pageNum2 = response.data.pageNum this.nutritional.tab2.pageSize2 = response.data.pageSize this.nutritional.tab2.total2 = response.data.total } else { this.nutritional.tab2.list2 = [] } setTimeout(() => { this.nutritional.tab2.listLoading2 = false }, 100) }) }, getTab2NutritionalList3() { this.nutritional.tab2.listLoading3 = true GetDataByName(this.nutritional.tab2.getdataListParm3).then(response => { console.log('BCS评分', response.data.list) if (response.data.list !== null) { this.nutritional.tab2.list3 = response.data.list this.nutritional.tab2.pageNum3 = response.data.pageNum this.nutritional.tab2.pageSize3 = response.data.pageSize this.nutritional.tab2.total3 = response.data.total } else { this.nutritional.tab2.list3 = [] } setTimeout(() => { this.nutritional.tab2.listLoading3 = false }, 100) }) }, getTab2NutritionalList4() { this.nutritional.tab2.listLoading4 = true GetDataByName(this.nutritional.tab2.getdataListParm4).then(response => { console.log('粪便评分', response.data.list) if (response.data.list !== null) { this.nutritional.tab2.list4 = response.data.list this.nutritional.tab2.pageNum4 = response.data.pageNum this.nutritional.tab2.pageSize4 = response.data.pageSize this.nutritional.tab2.total4 = response.data.total } else { this.nutritional.tab2.list4 = [] } setTimeout(() => { this.nutritional.tab2.listLoading4 = false }, 100) }) }, // 历史记录 handleHistoryRecords() { console.log('点击了历史记录') this.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.getList() } }) }).catch(() => { this.$message({ type: 'info', message: '已取消应用' }) }) }, // 导出 handleExport(item) { if (item == 1) { console.log('点击了导出模板') } else { console.log('点击了导出数据') } }, // 导入 handleImport() { console.log('点击了导入') } } } </script> <style lang="scss" scoped> .search { clear: both; } .table { margin-top: 10px; } </style>